diff -Nru mysql-5.7-5.7.33/BUILD/autorun.sh mysql-5.7-5.7.34/BUILD/autorun.sh --- mysql-5.7-5.7.33/BUILD/autorun.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/autorun.sh 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/cmake_configure.sh mysql-5.7-5.7.34/BUILD/cmake_configure.sh --- mysql-5.7-5.7.33/BUILD/cmake_configure.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/cmake_configure.sh 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/compile-dist mysql-5.7-5.7.34/BUILD/compile-dist --- mysql-5.7-5.7.33/BUILD/compile-dist 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/compile-dist 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/compile-pentium mysql-5.7-5.7.34/BUILD/compile-pentium --- mysql-5.7-5.7.33/BUILD/compile-pentium 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/compile-pentium 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/compile-pentium64 mysql-5.7-5.7.34/BUILD/compile-pentium64 --- mysql-5.7-5.7.33/BUILD/compile-pentium64 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/compile-pentium64 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2002, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/compile-pentium-debug mysql-5.7-5.7.34/BUILD/compile-pentium-debug --- mysql-5.7-5.7.33/BUILD/compile-pentium-debug 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/compile-pentium-debug 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/compile-pentium-debug-max mysql-5.7-5.7.34/BUILD/compile-pentium-debug-max --- mysql-5.7-5.7.33/BUILD/compile-pentium-debug-max 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/compile-pentium-debug-max 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2001, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/compile-pentium-debug-max-no-ndb mysql-5.7-5.7.34/BUILD/compile-pentium-debug-max-no-ndb --- mysql-5.7-5.7.33/BUILD/compile-pentium-debug-max-no-ndb 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/compile-pentium-debug-max-no-ndb 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2001, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/compile-pentium-gcov mysql-5.7-5.7.34/BUILD/compile-pentium-gcov --- mysql-5.7-5.7.33/BUILD/compile-pentium-gcov 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/compile-pentium-gcov 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/compile-pentium-gprof mysql-5.7-5.7.34/BUILD/compile-pentium-gprof --- mysql-5.7-5.7.33/BUILD/compile-pentium-gprof 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/compile-pentium-gprof 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/compile-pentium-valgrind-max mysql-5.7-5.7.34/BUILD/compile-pentium-valgrind-max --- mysql-5.7-5.7.33/BUILD/compile-pentium-valgrind-max 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/compile-pentium-valgrind-max 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2002, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/compile-pentium-valgrind-max-no-ndb mysql-5.7-5.7.34/BUILD/compile-pentium-valgrind-max-no-ndb --- mysql-5.7-5.7.33/BUILD/compile-pentium-valgrind-max-no-ndb 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/compile-pentium-valgrind-max-no-ndb 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/BUILD/SETUP.sh mysql-5.7-5.7.34/BUILD/SETUP.sh --- mysql-5.7-5.7.33/BUILD/SETUP.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/BUILD/SETUP.sh 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/auth_utils.cc mysql-5.7-5.7.34/client/auth_utils.cc --- mysql-5.7-5.7.33/client/auth_utils.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/auth_utils.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/auth_utils.h mysql-5.7-5.7.34/client/auth_utils.h --- mysql-5.7-5.7.33/client/auth_utils.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/auth_utils.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/abstract_connection_program.cc mysql-5.7-5.7.34/client/base/abstract_connection_program.cc --- mysql-5.7-5.7.33/client/base/abstract_connection_program.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_connection_program.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/abstract_connection_program.h mysql-5.7-5.7.34/client/base/abstract_connection_program.h --- mysql-5.7-5.7.33/client/base/abstract_connection_program.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_connection_program.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/abstract_enum_option.h mysql-5.7-5.7.34/client/base/abstract_enum_option.h --- mysql-5.7-5.7.33/client/base/abstract_enum_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_enum_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/abstract_integer_number_option.h mysql-5.7-5.7.34/client/base/abstract_integer_number_option.h --- mysql-5.7-5.7.33/client/base/abstract_integer_number_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_integer_number_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/abstract_number_option.h mysql-5.7-5.7.34/client/base/abstract_number_option.h --- mysql-5.7-5.7.33/client/base/abstract_number_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_number_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/abstract_option.h mysql-5.7-5.7.34/client/base/abstract_option.h --- mysql-5.7-5.7.33/client/base/abstract_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -180,7 +180,7 @@ Abstract_option::set_option_changed_listener( I_option_changed_listener* listener) { - DBUG_ASSERT(this->m_option_changed_listener == NULL); + assert(this->m_option_changed_listener == NULL); this->m_option_changed_listener= listener; } diff -Nru mysql-5.7-5.7.33/client/base/abstract_options_provider.cc mysql-5.7-5.7.34/client/base/abstract_options_provider.cc --- mysql-5.7-5.7.33/client/base/abstract_options_provider.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_options_provider.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -154,7 +154,7 @@ void Abstract_options_provider::set_option_changed_listener(I_option_changed_listener* listener) { - DBUG_ASSERT(this->m_option_changed_listener == NULL); + assert(this->m_option_changed_listener == NULL); this->m_option_changed_listener= listener; } diff -Nru mysql-5.7-5.7.33/client/base/abstract_options_provider.h mysql-5.7-5.7.34/client/base/abstract_options_provider.h --- mysql-5.7-5.7.33/client/base/abstract_options_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_options_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/abstract_program.cc mysql-5.7-5.7.34/client/base/abstract_program.cc --- mysql-5.7-5.7.33/client/base/abstract_program.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_program.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/abstract_program.h mysql-5.7-5.7.34/client/base/abstract_program.h --- mysql-5.7-5.7.33/client/base/abstract_program.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_program.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/abstract_string_option.h mysql-5.7-5.7.34/client/base/abstract_string_option.h --- mysql-5.7-5.7.33/client/base/abstract_string_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_string_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/abstract_value_option.h mysql-5.7-5.7.34/client/base/abstract_value_option.h --- mysql-5.7-5.7.33/client/base/abstract_value_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/abstract_value_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/atomic.h mysql-5.7-5.7.34/client/base/atomic.h --- mysql-5.7-5.7.33/client/base/atomic.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/atomic.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/bool_option.cc mysql-5.7-5.7.34/client/base/bool_option.cc --- mysql-5.7-5.7.33/client/base/bool_option.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/bool_option.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/bool_option.h mysql-5.7-5.7.34/client/base/bool_option.h --- mysql-5.7-5.7.33/client/base/bool_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/bool_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/char_array_option.cc mysql-5.7-5.7.34/client/base/char_array_option.cc --- mysql-5.7-5.7.33/client/base/char_array_option.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/char_array_option.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/char_array_option.h mysql-5.7-5.7.34/client/base/char_array_option.h --- mysql-5.7-5.7.33/client/base/char_array_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/char_array_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/CMakeLists.txt mysql-5.7-5.7.34/client/base/CMakeLists.txt --- mysql-5.7-5.7.33/client/base/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2014, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/composite_options_provider.cc mysql-5.7-5.7.34/client/base/composite_options_provider.cc --- mysql-5.7-5.7.33/client/base/composite_options_provider.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/composite_options_provider.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -33,7 +33,7 @@ void Composite_options_provider::add_providers( I_options_provider* first, ...) { - DBUG_ASSERT(this->m_options_providers.size() == 0); + assert(this->m_options_providers.size() == 0); va_list options_to_add; va_start(options_to_add, first); diff -Nru mysql-5.7-5.7.33/client/base/composite_options_provider.h mysql-5.7-5.7.34/client/base/composite_options_provider.h --- mysql-5.7-5.7.33/client/base/composite_options_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/composite_options_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/debug_options.cc mysql-5.7-5.7.34/client/base/debug_options.cc --- mysql-5.7-5.7.33/client/base/debug_options.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/debug_options.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -55,7 +55,7 @@ void Debug_options::create_options() { -#ifdef DBUG_OFF +#ifdef NDEBUG this->create_new_disabled_option("debug", "This is a non-debug version. Catch this and exit.") ->set_short_character('#'); diff -Nru mysql-5.7-5.7.33/client/base/debug_options.h mysql-5.7-5.7.34/client/base/debug_options.h --- mysql-5.7-5.7.33/client/base/debug_options.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/debug_options.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/disabled_option.cc mysql-5.7-5.7.34/client/base/disabled_option.cc --- mysql-5.7-5.7.33/client/base/disabled_option.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/disabled_option.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/disabled_option.h mysql-5.7-5.7.34/client/base/disabled_option.h --- mysql-5.7-5.7.33/client/base/disabled_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/disabled_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/enum_option.h mysql-5.7-5.7.34/client/base/enum_option.h --- mysql-5.7-5.7.33/client/base/enum_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/enum_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/help_options.cc mysql-5.7-5.7.34/client/base/help_options.cc --- mysql-5.7-5.7.33/client/base/help_options.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/help_options.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/help_options.h mysql-5.7-5.7.34/client/base/help_options.h --- mysql-5.7-5.7.33/client/base/help_options.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/help_options.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/i_connection_factory.h mysql-5.7-5.7.34/client/base/i_connection_factory.h --- mysql-5.7-5.7.33/client/base/i_connection_factory.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/i_connection_factory.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/i_option.cc mysql-5.7-5.7.34/client/base/i_option.cc --- mysql-5.7-5.7.33/client/base/i_option.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/i_option.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/i_option_changed_listener.h mysql-5.7-5.7.34/client/base/i_option_changed_listener.h --- mysql-5.7-5.7.33/client/base/i_option_changed_listener.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/i_option_changed_listener.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/i_option.h mysql-5.7-5.7.34/client/base/i_option.h --- mysql-5.7-5.7.33/client/base/i_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/i_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/i_options_provider.h mysql-5.7-5.7.34/client/base/i_options_provider.h --- mysql-5.7-5.7.33/client/base/i_options_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/i_options_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/message_data.cc mysql-5.7-5.7.34/client/base/message_data.cc --- mysql-5.7-5.7.33/client/base/message_data.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/message_data.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/message_data.h mysql-5.7-5.7.34/client/base/message_data.h --- mysql-5.7-5.7.33/client/base/message_data.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/message_data.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014,2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/mutex.cc mysql-5.7-5.7.34/client/base/mutex.cc --- mysql-5.7-5.7.33/client/base/mutex.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/mutex.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/mutex.h mysql-5.7-5.7.34/client/base/mutex.h --- mysql-5.7-5.7.33/client/base/mutex.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/mutex.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/mysql_connection_options.cc mysql-5.7-5.7.34/client/base/mysql_connection_options.cc --- mysql-5.7-5.7.33/client/base/mysql_connection_options.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/mysql_connection_options.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/mysql_connection_options.h mysql-5.7-5.7.34/client/base/mysql_connection_options.h --- mysql-5.7-5.7.33/client/base/mysql_connection_options.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/mysql_connection_options.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/mysql_query_runner.cc mysql-5.7-5.7.34/client/base/mysql_query_runner.cc --- mysql-5.7-5.7.33/client/base/mysql_query_runner.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/mysql_query_runner.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/mysql_query_runner.h mysql-5.7-5.7.34/client/base/mysql_query_runner.h --- mysql-5.7-5.7.33/client/base/mysql_query_runner.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/mysql_query_runner.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/number_option.h mysql-5.7-5.7.34/client/base/number_option.h --- mysql-5.7-5.7.33/client/base/number_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/number_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/password_option.cc mysql-5.7-5.7.34/client/base/password_option.cc --- mysql-5.7-5.7.33/client/base/password_option.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/password_option.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/password_option.h mysql-5.7-5.7.34/client/base/password_option.h --- mysql-5.7-5.7.33/client/base/password_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/password_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/show_variable_query_extractor.cc mysql-5.7-5.7.34/client/base/show_variable_query_extractor.cc --- mysql-5.7-5.7.33/client/base/show_variable_query_extractor.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/show_variable_query_extractor.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/show_variable_query_extractor.h mysql-5.7-5.7.34/client/base/show_variable_query_extractor.h --- mysql-5.7-5.7.33/client/base/show_variable_query_extractor.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/show_variable_query_extractor.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/simple_option.cc mysql-5.7-5.7.34/client/base/simple_option.cc --- mysql-5.7-5.7.33/client/base/simple_option.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/simple_option.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/simple_option.h mysql-5.7-5.7.34/client/base/simple_option.h --- mysql-5.7-5.7.33/client/base/simple_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/simple_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/ssl_options.cc mysql-5.7-5.7.34/client/base/ssl_options.cc --- mysql-5.7-5.7.33/client/base/ssl_options.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/ssl_options.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/string_option.cc mysql-5.7-5.7.34/client/base/string_option.cc --- mysql-5.7-5.7.33/client/base/string_option.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/string_option.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/base/string_option.h mysql-5.7-5.7.34/client/base/string_option.h --- mysql-5.7-5.7.33/client/base/string_option.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/base/string_option.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/check/mysqlcheck.cc mysql-5.7-5.7.34/client/check/mysqlcheck.cc --- mysql-5.7-5.7.33/client/check/mysqlcheck.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/check/mysqlcheck.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -104,7 +104,7 @@ "Check several databases. Note the difference in usage; in this case no tables are given. All name arguments are regarded as database names.", &opt_databases, &opt_databases, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, {"debug-check", OPT_DEBUG_CHECK, "This is a non-debug version. Catch this and exit.", diff -Nru mysql-5.7-5.7.33/client/check/mysqlcheck_core.cc mysql-5.7-5.7.34/client/check/mysqlcheck_core.cc --- mysql-5.7-5.7.33/client/check/mysqlcheck_core.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/check/mysqlcheck_core.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/check/mysqlcheck.h mysql-5.7-5.7.34/client/check/mysqlcheck.h --- mysql-5.7-5.7.33/client/check/mysqlcheck.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/check/mysqlcheck.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/client_priv.h mysql-5.7-5.7.34/client/client_priv.h --- mysql-5.7-5.7.33/client/client_priv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/client_priv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/CMakeLists.txt mysql-5.7-5.7.34/client/CMakeLists.txt --- mysql-5.7-5.7.33/client/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/completion_hash.cc mysql-5.7-5.7.34/client/completion_hash.cc --- mysql-5.7-5.7.33/client/completion_hash.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/completion_hash.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/completion_hash.h mysql-5.7-5.7.34/client/completion_hash.h --- mysql-5.7-5.7.33/client/completion_hash.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/completion_hash.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000-2002, 2006 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/client/dump/abstract_chain_element.cc mysql-5.7-5.7.34/client/dump/abstract_chain_element.cc --- mysql-5.7-5.7.33/client/dump/abstract_chain_element.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_chain_element.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2017 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_chain_element.h mysql-5.7-5.7.34/client/dump/abstract_chain_element.h --- mysql-5.7-5.7.33/client/dump/abstract_chain_element.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_chain_element.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_connection_provider.cc mysql-5.7-5.7.34/client/dump/abstract_connection_provider.cc --- mysql-5.7-5.7.33/client/dump/abstract_connection_provider.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_connection_provider.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_connection_provider.h mysql-5.7-5.7.34/client/dump/abstract_connection_provider.h --- mysql-5.7-5.7.33/client/dump/abstract_connection_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_connection_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_crawler.cc mysql-5.7-5.7.34/client/dump/abstract_crawler.cc --- mysql-5.7-5.7.33/client/dump/abstract_crawler.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_crawler.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_crawler.h mysql-5.7-5.7.34/client/dump/abstract_crawler.h --- mysql-5.7-5.7.33/client/dump/abstract_crawler.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_crawler.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_database_dump_task.cc mysql-5.7-5.7.34/client/dump/abstract_database_dump_task.cc --- mysql-5.7-5.7.33/client/dump/abstract_database_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_database_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_database_dump_task.h mysql-5.7-5.7.34/client/dump/abstract_database_dump_task.h --- mysql-5.7-5.7.33/client/dump/abstract_database_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_database_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_data_formatter_wrapper.cc mysql-5.7-5.7.34/client/dump/abstract_data_formatter_wrapper.cc --- mysql-5.7-5.7.33/client/dump/abstract_data_formatter_wrapper.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_data_formatter_wrapper.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_data_formatter_wrapper.h mysql-5.7-5.7.34/client/dump/abstract_data_formatter_wrapper.h --- mysql-5.7-5.7.33/client/dump/abstract_data_formatter_wrapper.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_data_formatter_wrapper.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_data_object.cc mysql-5.7-5.7.34/client/dump/abstract_data_object.cc --- mysql-5.7-5.7.33/client/dump/abstract_data_object.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_data_object.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_data_object.h mysql-5.7-5.7.34/client/dump/abstract_data_object.h --- mysql-5.7-5.7.33/client/dump/abstract_data_object.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_data_object.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_dump_task.cc mysql-5.7-5.7.34/client/dump/abstract_dump_task.cc --- mysql-5.7-5.7.33/client/dump/abstract_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_dump_task.h mysql-5.7-5.7.34/client/dump/abstract_dump_task.h --- mysql-5.7-5.7.33/client/dump/abstract_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_mysql_chain_element_extension.cc mysql-5.7-5.7.34/client/dump/abstract_mysql_chain_element_extension.cc --- mysql-5.7-5.7.33/client/dump/abstract_mysql_chain_element_extension.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_mysql_chain_element_extension.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_mysql_chain_element_extension.h mysql-5.7-5.7.34/client/dump/abstract_mysql_chain_element_extension.h --- mysql-5.7-5.7.33/client/dump/abstract_mysql_chain_element_extension.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_mysql_chain_element_extension.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_object_reader_wrapper.cc mysql-5.7-5.7.34/client/dump/abstract_object_reader_wrapper.cc --- mysql-5.7-5.7.33/client/dump/abstract_object_reader_wrapper.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_object_reader_wrapper.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_object_reader_wrapper.h mysql-5.7-5.7.34/client/dump/abstract_object_reader_wrapper.h --- mysql-5.7-5.7.33/client/dump/abstract_object_reader_wrapper.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_object_reader_wrapper.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_output_writer_wrapper.cc mysql-5.7-5.7.34/client/dump/abstract_output_writer_wrapper.cc --- mysql-5.7-5.7.33/client/dump/abstract_output_writer_wrapper.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_output_writer_wrapper.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_output_writer_wrapper.h mysql-5.7-5.7.34/client/dump/abstract_output_writer_wrapper.h --- mysql-5.7-5.7.33/client/dump/abstract_output_writer_wrapper.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_output_writer_wrapper.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_plain_sql_object.cc mysql-5.7-5.7.34/client/dump/abstract_plain_sql_object.cc --- mysql-5.7-5.7.33/client/dump/abstract_plain_sql_object.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_plain_sql_object.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_plain_sql_object_dump_task.cc mysql-5.7-5.7.34/client/dump/abstract_plain_sql_object_dump_task.cc --- mysql-5.7-5.7.33/client/dump/abstract_plain_sql_object_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_plain_sql_object_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_plain_sql_object_dump_task.h mysql-5.7-5.7.34/client/dump/abstract_plain_sql_object_dump_task.h --- mysql-5.7-5.7.33/client/dump/abstract_plain_sql_object_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_plain_sql_object_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_plain_sql_object.h mysql-5.7-5.7.34/client/dump/abstract_plain_sql_object.h --- mysql-5.7-5.7.33/client/dump/abstract_plain_sql_object.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_plain_sql_object.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_progress_reporter.cc mysql-5.7-5.7.34/client/dump/abstract_progress_reporter.cc --- mysql-5.7-5.7.33/client/dump/abstract_progress_reporter.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_progress_reporter.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_progress_reporter.h mysql-5.7-5.7.34/client/dump/abstract_progress_reporter.h --- mysql-5.7-5.7.33/client/dump/abstract_progress_reporter.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_progress_reporter.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_progress_watcher.cc mysql-5.7-5.7.34/client/dump/abstract_progress_watcher.cc --- mysql-5.7-5.7.33/client/dump/abstract_progress_watcher.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_progress_watcher.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2017, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_progress_watcher.h mysql-5.7-5.7.34/client/dump/abstract_progress_watcher.h --- mysql-5.7-5.7.33/client/dump/abstract_progress_watcher.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_progress_watcher.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_simple_dump_task.cc mysql-5.7-5.7.34/client/dump/abstract_simple_dump_task.cc --- mysql-5.7-5.7.33/client/dump/abstract_simple_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_simple_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_simple_dump_task.h mysql-5.7-5.7.34/client/dump/abstract_simple_dump_task.h --- mysql-5.7-5.7.33/client/dump/abstract_simple_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_simple_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_table_dump_task.cc mysql-5.7-5.7.34/client/dump/abstract_table_dump_task.cc --- mysql-5.7-5.7.33/client/dump/abstract_table_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_table_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/abstract_table_dump_task.h mysql-5.7-5.7.34/client/dump/abstract_table_dump_task.h --- mysql-5.7-5.7.33/client/dump/abstract_table_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/abstract_table_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/chain_data.cc mysql-5.7-5.7.34/client/dump/chain_data.cc --- mysql-5.7-5.7.33/client/dump/chain_data.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/chain_data.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/chain_data.h mysql-5.7-5.7.34/client/dump/chain_data.h --- mysql-5.7-5.7.33/client/dump/chain_data.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/chain_data.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/CMakeLists.txt mysql-5.7-5.7.34/client/dump/CMakeLists.txt --- mysql-5.7-5.7.33/client/dump/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/composite_message_handler.cc mysql-5.7-5.7.34/client/dump/composite_message_handler.cc --- mysql-5.7-5.7.33/client/dump/composite_message_handler.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/composite_message_handler.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/composite_message_handler.h mysql-5.7-5.7.34/client/dump/composite_message_handler.h --- mysql-5.7-5.7.33/client/dump/composite_message_handler.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/composite_message_handler.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/compression_lz4_writer.cc mysql-5.7-5.7.34/client/dump/compression_lz4_writer.cc --- mysql-5.7-5.7.33/client/dump/compression_lz4_writer.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/compression_lz4_writer.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/compression_lz4_writer.h mysql-5.7-5.7.34/client/dump/compression_lz4_writer.h --- mysql-5.7-5.7.33/client/dump/compression_lz4_writer.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/compression_lz4_writer.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/compression_zlib_writer.cc mysql-5.7-5.7.34/client/dump/compression_zlib_writer.cc --- mysql-5.7-5.7.33/client/dump/compression_zlib_writer.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/compression_zlib_writer.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/compression_zlib_writer.h mysql-5.7-5.7.34/client/dump/compression_zlib_writer.h --- mysql-5.7-5.7.33/client/dump/compression_zlib_writer.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/compression_zlib_writer.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/database.cc mysql-5.7-5.7.34/client/dump/database.cc --- mysql-5.7-5.7.33/client/dump/database.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/database.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/database_end_dump_task.cc mysql-5.7-5.7.34/client/dump/database_end_dump_task.cc --- mysql-5.7-5.7.33/client/dump/database_end_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/database_end_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/database_end_dump_task.h mysql-5.7-5.7.34/client/dump/database_end_dump_task.h --- mysql-5.7-5.7.33/client/dump/database_end_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/database_end_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/database.h mysql-5.7-5.7.34/client/dump/database.h --- mysql-5.7-5.7.33/client/dump/database.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/database.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/database_start_dump_task.cc mysql-5.7-5.7.34/client/dump/database_start_dump_task.cc --- mysql-5.7-5.7.33/client/dump/database_start_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/database_start_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/database_start_dump_task.h mysql-5.7-5.7.34/client/dump/database_start_dump_task.h --- mysql-5.7-5.7.33/client/dump/database_start_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/database_start_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/dump_end_dump_task.cc mysql-5.7-5.7.34/client/dump/dump_end_dump_task.cc --- mysql-5.7-5.7.33/client/dump/dump_end_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/dump_end_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/dump_end_dump_task.h mysql-5.7-5.7.34/client/dump/dump_end_dump_task.h --- mysql-5.7-5.7.33/client/dump/dump_end_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/dump_end_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/dump_start_dump_task.cc mysql-5.7-5.7.34/client/dump/dump_start_dump_task.cc --- mysql-5.7-5.7.33/client/dump/dump_start_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/dump_start_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/dump_start_dump_task.h mysql-5.7-5.7.34/client/dump/dump_start_dump_task.h --- mysql-5.7-5.7.33/client/dump/dump_start_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/dump_start_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/event_scheduler_event.cc mysql-5.7-5.7.34/client/dump/event_scheduler_event.cc --- mysql-5.7-5.7.33/client/dump/event_scheduler_event.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/event_scheduler_event.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/event_scheduler_event.h mysql-5.7-5.7.34/client/dump/event_scheduler_event.h --- mysql-5.7-5.7.33/client/dump/event_scheduler_event.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/event_scheduler_event.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/field.cc mysql-5.7-5.7.34/client/dump/field.cc --- mysql-5.7-5.7.33/client/dump/field.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/field.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/field.h mysql-5.7-5.7.34/client/dump/field.h --- mysql-5.7-5.7.33/client/dump/field.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/field.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/file_writer.cc mysql-5.7-5.7.34/client/dump/file_writer.cc --- mysql-5.7-5.7.33/client/dump/file_writer.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/file_writer.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/file_writer.h mysql-5.7-5.7.34/client/dump/file_writer.h --- mysql-5.7-5.7.33/client/dump/file_writer.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/file_writer.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_chain_element.cc mysql-5.7-5.7.34/client/dump/i_chain_element.cc --- mysql-5.7-5.7.33/client/dump/i_chain_element.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_chain_element.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_chain_element.h mysql-5.7-5.7.34/client/dump/i_chain_element.h --- mysql-5.7-5.7.33/client/dump/i_chain_element.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_chain_element.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_chain_maker.h mysql-5.7-5.7.34/client/dump/i_chain_maker.h --- mysql-5.7-5.7.33/client/dump/i_chain_maker.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_chain_maker.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_connection_provider.cc mysql-5.7-5.7.34/client/dump/i_connection_provider.cc --- mysql-5.7-5.7.33/client/dump/i_connection_provider.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_connection_provider.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_connection_provider.h mysql-5.7-5.7.34/client/dump/i_connection_provider.h --- mysql-5.7-5.7.33/client/dump/i_connection_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_connection_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_crawler.cc mysql-5.7-5.7.34/client/dump/i_crawler.cc --- mysql-5.7-5.7.33/client/dump/i_crawler.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_crawler.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_crawler.h mysql-5.7-5.7.34/client/dump/i_crawler.h --- mysql-5.7-5.7.33/client/dump/i_crawler.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_crawler.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_data_formatter.cc mysql-5.7-5.7.34/client/dump/i_data_formatter.cc --- mysql-5.7-5.7.33/client/dump/i_data_formatter.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_data_formatter.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_data_formatter.h mysql-5.7-5.7.34/client/dump/i_data_formatter.h --- mysql-5.7-5.7.33/client/dump/i_data_formatter.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_data_formatter.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_data_formatter_wrapper.cc mysql-5.7-5.7.34/client/dump/i_data_formatter_wrapper.cc --- mysql-5.7-5.7.33/client/dump/i_data_formatter_wrapper.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_data_formatter_wrapper.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_data_formatter_wrapper.h mysql-5.7-5.7.34/client/dump/i_data_formatter_wrapper.h --- mysql-5.7-5.7.33/client/dump/i_data_formatter_wrapper.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_data_formatter_wrapper.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_data_object.cc mysql-5.7-5.7.34/client/dump/i_data_object.cc --- mysql-5.7-5.7.33/client/dump/i_data_object.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_data_object.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_data_object.h mysql-5.7-5.7.34/client/dump/i_data_object.h --- mysql-5.7-5.7.33/client/dump/i_data_object.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_data_object.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_dump_task.cc mysql-5.7-5.7.34/client/dump/i_dump_task.cc --- mysql-5.7-5.7.33/client/dump/i_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_dump_task.h mysql-5.7-5.7.34/client/dump/i_dump_task.h --- mysql-5.7-5.7.33/client/dump/i_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_object_reader.cc mysql-5.7-5.7.34/client/dump/i_object_reader.cc --- mysql-5.7-5.7.33/client/dump/i_object_reader.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_object_reader.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_object_reader.h mysql-5.7-5.7.34/client/dump/i_object_reader.h --- mysql-5.7-5.7.33/client/dump/i_object_reader.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_object_reader.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_object_reader_wrapper.cc mysql-5.7-5.7.34/client/dump/i_object_reader_wrapper.cc --- mysql-5.7-5.7.33/client/dump/i_object_reader_wrapper.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_object_reader_wrapper.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_object_reader_wrapper.h mysql-5.7-5.7.34/client/dump/i_object_reader_wrapper.h --- mysql-5.7-5.7.33/client/dump/i_object_reader_wrapper.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_object_reader_wrapper.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_output_writer.cc mysql-5.7-5.7.34/client/dump/i_output_writer.cc --- mysql-5.7-5.7.33/client/dump/i_output_writer.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_output_writer.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_output_writer.h mysql-5.7-5.7.34/client/dump/i_output_writer.h --- mysql-5.7-5.7.33/client/dump/i_output_writer.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_output_writer.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_output_writer_wrapper.cc mysql-5.7-5.7.34/client/dump/i_output_writer_wrapper.cc --- mysql-5.7-5.7.33/client/dump/i_output_writer_wrapper.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_output_writer_wrapper.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_output_writer_wrapper.h mysql-5.7-5.7.34/client/dump/i_output_writer_wrapper.h --- mysql-5.7-5.7.33/client/dump/i_output_writer_wrapper.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_output_writer_wrapper.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_progress_reporter.cc mysql-5.7-5.7.34/client/dump/i_progress_reporter.cc --- mysql-5.7-5.7.33/client/dump/i_progress_reporter.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_progress_reporter.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_progress_reporter.h mysql-5.7-5.7.34/client/dump/i_progress_reporter.h --- mysql-5.7-5.7.33/client/dump/i_progress_reporter.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_progress_reporter.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_progress_watcher.cc mysql-5.7-5.7.34/client/dump/i_progress_watcher.cc --- mysql-5.7-5.7.33/client/dump/i_progress_watcher.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_progress_watcher.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/i_progress_watcher.h mysql-5.7-5.7.34/client/dump/i_progress_watcher.h --- mysql-5.7-5.7.33/client/dump/i_progress_watcher.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/i_progress_watcher.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/item_processing_data.cc mysql-5.7-5.7.34/client/dump/item_processing_data.cc --- mysql-5.7-5.7.33/client/dump/item_processing_data.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/item_processing_data.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/item_processing_data.h mysql-5.7-5.7.34/client/dump/item_processing_data.h --- mysql-5.7-5.7.33/client/dump/item_processing_data.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/item_processing_data.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_chain_element_options.cc mysql-5.7-5.7.34/client/dump/mysql_chain_element_options.cc --- mysql-5.7-5.7.33/client/dump/mysql_chain_element_options.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_chain_element_options.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_chain_element_options.h mysql-5.7-5.7.34/client/dump/mysql_chain_element_options.h --- mysql-5.7-5.7.33/client/dump/mysql_chain_element_options.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_chain_element_options.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_crawler.cc mysql-5.7-5.7.34/client/dump/mysql_crawler.cc --- mysql-5.7-5.7.33/client/dump/mysql_crawler.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_crawler.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2020 Oracle and/or its affiliates. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_crawler.h mysql-5.7-5.7.34/client/dump/mysql_crawler.h --- mysql-5.7-5.7.33/client/dump/mysql_crawler.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_crawler.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2020 Oracle and/or its affiliates. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysqldump_tool_chain_maker.cc mysql-5.7-5.7.34/client/dump/mysqldump_tool_chain_maker.cc --- mysql-5.7-5.7.33/client/dump/mysqldump_tool_chain_maker.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysqldump_tool_chain_maker.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2020 Oracle and/or its affiliates. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysqldump_tool_chain_maker.h mysql-5.7-5.7.34/client/dump/mysqldump_tool_chain_maker.h --- mysql-5.7-5.7.33/client/dump/mysqldump_tool_chain_maker.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysqldump_tool_chain_maker.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysqldump_tool_chain_maker_options.cc mysql-5.7-5.7.34/client/dump/mysqldump_tool_chain_maker_options.cc --- mysql-5.7-5.7.33/client/dump/mysqldump_tool_chain_maker_options.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysqldump_tool_chain_maker_options.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysqldump_tool_chain_maker_options.h mysql-5.7-5.7.34/client/dump/mysqldump_tool_chain_maker_options.h --- mysql-5.7-5.7.33/client/dump/mysqldump_tool_chain_maker_options.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysqldump_tool_chain_maker_options.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_field.cc mysql-5.7-5.7.34/client/dump/mysql_field.cc --- mysql-5.7-5.7.33/client/dump/mysql_field.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_field.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_field.h mysql-5.7-5.7.34/client/dump/mysql_field.h --- mysql-5.7-5.7.33/client/dump/mysql_field.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_field.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_function.cc mysql-5.7-5.7.34/client/dump/mysql_function.cc --- mysql-5.7-5.7.33/client/dump/mysql_function.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_function.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_function.h mysql-5.7-5.7.34/client/dump/mysql_function.h --- mysql-5.7-5.7.33/client/dump/mysql_function.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_function.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_object_reader.cc mysql-5.7-5.7.34/client/dump/mysql_object_reader.cc --- mysql-5.7-5.7.33/client/dump/mysql_object_reader.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_object_reader.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_object_reader.h mysql-5.7-5.7.34/client/dump/mysql_object_reader.h --- mysql-5.7-5.7.33/client/dump/mysql_object_reader.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_object_reader.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_object_reader_options.cc mysql-5.7-5.7.34/client/dump/mysql_object_reader_options.cc --- mysql-5.7-5.7.33/client/dump/mysql_object_reader_options.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_object_reader_options.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/mysql_object_reader_options.h mysql-5.7-5.7.34/client/dump/mysql_object_reader_options.h --- mysql-5.7-5.7.33/client/dump/mysql_object_reader_options.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/mysql_object_reader_options.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/object_filter.cc mysql-5.7-5.7.34/client/dump/object_filter.cc --- mysql-5.7-5.7.33/client/dump/object_filter.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/object_filter.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/object_filter.h mysql-5.7-5.7.34/client/dump/object_filter.h --- mysql-5.7-5.7.33/client/dump/object_filter.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/object_filter.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/object_queue.cc mysql-5.7-5.7.34/client/dump/object_queue.cc --- mysql-5.7-5.7.33/client/dump/object_queue.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/object_queue.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -161,13 +161,21 @@ In case of error we stop all the running queues. Make sure the cleanup of the items is done properly. */ - while (m_items_ready_for_processing.size() > 0) - { - Item_processing_data * item_to_process= m_items_ready_for_processing.front(); - m_items_ready_for_processing.pop(); - this->object_processing_ends(item_to_process); + if (m_is_queue_running) { + Item_processing_data *item_to_process= NULL; + do + { + { + my_boost::mutex::scoped_lock lock(m_queue_mutex); + if (m_items_ready_for_processing.size() == 0) + break; + item_to_process = m_items_ready_for_processing.front(); + m_items_ready_for_processing.pop(); + } + this->object_processing_ends(item_to_process); + } while(item_to_process != NULL); + m_is_queue_running = false; } - m_is_queue_running= false; } Object_queue::~Object_queue() diff -Nru mysql-5.7-5.7.33/client/dump/object_queue.h mysql-5.7-5.7.34/client/dump/object_queue.h --- mysql-5.7-5.7.33/client/dump/object_queue.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/object_queue.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/pattern_matcher.cc mysql-5.7-5.7.34/client/dump/pattern_matcher.cc --- mysql-5.7-5.7.33/client/dump/pattern_matcher.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/pattern_matcher.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/pattern_matcher.h mysql-5.7-5.7.34/client/dump/pattern_matcher.h --- mysql-5.7-5.7.33/client/dump/pattern_matcher.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/pattern_matcher.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/privilege.cc mysql-5.7-5.7.34/client/dump/privilege.cc --- mysql-5.7-5.7.33/client/dump/privilege.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/privilege.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/privilege.h mysql-5.7-5.7.34/client/dump/privilege.h --- mysql-5.7-5.7.33/client/dump/privilege.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/privilege.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/program.cc mysql-5.7-5.7.34/client/dump/program.cc --- mysql-5.7-5.7.33/client/dump/program.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/program.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2020, Oracle and/or its affiliates. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/program.h mysql-5.7-5.7.34/client/dump/program.h --- mysql-5.7-5.7.33/client/dump/program.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/program.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/row.cc mysql-5.7-5.7.34/client/dump/row.cc --- mysql-5.7-5.7.33/client/dump/row.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/row.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/row_group_dump_task.cc mysql-5.7-5.7.34/client/dump/row_group_dump_task.cc --- mysql-5.7-5.7.33/client/dump/row_group_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/row_group_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/row_group_dump_task.h mysql-5.7-5.7.34/client/dump/row_group_dump_task.h --- mysql-5.7-5.7.33/client/dump/row_group_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/row_group_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/row.h mysql-5.7-5.7.34/client/dump/row.h --- mysql-5.7-5.7.33/client/dump/row.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/row.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/simple_id_generator.cc mysql-5.7-5.7.34/client/dump/simple_id_generator.cc --- mysql-5.7-5.7.33/client/dump/simple_id_generator.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/simple_id_generator.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/simple_id_generator.h mysql-5.7-5.7.34/client/dump/simple_id_generator.h --- mysql-5.7-5.7.33/client/dump/simple_id_generator.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/simple_id_generator.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/single_transaction_connection_provider.cc mysql-5.7-5.7.34/client/dump/single_transaction_connection_provider.cc --- mysql-5.7-5.7.33/client/dump/single_transaction_connection_provider.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/single_transaction_connection_provider.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/single_transaction_connection_provider.h mysql-5.7-5.7.34/client/dump/single_transaction_connection_provider.h --- mysql-5.7-5.7.33/client/dump/single_transaction_connection_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/single_transaction_connection_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/sql_formatter.cc mysql-5.7-5.7.34/client/dump/sql_formatter.cc --- mysql-5.7-5.7.33/client/dump/sql_formatter.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/sql_formatter.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/sql_formatter.h mysql-5.7-5.7.34/client/dump/sql_formatter.h --- mysql-5.7-5.7.33/client/dump/sql_formatter.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/sql_formatter.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/sql_formatter_options.cc mysql-5.7-5.7.34/client/dump/sql_formatter_options.cc --- mysql-5.7-5.7.33/client/dump/sql_formatter_options.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/sql_formatter_options.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/sql_formatter_options.h mysql-5.7-5.7.34/client/dump/sql_formatter_options.h --- mysql-5.7-5.7.33/client/dump/sql_formatter_options.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/sql_formatter_options.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/standard_progress_watcher.cc mysql-5.7-5.7.34/client/dump/standard_progress_watcher.cc --- mysql-5.7-5.7.33/client/dump/standard_progress_watcher.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/standard_progress_watcher.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/standard_progress_watcher.h mysql-5.7-5.7.34/client/dump/standard_progress_watcher.h --- mysql-5.7-5.7.33/client/dump/standard_progress_watcher.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/standard_progress_watcher.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/standard_writer.cc mysql-5.7-5.7.34/client/dump/standard_writer.cc --- mysql-5.7-5.7.33/client/dump/standard_writer.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/standard_writer.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/standard_writer.h mysql-5.7-5.7.34/client/dump/standard_writer.h --- mysql-5.7-5.7.33/client/dump/standard_writer.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/standard_writer.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/stored_procedure.cc mysql-5.7-5.7.34/client/dump/stored_procedure.cc --- mysql-5.7-5.7.33/client/dump/stored_procedure.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/stored_procedure.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/stored_procedure.h mysql-5.7-5.7.34/client/dump/stored_procedure.h --- mysql-5.7-5.7.33/client/dump/stored_procedure.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/stored_procedure.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/table.cc mysql-5.7-5.7.34/client/dump/table.cc --- mysql-5.7-5.7.33/client/dump/table.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/table.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2017 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/table_deferred_indexes_dump_task.cc mysql-5.7-5.7.34/client/dump/table_deferred_indexes_dump_task.cc --- mysql-5.7-5.7.33/client/dump/table_deferred_indexes_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/table_deferred_indexes_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/table_deferred_indexes_dump_task.h mysql-5.7-5.7.34/client/dump/table_deferred_indexes_dump_task.h --- mysql-5.7-5.7.33/client/dump/table_deferred_indexes_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/table_deferred_indexes_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/table_definition_dump_task.cc mysql-5.7-5.7.34/client/dump/table_definition_dump_task.cc --- mysql-5.7-5.7.33/client/dump/table_definition_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/table_definition_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/table_definition_dump_task.h mysql-5.7-5.7.34/client/dump/table_definition_dump_task.h --- mysql-5.7-5.7.33/client/dump/table_definition_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/table_definition_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/table.h mysql-5.7-5.7.34/client/dump/table.h --- mysql-5.7-5.7.33/client/dump/table.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/table.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/table_rows_dump_task.cc mysql-5.7-5.7.34/client/dump/table_rows_dump_task.cc --- mysql-5.7-5.7.33/client/dump/table_rows_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/table_rows_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/table_rows_dump_task.h mysql-5.7-5.7.34/client/dump/table_rows_dump_task.h --- mysql-5.7-5.7.33/client/dump/table_rows_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/table_rows_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/tables_definition_ready_dump_task.cc mysql-5.7-5.7.34/client/dump/tables_definition_ready_dump_task.cc --- mysql-5.7-5.7.33/client/dump/tables_definition_ready_dump_task.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/tables_definition_ready_dump_task.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/tables_definition_ready_dump_task.h mysql-5.7-5.7.34/client/dump/tables_definition_ready_dump_task.h --- mysql-5.7-5.7.33/client/dump/tables_definition_ready_dump_task.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/tables_definition_ready_dump_task.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/this_thread.h mysql-5.7-5.7.34/client/dump/this_thread.h --- mysql-5.7-5.7.33/client/dump/this_thread.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/this_thread.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/thread.cc mysql-5.7-5.7.34/client/dump/thread.cc --- mysql-5.7-5.7.33/client/dump/thread.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/thread.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/thread_group.cc mysql-5.7-5.7.34/client/dump/thread_group.cc --- mysql-5.7-5.7.33/client/dump/thread_group.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/thread_group.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/thread_group.h mysql-5.7-5.7.34/client/dump/thread_group.h --- mysql-5.7-5.7.33/client/dump/thread_group.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/thread_group.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/thread.h mysql-5.7-5.7.34/client/dump/thread.h --- mysql-5.7-5.7.33/client/dump/thread.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/thread.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/thread_specific_connection_provider.cc mysql-5.7-5.7.34/client/dump/thread_specific_connection_provider.cc --- mysql-5.7-5.7.33/client/dump/thread_specific_connection_provider.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/thread_specific_connection_provider.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/thread_specific_connection_provider.h mysql-5.7-5.7.34/client/dump/thread_specific_connection_provider.h --- mysql-5.7-5.7.33/client/dump/thread_specific_connection_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/thread_specific_connection_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/thread_specific_ptr.h mysql-5.7-5.7.34/client/dump/thread_specific_ptr.h --- mysql-5.7-5.7.33/client/dump/thread_specific_ptr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/thread_specific_ptr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/trigger.cc mysql-5.7-5.7.34/client/dump/trigger.cc --- mysql-5.7-5.7.33/client/dump/trigger.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/trigger.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/trigger.h mysql-5.7-5.7.34/client/dump/trigger.h --- mysql-5.7-5.7.33/client/dump/trigger.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/trigger.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/view.cc mysql-5.7-5.7.34/client/dump/view.cc --- mysql-5.7-5.7.33/client/dump/view.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/view.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/dump/view.h mysql-5.7-5.7.34/client/dump/view.h --- mysql-5.7-5.7.33/client/dump/view.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/dump/view.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/echo.c mysql-5.7-5.7.34/client/echo.c --- mysql-5.7-5.7.33/client/echo.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/echo.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/client/get_password.c mysql-5.7-5.7.34/client/get_password.c --- mysql-5.7-5.7.33/client/get_password.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/get_password.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/infix_ostream_it.h mysql-5.7-5.7.34/client/infix_ostream_it.h --- mysql-5.7-5.7.33/client/infix_ostream_it.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/infix_ostream_it.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/logger.cc mysql-5.7-5.7.34/client/logger.cc --- mysql-5.7-5.7.33/client/logger.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/logger.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/logger.h mysql-5.7-5.7.34/client/logger.h --- mysql-5.7-5.7.33/client/logger.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/logger.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef LOGGER_UTIL_INCLUDED #define LOGGER_UTIL_INCLUDED /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/my_readline.h mysql-5.7-5.7.34/client/my_readline.h --- mysql-5.7-5.7.33/client/my_readline.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/my_readline.h 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ #define CLIENT_MY_READLINE_INCLUDED /* - Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/mysqladmin.cc mysql-5.7-5.7.34/client/mysqladmin.cc --- mysql-5.7-5.7.33/client/mysqladmin.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysqladmin.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -142,7 +142,7 @@ "Number of iterations to make. This works with -i (--sleep) only.", &nr_iterations, &nr_iterations, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, {"debug-check", OPT_DEBUG_CHECK, "This is a non-debug version. Catch this and exit.", @@ -910,7 +910,7 @@ return -1; } - DBUG_ASSERT(mysql_num_rows(res) < MAX_MYSQL_VAR); + assert(mysql_num_rows(res) < MAX_MYSQL_VAR); if (!opt_vertical) print_header(res); diff -Nru mysql-5.7-5.7.33/client/mysqlbinlog.cc mysql-5.7-5.7.34/client/mysqlbinlog.cc --- mysql-5.7-5.7.33/client/mysqlbinlog.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysqlbinlog.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -111,7 +111,7 @@ if (new_db_it == map_mysqlbinlog_rewrite_db.end()) return false; const char *new_db=new_db_it->second.c_str(); - DBUG_ASSERT(new_db && new_db != old_db); + assert(new_db && new_db != old_db); size_t new_db_len= strlen(new_db); @@ -316,7 +316,7 @@ static uint opt_protocol= 0; static FILE *result_file; -#ifndef DBUG_OFF +#ifndef NDEBUG static const char* default_dbug_option = "d:t:o,/tmp/mysqlbinlog.trace"; #endif static const char *load_default_groups[]= { "mysqlbinlog","client",0 }; @@ -1762,7 +1762,7 @@ {"rewrite-db", OPT_REWRITE_DB, "Rewrite the row event to point so that " "it can be applied to a new database", &rewrite, &rewrite, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, {"debug-check", OPT_DEBUG_CHECK, "This is a non-debug version. Catch this and exit.", @@ -2122,7 +2122,7 @@ { bool tty_password=0; switch (optid) { -#ifndef DBUG_OFF +#ifndef NDEBUG case '#': DBUG_PUSH(argument ? argument : default_dbug_option); break; @@ -2336,7 +2336,7 @@ rc= dump_remote_log_entries(print_event_info, logname); break; default: - DBUG_ASSERT(0); + assert(0); break; } DBUG_RETURN(rc); @@ -2605,7 +2605,7 @@ ptr_buffer+= BINLOG_NAME_INFO_SIZE; command_size= ptr_buffer - command_buffer; - DBUG_ASSERT(command_size == (allocation_size - 1)); + assert(command_size == (allocation_size - 1)); } else { @@ -2647,7 +2647,7 @@ global_sid_lock->unlock(); command_size= ptr_buffer - command_buffer; - DBUG_ASSERT(command_size == (allocation_size - 1)); + assert(command_size == (allocation_size - 1)); } if (simple_command(mysql, command, command_buffer, command_size, 1)) @@ -2834,7 +2834,7 @@ if (type == binary_log::LOAD_EVENT) { - DBUG_ASSERT(raw_mode); + assert(raw_mode); warning("Attempting to load a remote pre-4.0 binary log that contains " "LOAD DATA INFILE statements. The file will not be copied from " "the remote server. "); diff -Nru mysql-5.7-5.7.33/client/mysql.cc mysql-5.7-5.7.34/client/mysql.cc --- mysql-5.7-5.7.33/client/mysql.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysql.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2020, Oracle and/or its affiliates. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -222,7 +222,7 @@ For using this feature in test case, we add the option in debug code. */ -#ifndef DBUG_OFF +#ifndef NDEBUG static my_bool opt_build_completion_hash = FALSE; #endif @@ -1682,7 +1682,7 @@ {"compress", 'C', "Use compression in server/client protocol.", &opt_compress, &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0,0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, {"debug-check", OPT_DEBUG_CHECK, "This is a non-debug version. Catch this and exit.", @@ -1891,7 +1891,7 @@ "password sandbox mode.", &opt_connect_expired_password, &opt_connect_expired_password, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifndef DBUG_OFF +#ifndef NDEBUG {"build-completion-hash", 0, "Build completion hash even when it is in batch mode. It is used for " "test purpose, so it is just built when DEBUG is on.", @@ -2468,7 +2468,7 @@ char *end; DBUG_ENTER("find_command"); - DBUG_ASSERT(name != NULL); + assert(name != NULL); DBUG_PRINT("enter", ("name: '%s'", name)); while (my_isspace(charset_info, *name)) @@ -2866,6 +2866,9 @@ /* Allow conditional parsing of the ~/.inputrc file. */ rl_readline_name = name; + /* Accept all locales. */ + setlocale(LC_ALL,""); + /* Tell the completer that we want a crack first. */ #if defined(EDITLINE_HAVE_COMPLETION_CHAR) rl_attempted_completion_function= &new_mysql_completion; @@ -2873,7 +2876,6 @@ rl_add_defun("magic-space", &fake_magic_space, -1); #elif defined(EDITLINE_HAVE_COMPLETION_INT) - setlocale(LC_ALL,""); /* so as libedit use isprint */ rl_attempted_completion_function= &new_mysql_completion; rl_completion_entry_function= &no_completion; rl_add_defun("magic-space", &fake_magic_space, -1); @@ -2997,7 +2999,7 @@ int i,j,num_fields; DBUG_ENTER("build_completion_hash"); -#ifndef DBUG_OFF +#ifndef NDEBUG if (!opt_build_completion_hash) #endif { @@ -3735,8 +3737,7 @@ if (show_warnings == 1 && (warnings >= 1 || error)) print_warnings(); - if (!error && !status.batch && - (mysql.server_status & SERVER_STATUS_DB_DROPPED)) + if (!error && (mysql.server_status & SERVER_STATUS_DB_DROPPED)) get_current_db(); executing_query= 0; @@ -4101,9 +4102,9 @@ MYSQL_FIELD *field; MYSQL_FIELD_OFFSET offset; -#ifndef DBUG_OFF +#ifndef NDEBUG offset= mysql_field_tell(result); - DBUG_ASSERT(offset == 0); + assert(offset == 0); #else offset= 0; #endif diff -Nru mysql-5.7-5.7.33/client/mysql_config_editor.cc mysql-5.7-5.7.34/client/mysql_config_editor.cc --- mysql-5.7-5.7.33/client/mysql_config_editor.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysql_config_editor.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -119,7 +119,7 @@ /* mysql_config_editor utility options. */ static struct my_option my_program_long_options[]= { -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, #else diff -Nru mysql-5.7-5.7.33/client/mysqldump.c mysql-5.7-5.7.34/client/mysqldump.c --- mysql-5.7-5.7.33/client/mysqldump.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysqldump.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -290,7 +290,7 @@ "Dump several databases. Note the difference in usage; in this case no tables are given. All name arguments are regarded as database names. 'USE db_name;' will be included in the output.", &opt_databases, &opt_databases, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0,0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, {"debug-check", OPT_DEBUG_CHECK, "This is a non-debug version. Catch this and exit.", @@ -935,14 +935,14 @@ fprintf(stderr, "Invalid mode to --compatible: %s\n", buff); exit(1); } -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) { size_t size_for_sql_mode= 0; const char **ptr; for (ptr= compatible_mode_names; *ptr; ptr++) size_for_sql_mode+= strlen(*ptr); size_for_sql_mode+= sizeof(compatible_mode_names)-1; - DBUG_ASSERT(sizeof(compatible_mode_normal_str)>=size_for_sql_mode); + assert(sizeof(compatible_mode_normal_str)>=size_for_sql_mode); } #endif mode= opt_compatible_mode; @@ -1976,7 +1976,7 @@ while (attribute_name != NullS) { attribute_value= va_arg(arg_list, char *); - DBUG_ASSERT(attribute_value != NullS); + assert(attribute_value != NullS); fputc(' ', xml_file); fputs(attribute_name, xml_file); @@ -4060,9 +4060,9 @@ extended_row.length+= mysql_hex_string(extended_row.str + extended_row.length, row[i], length); - DBUG_ASSERT(extended_row.length+1 <= extended_row.max_length); + assert(extended_row.length+1 <= extended_row.max_length); /* mysql_hex_string() already terminated string by '\0' */ - DBUG_ASSERT(extended_row.str[extended_row.length] == '\0'); + assert(extended_row.str[extended_row.length] == '\0'); } else { @@ -4665,7 +4665,7 @@ db_cnt++; } } - DBUG_ASSERT(mysql_db_found); + assert(mysql_db_found); memset(database_list, 0, sizeof(*database_list)); my_free(database_list); @@ -5107,7 +5107,7 @@ DBUG_ENTER("get_actual_table_name"); /* Check memory for quote_for_like() */ - DBUG_ASSERT(2*sizeof(old_table_name) < sizeof(show_name_buff)); + assert(2*sizeof(old_table_name) < sizeof(show_name_buff)); my_snprintf(query, sizeof(query), "SHOW TABLES LIKE %s", quote_for_like(old_table_name, show_name_buff)); @@ -5670,7 +5670,7 @@ DBUG_ENTER("check_if_ignore_table"); /* Check memory for quote_for_like() */ - DBUG_ASSERT(2*sizeof(table_name) < sizeof(show_name_buff)); + assert(2*sizeof(table_name) < sizeof(show_name_buff)); my_snprintf(buff, sizeof(buff), "show table status like %s", quote_for_like(table_name, show_name_buff)); if (mysql_query_with_error_report(mysql, &res, buff)) diff -Nru mysql-5.7-5.7.33/client/mysqlimport.c mysql-5.7-5.7.34/client/mysqlimport.c --- mysql-5.7-5.7.33/client/mysqlimport.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysqlimport.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -90,7 +90,7 @@ {"compress", 'C', "Use compression in server/client protocol.", &opt_compress, &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, {"debug-check", OPT_DEBUG_CHECK, "This is a non-debug version. Catch this and exit.", diff -Nru mysql-5.7-5.7.33/client/mysql_install_db.cc mysql-5.7-5.7.34/client/mysql_install_db.cc --- mysql-5.7-5.7.33/client/mysql_install_db.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysql_install_db.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/mysql_plugin.c mysql-5.7-5.7.34/client/mysql_plugin.c --- mysql-5.7-5.7.33/client/mysql_plugin.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysql_plugin.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -427,7 +427,7 @@ static void usage(void) { PRINT_VERSION; - puts("Copyright (c) 2011, 2016, Oracle and/or its affiliates. " + puts("Copyright (c) 2011, 2021, Oracle and/or its affiliates. " "All rights reserved.\n"); puts("Enable or disable plugins."); printf("\nUsage: %s [options] ENABLE|DISABLE\n\nOptions:\n", diff -Nru mysql-5.7-5.7.33/client/mysql_secure_installation.cc mysql-5.7-5.7.34/client/mysql_secure_installation.cc --- mysql-5.7-5.7.33/client/mysql_secure_installation.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysql_secure_installation.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -944,7 +944,7 @@ if ((rc= my_handle_options(&argc, &argv, my_connection_options, my_arguments_get_one_option, NULL, TRUE))) { - DBUG_ASSERT(0); + assert(0); } init_connection_options(&mysql); diff -Nru mysql-5.7-5.7.33/client/mysqlshow.c mysql-5.7-5.7.34/client/mysqlshow.c --- mysql-5.7-5.7.33/client/mysqlshow.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysqlshow.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/mysqlslap.cc mysql-5.7-5.7.34/client/mysqlslap.cc --- mysql-5.7-5.7.33/client/mysqlslap.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysqlslap.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -604,7 +604,7 @@ {"csv", OPT_SLAP_CSV, "Generate CSV output to named file or to stdout if no file is named.", NULL, NULL, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, { "debug-check", OPT_DEBUG_CHECK, "This is a non-debug version. Catch this and exit.", @@ -1990,13 +1990,13 @@ Just in case someone runs this under an experimental engine we don't want a crash so the if() is placed here. */ - DBUG_ASSERT(primary_keys_number_of); + assert(primary_keys_number_of); if (primary_keys_number_of) { key_val= (unsigned int)(random() % primary_keys_number_of); key= primary_keys[key_val]; - DBUG_ASSERT(key); + assert(key); length= snprintf(buffer, HUGE_STRING_LENGTH, "%.*s '%s'", (int)ptr->length, ptr->string, key); diff -Nru mysql-5.7-5.7.33/client/mysql_ssl_rsa_setup.cc mysql-5.7-5.7.34/client/mysql_ssl_rsa_setup.cc --- mysql-5.7-5.7.33/client/mysql_ssl_rsa_setup.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysql_ssl_rsa_setup.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/mysqltest.cc mysql-5.7-5.7.34/client/mysqltest.cc --- mysql-5.7-5.7.33/client/mysqltest.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/mysqltest.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -754,11 +754,11 @@ void write(DYNAMIC_STRING* ds) { DBUG_ENTER("LogFile::write"); - DBUG_ASSERT(m_file); + assert(m_file); if (ds->length == 0) DBUG_VOID_RETURN; - DBUG_ASSERT(ds->str); + assert(ds->str); if (fwrite(ds->str, 1, ds->length, m_file) != ds->length) die("Failed to write %lu bytes to '%s', errno: %d", @@ -919,7 +919,7 @@ cn->result= mysql_read_query_result(&cn->mysql); break; default: - DBUG_ASSERT(0); + assert(0); } cn->command= 0; native_mutex_lock(&cn->result_mutex); @@ -937,7 +937,7 @@ static void wait_query_thread_done(struct st_connection *con) { - DBUG_ASSERT(con->has_thread); + assert(con->has_thread); if (!con->query_done) { native_mutex_lock(&con->result_mutex); @@ -950,7 +950,7 @@ static void signal_connection_thd(struct st_connection *cn, int command) { - DBUG_ASSERT(cn->has_thread); + assert(cn->has_thread); cn->query_done= 0; cn->command= command; native_mutex_lock(&cn->query_mutex); @@ -978,7 +978,7 @@ static int do_read_query_result(struct st_connection *cn) { - DBUG_ASSERT(cn->has_thread); + assert(cn->has_thread); wait_query_thread_done(cn); signal_connection_thd(cn, EMB_READ_QUERY_RESULT); wait_query_thread_done(cn); @@ -1302,7 +1302,7 @@ break; default: - DBUG_ASSERT("Unknown argument type"); + assert("Unknown argument type"); break; } @@ -1491,7 +1491,7 @@ break; default: printf("unknown exit code: %d\n", exit_code); - DBUG_ASSERT(0); + assert(0); } } @@ -2110,7 +2110,7 @@ const char* mess= "Result content mismatch\n"; DBUG_ENTER("check_result"); - DBUG_ASSERT(result_file_name); + assert(result_file_name); DBUG_PRINT("enter", ("result_file_name: %s", result_file_name)); switch (compare_files(log_file.file_name(), result_file_name)) { @@ -2428,7 +2428,7 @@ v->str_val_len= strlen(v->str_val); } /* setenv() expects \0-terminated strings */ - DBUG_ASSERT(v->name[v->name_len] == 0); + assert(v->name[v->name_len] == 0); setenv(v->name, v->str_val, 1); } DBUG_VOID_RETURN; @@ -7061,7 +7061,7 @@ GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"database", 'D', "Database to use.", &opt_db, &opt_db, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0,0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, {"debug-check", OPT_DEBUG_CHECK, "This is a non-debug version. Catch this and exit.", @@ -7261,7 +7261,7 @@ { switch(optid) { case '#': -#ifndef DBUG_OFF +#ifndef NDEBUG DBUG_PUSH(argument ? argument : "d:t:S:i:O,/tmp/mysqltest.trace"); debug_check_flag= 1; #endif @@ -7278,7 +7278,7 @@ argument= buff; } fn_format(buff, argument, "", "", MY_UNPACK_FILENAME); - DBUG_ASSERT(cur_file == file_stack && cur_file->file == 0); + assert(cur_file == file_stack && cur_file->file == 0); if (!(cur_file->file= fopen(buff, "rb"))) die("Could not open '%s' for reading, errno: %d", buff, errno); @@ -7902,7 +7902,7 @@ through PS API we should not issue SHOW WARNINGS until we have not read all results... */ - DBUG_ASSERT(!mysql_more_results(mysql)); + assert(!mysql_more_results(mysql)); if (mysql_real_query(mysql, "SHOW WARNINGS", 13)) die("Error running query \"SHOW WARNINGS\": %s", mysql_error(mysql)); @@ -8043,7 +8043,7 @@ mysql_sqlstate(mysql), ds); goto end; } - DBUG_ASSERT(err == -1); /* Successful and there are no more results */ + assert(err == -1); /* Successful and there are no more results */ /* If we come here the query is both executed and read successfully */ handle_no_error(command); @@ -8828,7 +8828,8 @@ char *re_eprint(int err) { static char epbuf[100]; - size_t len= my_regerror(MY_REG_ITOA | err, NULL, epbuf, sizeof(epbuf)); + size_t len MY_ATTRIBUTE((unused)) + = my_regerror(MY_REG_ITOA | err, NULL, epbuf, sizeof(epbuf)); assert(len <= sizeof(epbuf)); return(epbuf); } @@ -10300,7 +10301,7 @@ DBUG_PRINT("exit", ("Found end of from string")); DBUG_VOID_RETURN; } - DBUG_ASSERT(from <= str+len); + assert(from <= str+len); start= from; rep_pos=rep; } diff -Nru mysql-5.7-5.7.33/client/path.cc mysql-5.7-5.7.34/client/path.cc --- mysql-5.7-5.7.33/client/path.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/path.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/path.h mysql-5.7-5.7.34/client/path.h --- mysql-5.7-5.7.33/client/path.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/path.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/readline.cc mysql-5.7-5.7.34/client/readline.cc --- mysql-5.7-5.7.33/client/readline.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/readline.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/client/upgrade/program.cc mysql-5.7-5.7.34/client/upgrade/program.cc --- mysql-5.7-5.7.33/client/upgrade/program.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/client/upgrade/program.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/abi_check.cmake mysql-5.7-5.7.34/cmake/abi_check.cmake --- mysql-5.7-5.7.33/cmake/abi_check.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/abi_check.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/bison.cmake mysql-5.7-5.7.34/cmake/bison.cmake --- mysql-5.7-5.7.33/cmake/bison.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/bison.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/boost.cmake mysql-5.7-5.7.34/cmake/boost.cmake --- mysql-5.7-5.7.33/cmake/boost.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/boost.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2014, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/build_configurations/compiler_options.cmake mysql-5.7-5.7.34/cmake/build_configurations/compiler_options.cmake --- mysql-5.7-5.7.33/cmake/build_configurations/compiler_options.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/build_configurations/compiler_options.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, @@ -35,12 +35,18 @@ # Compiler options IF(UNIX) + IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") + SET(SECTIONS_FLAG "-ffunction-sections -fdata-sections") + ELSE() + SET(SECTIONS_FLAG) + ENDIF() + # Default GCC flags IF(CMAKE_COMPILER_IS_GNUCC) - SET(COMMON_C_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") + SET(COMMON_C_FLAGS "-fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") # Disable inline optimizations for valgrind testing to avoid false positives IF(WITH_VALGRIND) - SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}") + STRING_PREPEND(COMMON_C_FLAGS "-fno-inline ") ENDIF() # Disable expensive-optimization if shift-or-optimization bug effective IF(HAVE_C_SHIFT_OR_OPTIMIZATION_BUG) @@ -57,20 +63,21 @@ IF(C_NO_EXPENSIVE_OPTIMIZATIONS) SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -fno-expensive-optimizations") ENDIF() - SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") - SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") + IF(NOT DISABLE_SHARED) + STRING_PREPEND(COMMON_C_FLAGS "-fPIC ") + ENDIF() ENDIF() IF(CMAKE_COMPILER_IS_GNUCXX) - SET(COMMON_CXX_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") + SET(COMMON_CXX_FLAGS "-fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") # GCC 6 has C++14 as default, set it explicitly to the old default. EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GXX_VERSION) IF(GXX_VERSION VERSION_EQUAL 6.0 OR GXX_VERSION VERSION_GREATER 6.0) - SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -std=gnu++03") + STRING_PREPEND(COMMON_CXX_FLAGS "-std=gnu++03 ") ENDIF() # Disable inline optimizations for valgrind testing to avoid false positives IF(WITH_VALGRIND) - SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}") + STRING_PREPEND(COMMON_CXX_FLAGS "-fno-inline ") ENDIF() # Disable expensive-optimization if shift-or-optimization bug effective IF(HAVE_CXX_SHIFT_OR_OPTIMIZATION_BUG) @@ -79,58 +86,62 @@ # Disable floating point expression contractions to avoid result differences IF(HAVE_CXX_FLOATING_POINT_FUSED_MADD) IF(HAVE_CXX_FP_CONTRACT_FLAG) - SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -ffp-contract=off") + STRING_APPEND(COMMON_CXX_FLAGS " -ffp-contract=off") ELSE() SET(CXX_NO_EXPENSIVE_OPTIMIZATIONS TRUE) ENDIF() ENDIF() IF(CXX_NO_EXPENSIVE_OPTIMIZATIONS) - SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -fno-expensive-optimizations") + STRING_APPEND(COMMON_CXX_FLAGS " -fno-expensive-optimizations") ENDIF() - SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") + IF(NOT DISABLE_SHARED) + STRING_PREPEND(COMMON_CXX_FLAGS "-fPIC ") + ENDIF() + ENDIF() # Default Clang flags IF(CMAKE_C_COMPILER_ID MATCHES "Clang") - SET(COMMON_C_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing") - SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") - SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") + SET(COMMON_C_FLAGS "-fno-omit-frame-pointer -fno-strict-aliasing") + IF(NOT DISABLE_SHARED) + STRING_PREPEND(COMMON_C_FLAGS "-fPIC ") + ENDIF() ENDIF() IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - SET(COMMON_CXX_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing") + SET(COMMON_CXX_FLAGS "-fno-omit-frame-pointer -fno-strict-aliasing") IF(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 6.0 OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0) IF(CMAKE_SYSTEM_NAME MATCHES "Linux") - SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -std=gnu++03") + STRING_PREPEND(COMMON_CXX_FLAGS "-std=gnu++03 ") ENDIF() ENDIF() - SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") + IF(NOT DISABLE_SHARED) + STRING_PREPEND(COMMON_CXX_FLAGS "-fPIC ") + ENDIF() ENDIF() # Solaris flags IF(CMAKE_SYSTEM_NAME MATCHES "SunOS") - IF(CMAKE_SYSTEM_VERSION VERSION_GREATER "5.9") - # Link mysqld with mtmalloc on Solaris 10 and later - SET(WITH_MYSQLD_LDFLAGS "-lmtmalloc" CACHE STRING "") - ENDIF() + # Link mysqld with mtmalloc on Solaris 10 and later + SET(WITH_MYSQLD_LDFLAGS "-lmtmalloc" CACHE STRING "") + # Possible changes to the defaults set above for gcc/linux. # Vectorized code dumps core in 32bit mode. IF(CMAKE_COMPILER_IS_GNUCC AND 32BIT) CHECK_C_COMPILER_FLAG("-ftree-vectorize" HAVE_C_FTREE_VECTORIZE) IF(HAVE_C_FTREE_VECTORIZE) - SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -fno-tree-vectorize") + STRING_APPEND(COMMON_C_FLAGS " -fno-tree-vectorize") ENDIF() ENDIF() IF(CMAKE_COMPILER_IS_GNUCXX AND 32BIT) CHECK_CXX_COMPILER_FLAG("-ftree-vectorize" HAVE_CXX_FTREE_VECTORIZE) IF(HAVE_CXX_FTREE_VECTORIZE) - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fno-tree-vectorize") + STRING_APPEND(COMMON_CXX_FLAGS " -fno-tree-vectorize") ENDIF() ENDIF() IF(CMAKE_C_COMPILER_ID MATCHES "SunPro") + # Reduce size of debug binaries, by omitting function declarations. SET(SUNPRO_FLAGS "-xdebuginfo=no%decl") SET(SUNPRO_FLAGS "${SUNPRO_FLAGS} -xbuiltin=%all") SET(SUNPRO_FLAGS "${SUNPRO_FLAGS} -xlibmil") @@ -144,12 +155,46 @@ ENDIF() SET(COMMON_C_FLAGS "-g ${SUNPRO_FLAGS}") - SET(COMMON_CXX_FLAGS "-g0 ${SUNPRO_FLAGS}") - SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -std=c++03") - SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") - SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") - SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_C_FLAGS}") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_CXX_FLAGS}") + SET(COMMON_CXX_FLAGS "-g0 ${SUNPRO_FLAGS} -std=c++03") + # For SunPro, append our own flags rather than prepending below. + # We need -g0 and the misc -x flags above to reduce the size of binaries. + STRING_APPEND(CMAKE_C_FLAGS_DEBUG " ${COMMON_C_FLAGS}") + STRING_APPEND(CMAKE_CXX_FLAGS_DEBUG " ${COMMON_CXX_FLAGS}") + STRING_APPEND(CMAKE_C_FLAGS_RELWITHDEBINFO " -xO3 ${COMMON_C_FLAGS}") + STRING_APPEND(CMAKE_CXX_FLAGS_RELWITHDEBINFO " -xO3 ${COMMON_CXX_FLAGS}") + STRING_APPEND(CMAKE_C_FLAGS_RELEASE " -xO3 ${COMMON_C_FLAGS}") + STRING_APPEND(CMAKE_CXX_FLAGS_RELEASE " -xO3 ${COMMON_CXX_FLAGS}") + STRING_APPEND(CMAKE_C_FLAGS_MINSIZEREL " -xO3 ${COMMON_C_FLAGS}") + STRING_APPEND(CMAKE_CXX_FLAGS_MINSIZEREL " -xO3 ${COMMON_CXX_FLAGS}") + SET(COMMON_C_FLAGS "") + SET(COMMON_CXX_FLAGS "") ENDIF() ENDIF() + + # Use STRING_PREPEND here, so command-line input can override our defaults. + STRING_PREPEND(CMAKE_C_FLAGS "${COMMON_C_FLAGS} ") + STRING_PREPEND(CMAKE_C_FLAGS_RELWITHDEBINFO "${SECTIONS_FLAG} ") + STRING_PREPEND(CMAKE_C_FLAGS_RELEASE "${SECTIONS_FLAG} ") + STRING_PREPEND(CMAKE_C_FLAGS_MINSIZEREL "${SECTIONS_FLAG} ") + + STRING_PREPEND(CMAKE_CXX_FLAGS "${COMMON_CXX_FLAGS} ") + STRING_PREPEND(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${SECTIONS_FLAG} ") + STRING_PREPEND(CMAKE_CXX_FLAGS_RELEASE "${SECTIONS_FLAG} ") + STRING_PREPEND(CMAKE_CXX_FLAGS_MINSIZEREL "${SECTIONS_FLAG} ") + + # We need -O3 by default for RelWithDebInfo in order to avoid + # performance regressions from earlier releases. + # To disable this (and everything else in this file), + # do 'cmake -DWITH_DEFAULT_COMPILER_OPTIONS=NO'. + IF(LINUX) + FOREACH(flag + CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_RELWITHDEBINFO + ) + STRING(REPLACE "-O2" "-O3" "${flag}" "${${flag}}") + ENDFOREACH() + ENDIF() + ENDIF() diff -Nru mysql-5.7-5.7.33/cmake/build_configurations/feature_set.cmake mysql-5.7-5.7.34/cmake/build_configurations/feature_set.cmake --- mysql-5.7-5.7.33/cmake/build_configurations/feature_set.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/build_configurations/feature_set.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/build_configurations/mysql_release.cmake mysql-5.7-5.7.34/cmake/build_configurations/mysql_release.cmake --- mysql-5.7-5.7.33/cmake/build_configurations/mysql_release.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/build_configurations/mysql_release.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/cat.cmake mysql-5.7-5.7.34/cmake/cat.cmake --- mysql-5.7-5.7.33/cmake/cat.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/cat.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009 Sun Microsystems, Inc. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/cmake/character_sets.cmake mysql-5.7-5.7.34/cmake/character_sets.cmake --- mysql-5.7-5.7.33/cmake/character_sets.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/character_sets.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/check_minimal_version.cmake mysql-5.7-5.7.34/cmake/check_minimal_version.cmake --- mysql-5.7-5.7.33/cmake/check_minimal_version.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/check_minimal_version.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009 Sun Microsystems, Inc. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/cmake/cmake_parse_arguments.cmake mysql-5.7-5.7.34/cmake/cmake_parse_arguments.cmake --- mysql-5.7-5.7.33/cmake/cmake_parse_arguments.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/cmake_parse_arguments.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ -# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/compile_flags.cmake mysql-5.7-5.7.34/cmake/compile_flags.cmake --- mysql-5.7-5.7.33/cmake/compile_flags.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/compile_flags.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2014, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/compiler_bugs.cmake mysql-5.7-5.7.34/cmake/compiler_bugs.cmake --- mysql-5.7-5.7.33/cmake/compiler_bugs.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/compiler_bugs.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2016, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/configure.pl mysql-5.7-5.7.34/cmake/configure.pl --- mysql-5.7-5.7.33/cmake/configure.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/configure.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/cpack_source_ignore_files.cmake mysql-5.7-5.7.34/cmake/cpack_source_ignore_files.cmake --- mysql-5.7-5.7.33/cmake/cpack_source_ignore_files.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/cpack_source_ignore_files.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/cpu_info.cmake mysql-5.7-5.7.34/cmake/cpu_info.cmake --- mysql-5.7-5.7.33/cmake/cpu_info.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/cpu_info.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/curl.cmake mysql-5.7-5.7.34/cmake/curl.cmake --- mysql-5.7-5.7.33/cmake/curl.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/curl.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/do_abi_check.cmake mysql-5.7-5.7.34/cmake/do_abi_check.cmake --- mysql-5.7-5.7.33/cmake/do_abi_check.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/do_abi_check.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/dtrace.cmake mysql-5.7-5.7.34/cmake/dtrace.cmake --- mysql-5.7-5.7.33/cmake/dtrace.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/dtrace.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, @@ -22,30 +22,52 @@ # Check if OS supports DTrace MACRO(CHECK_DTRACE) - FIND_PROGRAM(DTRACE dtrace) - MARK_AS_ADVANCED(DTRACE) + IF(DEFINED ENABLE_DTRACE AND NOT ENABLE_DTRACE) + MESSAGE(STATUS "DTRACE is disabled") + ELSE() + FIND_PROGRAM(DTRACE dtrace) + MARK_AS_ADVANCED(DTRACE) - # On FreeBSD, dtrace does not handle userland tracing yet - IF(DTRACE AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD") - SET(ENABLE_DTRACE ON CACHE BOOL "Enable dtrace") - ENDIF() - SET(HAVE_DTRACE ${ENABLE_DTRACE}) - EXECUTE_PROCESS( - COMMAND ${DTRACE} -V - OUTPUT_VARIABLE out) - IF(out MATCHES "Sun D" OR out MATCHES "Oracle D") - IF(NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD" AND - NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") - SET(HAVE_REAL_DTRACE_INSTRUMENTING ON CACHE BOOL "Real DTrace detected") - ENDIF() - ENDIF() - IF(HAVE_REAL_DTRACE_INSTRUMENTING) - IF(SIZEOF_VOIDP EQUAL 4) - SET(DTRACE_FLAGS -32 CACHE INTERNAL "DTrace architecture flags") - ELSE() - SET(DTRACE_FLAGS -64 CACHE INTERNAL "DTrace architecture flags") - ENDIF() - ENDIF() + IF(DTRACE) + EXECUTE_PROCESS( + COMMAND ${DTRACE} -V + OUTPUT_VARIABLE out) + IF(out MATCHES "Sun D" OR out MATCHES "Oracle D") + IF(NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD" AND + NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") + SET(HAVE_REAL_DTRACE_INSTRUMENTING ON CACHE BOOL "Real DTrace detected") + ENDIF() + ENDIF() + ENDIF() + + # On FreeBSD, dtrace does not handle userland tracing yet + IF(DTRACE AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + # We do not support DTrace 2.0 on Linux + IF(LINUX AND HAVE_REAL_DTRACE_INSTRUMENTING) + # Break the build if ENABLE_DTRACE set explicitly. + IF(DEFINED ENABLE_DTRACE AND ENABLE_DTRACE) + MESSAGE(FATAL_ERROR "Found unsupported dtrace at ${DTRACE}\n ${out}") + ELSE() + MESSAGE(WARNING "Found unsupported dtrace at ${DTRACE}\n ${out}") + SET(HAVE_REAL_DTRACE_INSTRUMENTING OFF CACHE BOOL "") + SET(ENABLE_DTRACE OFF CACHE BOOL "Enable dtrace") + ENDIF() + ELSE() + SET(ENABLE_DTRACE ON CACHE BOOL "Enable dtrace") + MESSAGE(STATUS "DTRACE is enabled") + ENDIF() + ENDIF() + SET(HAVE_DTRACE ${ENABLE_DTRACE}) + + IF(HAVE_REAL_DTRACE_INSTRUMENTING) + IF(SIZEOF_VOIDP EQUAL 4) + SET(DTRACE_FLAGS -32 CACHE INTERNAL "DTrace architecture flags") + ELSE() + SET(DTRACE_FLAGS -64 CACHE INTERNAL "DTrace architecture flags") + ENDIF() + ENDIF() + + ENDIF() ENDMACRO() CHECK_DTRACE() diff -Nru mysql-5.7-5.7.33/cmake/dtrace_prelink.cmake mysql-5.7-5.7.34/cmake/dtrace_prelink.cmake --- mysql-5.7-5.7.33/cmake/dtrace_prelink.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/dtrace_prelink.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009 Sun Microsystems, Inc. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/cmake/floating_point.cmake mysql-5.7-5.7.34/cmake/floating_point.cmake --- mysql-5.7-5.7.33/cmake/floating_point.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/floating_point.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2016, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/info_bin.cmake mysql-5.7-5.7.34/cmake/info_bin.cmake --- mysql-5.7-5.7.33/cmake/info_bin.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/info_bin.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/info_macros.cmake.in mysql-5.7-5.7.34/cmake/info_macros.cmake.in --- mysql-5.7-5.7.33/cmake/info_macros.cmake.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/info_macros.cmake.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/info_src.cmake mysql-5.7-5.7.34/cmake/info_src.cmake --- mysql-5.7-5.7.33/cmake/info_src.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/info_src.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/install_layout.cmake mysql-5.7-5.7.34/cmake/install_layout.cmake --- mysql-5.7-5.7.33/cmake/install_layout.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/install_layout.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/install_macros.cmake mysql-5.7-5.7.34/cmake/install_macros.cmake --- mysql-5.7-5.7.33/cmake/install_macros.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/install_macros.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/ldap.cmake mysql-5.7-5.7.34/cmake/ldap.cmake --- mysql-5.7-5.7.33/cmake/ldap.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/ldap.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2019, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/libevent.cmake mysql-5.7-5.7.34/cmake/libevent.cmake --- mysql-5.7-5.7.33/cmake/libevent.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/libevent.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/libutils.cmake mysql-5.7-5.7.34/cmake/libutils.cmake --- mysql-5.7-5.7.33/cmake/libutils.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/libutils.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/lz4.cmake mysql-5.7-5.7.34/cmake/lz4.cmake --- mysql-5.7-5.7.33/cmake/lz4.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/lz4.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/maintainer.cmake mysql-5.7-5.7.34/cmake/maintainer.cmake --- mysql-5.7-5.7.33/cmake/maintainer.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/maintainer.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, @@ -48,15 +48,15 @@ # Turn on Werror (warning => error) when using maintainer mode. IF(MYSQL_MAINTAINER_MODE) - SET(MY_C_WARNING_FLAGS "${MY_C_WARNING_FLAGS} -Werror") - SET(MY_CXX_WARNING_FLAGS "${MY_CXX_WARNING_FLAGS} -Werror") + STRING_APPEND(MY_C_WARNING_FLAGS " -Werror") + STRING_APPEND(MY_CXX_WARNING_FLAGS " -Werror") ENDIF() # Set warning flags for GCC/Clang IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_C_WARNING_FLAGS}") + STRING_APPEND(CMAKE_C_FLAGS " ${MY_C_WARNING_FLAGS}") ENDIF() # Set warning flags for G++/Clang++ IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_CXX_WARNING_FLAGS}") + STRING_APPEND(CMAKE_CXX_FLAGS " ${MY_CXX_WARNING_FLAGS}") ENDIF() diff -Nru mysql-5.7-5.7.33/cmake/make_dist.cmake.in mysql-5.7-5.7.34/cmake/make_dist.cmake.in --- mysql-5.7-5.7.33/cmake/make_dist.cmake.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/make_dist.cmake.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/merge_archives.cmake.in mysql-5.7-5.7.34/cmake/merge_archives.cmake.in --- mysql-5.7-5.7.33/cmake/merge_archives.cmake.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/merge_archives.cmake.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/mysql_add_executable.cmake mysql-5.7-5.7.34/cmake/mysql_add_executable.cmake --- mysql-5.7-5.7.33/cmake/mysql_add_executable.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/mysql_add_executable.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/mysql_version.cmake mysql-5.7-5.7.34/cmake/mysql_version.cmake --- mysql-5.7-5.7.33/cmake/mysql_version.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/mysql_version.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/os/Darwin.cmake mysql-5.7-5.7.34/cmake/os/Darwin.cmake --- mysql-5.7-5.7.33/cmake/os/Darwin.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/os/Darwin.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/os/FreeBSD.cmake mysql-5.7-5.7.34/cmake/os/FreeBSD.cmake --- mysql-5.7-5.7.33/cmake/os/FreeBSD.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/os/FreeBSD.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/os/Linux.cmake mysql-5.7-5.7.34/cmake/os/Linux.cmake --- mysql-5.7-5.7.33/cmake/os/Linux.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/os/Linux.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ -# Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/os/SunOS.cmake mysql-5.7-5.7.34/cmake/os/SunOS.cmake --- mysql-5.7-5.7.33/cmake/os/SunOS.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/os/SunOS.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, @@ -30,6 +30,16 @@ SET(SOLARIS_SPARC 1) ENDIF() +IF (NOT "${CMAKE_C_FLAGS}${CMAKE_CXX_FLAGS}" MATCHES "-m32|-m64") + IF(NOT FORCE_UNSUPPORTED_COMPILER) + MESSAGE("Adding -m64") + STRING_APPEND(CMAKE_C_FLAGS " -m64") + STRING_APPEND(CMAKE_CXX_FLAGS " -m64") + STRING_APPEND(CMAKE_C_LINK_FLAGS " -m64") + STRING_APPEND(CMAKE_CXX_LINK_FLAGS " -m64") + ENDIF() +ENDIF() + INCLUDE(CheckTypeSize) CHECK_TYPE_SIZE("void *" SIZEOF_VOIDP) diff -Nru mysql-5.7-5.7.33/cmake/os/WindowsCache.cmake mysql-5.7-5.7.34/cmake/os/WindowsCache.cmake --- mysql-5.7-5.7.33/cmake/os/WindowsCache.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/os/WindowsCache.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/os/Windows.cmake mysql-5.7-5.7.34/cmake/os/Windows.cmake --- mysql-5.7-5.7.33/cmake/os/Windows.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/os/Windows.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, @@ -37,8 +37,8 @@ INCLUDE(${CMAKE_BINARY_DIR}/win/configure.data OPTIONAL) # avoid running system checks by using pre-cached check results -# system checks are expensive on VS since every tiny program is to be compiled in -# a VC solution. +# system checks are expensive on VS since every tiny program is to be compiled +# in a VC solution. GET_FILENAME_COMPONENT(_SCRIPT_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) INCLUDE(${_SCRIPT_DIR}/WindowsCache.cmake) @@ -108,27 +108,29 @@ SET(CMAKE_${lang}_FLAGS_RELEASE "${CMAKE_${lang}_FLAGS_RELEASE} /Z7") ENDFOREACH() - FOREACH(flag - CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO - CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG_INIT - CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO - CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG_INIT) - IF(LINK_STATIC_RUNTIME_LIBRARIES) - STRING(REPLACE "/MD" "/MT" "${flag}" "${${flag}}") - ENDIF() - STRING(REPLACE "/Zi" "/Z7" "${flag}" "${${flag}}") - STRING(REPLACE "/ZI" "/Z7" "${flag}" "${${flag}}") - IF (NOT WIN_DEBUG_NO_INLINE) - STRING(REPLACE "/Ob0" "/Ob1" "${flag}" "${${flag}}") - ENDIF() - SET("${flag}" "${${flag}} /EHsc") - ENDFOREACH() + FOREACH(flag + CMAKE_C_FLAGS_MINSIZEREL + CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO + CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG_INIT + CMAKE_CXX_FLAGS_MINSIZEREL + CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG_INIT) + IF(LINK_STATIC_RUNTIME_LIBRARIES) + STRING(REPLACE "/MD" "/MT" "${flag}" "${${flag}}") + ENDIF() + STRING(REPLACE "/Zi" "/Z7" "${flag}" "${${flag}}") + STRING(REPLACE "/ZI" "/Z7" "${flag}" "${${flag}}") + IF (NOT WIN_DEBUG_NO_INLINE) + STRING(REPLACE "/Ob0" "/Ob1" "${flag}" "${${flag}}") + ENDIF() + SET("${flag}" "${${flag}} /EHsc") + ENDFOREACH() FOREACH(type EXE SHARED MODULE) - SET(CMAKE_${type}_LINKER_FLAGS_DEBUG - "${CMAKE_${type}_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO") - SET(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO - "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO") + FOREACH(config DEBUG RELWITHDEBINFO RELEASE MINSIZEREL) + SET(flag "CMAKE_${type}_LINKER_FLAGS_${config}") + SET("${flag}" "${${flag}} /INCREMENTAL:NO") + ENDFOREACH() ENDFOREACH() # Mark 32 bit executables large address aware so they can diff -Nru mysql-5.7-5.7.33/cmake/package_name.cmake mysql-5.7-5.7.34/cmake/package_name.cmake --- mysql-5.7-5.7.33/cmake/package_name.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/package_name.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/plugin.cmake mysql-5.7-5.7.34/cmake/plugin.cmake --- mysql-5.7-5.7.33/cmake/plugin.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/plugin.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/protobuf.cmake mysql-5.7-5.7.34/cmake/protobuf.cmake --- mysql-5.7-5.7.33/cmake/protobuf.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/protobuf.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/readline.cmake mysql-5.7-5.7.34/cmake/readline.cmake --- mysql-5.7-5.7.33/cmake/readline.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/readline.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2020, Oracle and/or its affiliates. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, @@ -90,6 +90,8 @@ ENDIF() ENDMACRO() +SET(CURRENT_LIBEDIT_DIRECTORY "extra/libedit/libedit-20191231-3.1") + MACRO (MYSQL_USE_BUNDLED_EDITLINE) SET(WITH_EDITLINE "bundled" CACHE STRING "By default use bundled editline") SET(USE_LIBEDIT_INTERFACE 1) @@ -97,10 +99,11 @@ SET(EDITLINE_HAVE_COMPLETION_CHAR 1 CACHE INTERNAL "") SET(USE_NEW_EDITLINE_INTERFACE 1 CACHE INTERNAL "") SET(EDITLINE_INCLUDE_DIR - ${CMAKE_SOURCE_DIR}/cmd-line-utils/libedit/libedit-20190324-3.1/src/editline) + ${CMAKE_SOURCE_DIR}/${CURRENT_LIBEDIT_DIRECTORY}/src/editline) + INCLUDE_DIRECTORIES(BEFORE SYSTEM ${EDITLINE_INCLUDE_DIR}) SET(EDITLINE_LIBRARY edit) FIND_CURSES() - ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/cmd-line-utils/libedit/libedit-20190324-3.1/src) + ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/${CURRENT_LIBEDIT_DIRECTORY}/src) ENDMACRO() MACRO (FIND_SYSTEM_EDITLINE) diff -Nru mysql-5.7-5.7.33/cmake/rpc.cmake mysql-5.7-5.7.34/cmake/rpc.cmake --- mysql-5.7-5.7.33/cmake/rpc.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/rpc.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/run_collection.cmake.in mysql-5.7-5.7.34/cmake/run_collection.cmake.in --- mysql-5.7-5.7.33/cmake/run_collection.cmake.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/run_collection.cmake.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/sasl.cmake mysql-5.7-5.7.34/cmake/sasl.cmake --- mysql-5.7-5.7.33/cmake/sasl.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/sasl.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/save_archive_location.cmake.in mysql-5.7-5.7.34/cmake/save_archive_location.cmake.in --- mysql-5.7-5.7.33/cmake/save_archive_location.cmake.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/save_archive_location.cmake.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/ssl.cmake mysql-5.7-5.7.34/cmake/ssl.cmake --- mysql-5.7-5.7.33/cmake/ssl.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/ssl.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/stack_direction.c mysql-5.7-5.7.34/cmake/stack_direction.c --- mysql-5.7-5.7.33/cmake/stack_direction.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/stack_direction.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2009 Sun Microsystems, Inc. + Copyright (c) 2009, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/cmake/systemd.cmake mysql-5.7-5.7.34/cmake/systemd.cmake --- mysql-5.7-5.7.33/cmake/systemd.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/systemd.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/tags.cmake mysql-5.7-5.7.34/cmake/tags.cmake --- mysql-5.7-5.7.33/cmake/tags.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/tags.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/versioninfo.rc.in mysql-5.7-5.7.34/cmake/versioninfo.rc.in --- mysql-5.7-5.7.33/cmake/versioninfo.rc.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/versioninfo.rc.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -// Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. +// Copyright (c) 2009, 2021, Oracle and/or its affiliates. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/cmake/zlib.cmake mysql-5.7-5.7.34/cmake/zlib.cmake --- mysql-5.7-5.7.33/cmake/zlib.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmake/zlib.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, @@ -25,7 +25,11 @@ SET(ZLIB_LIBRARY zlib CACHE INTERNAL "Bundled zlib library") SET(ZLIB_FOUND TRUE) SET(WITH_ZLIB "bundled" CACHE STRING "Use bundled zlib") + # Silence warning about CMP0075 + CMAKE_PUSH_CHECK_STATE() + SET(CMAKE_REQUIRED_LIBRARIES) ADD_SUBDIRECTORY(zlib) + CMAKE_POP_CHECK_STATE() ENDMACRO() # MYSQL_CHECK_ZLIB_WITH_COMPRESS diff -Nru mysql-5.7-5.7.33/CMakeLists.txt mysql-5.7-5.7.34/CMakeLists.txt --- mysql-5.7-5.7.33/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2020, Oracle and/or its affiliates. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, @@ -145,6 +145,14 @@ PROJECT(${MYSQL_PROJECT_NAME}) +MACRO(REPORT_CXX_FLAGS) + MESSAGE(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}") + FOREACH(BUILD_TYPE "" _DEBUG _RELWITHDEBINFO _RELEASE _MINSIZEREL) + SET(flag "CMAKE_CXX_FLAGS${BUILD_TYPE}") + MESSAGE(STATUS "${flag}: ${${flag}}") + ENDFOREACH() +ENDMACRO() + # STRING(APPEND ...) from cmake VERSION 3.4 MACRO(STRING_APPEND STRING_VAR INPUT) SET(${STRING_VAR} "${${STRING_VAR}}${INPUT}") @@ -325,15 +333,14 @@ MY_CHECK_CXX_COMPILER_FLAG("${SAN_OPT}" CXX_RESULT) IF(C_RESULT AND CXX_RESULT) # We switch on basic optimization also for debug builds. + # We disable inlining for stack trace readability. # With optimization we may get some warnings, so we switch off -Werror - SET(CMAKE_C_FLAGS_DEBUG - "${CMAKE_C_FLAGS_DEBUG} ${SAN_OPT} -O1 -Wno-error -fPIC") - SET(CMAKE_C_FLAGS_RELWITHDEBINFO - "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${SAN_OPT} -fPIC") - SET(CMAKE_CXX_FLAGS_DEBUG - "${CMAKE_CXX_FLAGS_DEBUG} ${SAN_OPT} -O1 -Wno-error -fPIC") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${SAN_OPT} -fPIC") + STRING_APPEND(CMAKE_C_FLAGS " -O1 -fno-inline -fPIC") + STRING_APPEND(CMAKE_CXX_FLAGS " -O1 -fno-inline -fPIC") + IF(NOT SANITIZE_MAINTAINER_MODE) + SET(MYSQL_MAINTAINER_MODE OFF CACHE BOOL + "MySQL maintainer-specific development environment" FORCE) + ENDIF() SET(${RESULT} 1) ELSE() SET(${RESULT} 0) @@ -351,14 +358,8 @@ "-fsanitize=address -fsanitize-address-use-after-scope" HAVE_SANITIZE_SCOPE) IF(WITH_ASAN_SCOPE AND HAVE_SANITIZE_SCOPE) - SET(CMAKE_C_FLAGS_DEBUG - "${CMAKE_C_FLAGS_DEBUG} -fsanitize-address-use-after-scope") - SET(CMAKE_C_FLAGS_RELWITHDEBINFO - "${CMAKE_C_FLAGS_RELWITHDEBINFO} -fsanitize-address-use-after-scope") - SET(CMAKE_CXX_FLAGS_DEBUG - "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize-address-use-after-scope") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fsanitize-address-use-after-scope") + STRING_APPEND(CMAKE_C_FLAGS " -fsanitize-address-use-after-scope") + STRING_APPEND(CMAKE_CXX_FLAGS " -fsanitize-address-use-after-scope") ENDIF() ELSE() MESSAGE(FATAL_ERROR "Do not know how to enable address sanitizer") @@ -392,30 +393,20 @@ ENDIF() -# Always enable debug sync for debug builds. -SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC") -SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC") - # Older versions of ccache must be disabled: export CCACHE_DISABLE=1 # See http://www.cmake.org/Wiki/CTest/Coverage OPTION(ENABLE_GCOV "Enable gcov (debug, Linux builds only)" OFF) IF (ENABLE_GCOV AND NOT WIN32 AND NOT APPLE) - SET(CMAKE_CXX_FLAGS_DEBUG - "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage -DHAVE_GCOV") - SET(CMAKE_C_FLAGS_DEBUG - "${CMAKE_C_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage -DHAVE_GCOV") - SET(CMAKE_EXE_LINKER_FLAGS_DEBUG - "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage -lgcov") + STRING_APPEND(CMAKE_C_FLAGS " -fprofile-arcs -ftest-coverage -DHAVE_GCOV") + STRING_APPEND(CMAKE_CXX_FLAGS " -fprofile-arcs -ftest-coverage -DHAVE_GCOV") + STRING_APPEND(CMAKE_EXE_LINKER_FLAGS " -fprofile-arcs -ftest-coverage -lgcov") ENDIF() OPTION(ENABLE_GPROF "Enable gprof (optimized, Linux builds only)" OFF) IF (ENABLE_GPROF AND NOT WIN32 AND NOT APPLE) - SET(CMAKE_C_FLAGS_RELWITHDEBINFO - "${CMAKE_C_FLAGS_RELWITHDEBINFO} -pg") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -pg") - SET(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO - "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} -pg") + STRING_APPEND(CMAKE_C_FLAGS " -pg") + STRING_APPEND(CMAKE_CXX_FLAGS " -pg") + STRING_APPEND(CMAKE_EXE_LINKER_FLAGS " -pg") ENDIF() IF(CMAKE_SYSTEM_NAME MATCHES "Linux") @@ -434,12 +425,8 @@ SET(DEBUG_PREFIX_FLAGS "${DEBUG_PREFIX_FLAGS} -gno-record-gcc-switches") ENDIF() - SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${DEBUG_PREFIX_FLAGS}") - SET(CMAKE_C_FLAGS_RELWITHDEBINFO - "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${DEBUG_PREFIX_FLAGS}") - SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${DEBUG_PREFIX_FLAGS}") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${DEBUG_PREFIX_FLAGS}") + STRING_APPEND(CMAKE_C_FLAGS " ${DEBUG_PREFIX_FLAGS}") + STRING_APPEND(CMAKE_CXX_FLAGS " ${DEBUG_PREFIX_FLAGS}") SET(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -Wl,--build-id=none") SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -Wl,--build-id=none") @@ -476,31 +463,18 @@ Set WITH_TEST_TRACE_PLUGIN to OFF or WITH_DEBUG to ON.") ENDIF() -# Set DBUG_OFF and other optional release-only flags for non-debug project types -FOREACH(BUILD_TYPE RELEASE RELWITHDEBINFO MINSIZEREL) - FOREACH(LANG C CXX) - SET(CMAKE_${LANG}_FLAGS_${BUILD_TYPE} - "${CMAKE_${LANG}_FLAGS_${BUILD_TYPE}} -DDBUG_OFF") - ENDFOREACH() -ENDFOREACH() - -IF(NOT CMAKE_BUILD_TYPE - AND NOT CMAKE_GENERATOR MATCHES "Visual Studio" - AND NOT CMAKE_GENERATOR MATCHES "Xcode") - # This is the case of no CMAKE_BUILD_TYPE choosen, typical for VS and Xcode - # or if custom C flags are set. In VS and Xcode for non-Debug configurations - # DBUG_OFF is already correctly set. - ADD_DEFINITIONS(-DDBUG_OFF) -ENDIF() - # Add safemutex for debug configurations IF(NOT WITH_INNODB_MEMCACHED) FOREACH(LANG C CXX) - SET(CMAKE_${LANG}_FLAGS_DEBUG - "${CMAKE_${LANG}_FLAGS_DEBUG} -DSAFE_MUTEX") + STRING_PREPEND(CMAKE_${LANG}_FLAGS_DEBUG "-DSAFE_MUTEX ") ENDFOREACH() ENDIF() +# Enable debug sync for debug builds. +FOREACH(LANG C CXX) + STRING_PREPEND(CMAKE_${LANG}_FLAGS_DEBUG "-DENABLED_DEBUG_SYNC ") +ENDFOREACH() + # Set commonly used variables IF(WIN32) @@ -685,8 +659,7 @@ # gcc9 will not allow CTORs to do memset(this, 0, sizeof(*this)); IF(CMAKE_COMPILER_IS_GNUCXX AND NOT GXX_VERSION VERSION_LESS 9) - STRING_APPEND(CMAKE_CXX_FLAGS_DEBUG " -Wno-class-memaccess") - STRING_APPEND(CMAKE_CXX_FLAGS_RELWITHDEBINFO " -Wno-class-memaccess") + STRING_APPEND(CMAKE_CXX_FLAGS " -Wno-class-memaccess") ENDIF() IF(NOT WITHOUT_SERVER) @@ -825,18 +798,28 @@ INCLUDE(CPack) -# C compiler flags consist of: +# C/CXX compiler flags consist of: # CPPFLAGS Taken from environment, see above. # ADD_DEFINITIONS In each individual CMakeLists.txt -# CMAKE_C_FLAGS From command line. +# CMAKE_CXX_FLAGS From command line. # We extend these in maintainer.cmake -# ENV{CFLAGS} From environment, but environment is ignored if -# CMAKE_C_FLAGS is also given on command line -# CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE} # We extend these in compiler_options.cmake +# ENV{CXXFLAGS} From environment, but environment is ignored if +# CMAKE_CXX_FLAGS is also given on command line +# CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}, typical initial cmake values: +# DEBUG -g +# RELWITHDEBINFO -O2 -g -DNDEBUG +# RELEASE -O3 -DNDEBUG +# MINSIZEREL -Os -DNDEBUG +# +# The compiler command line is +# g++ DEFINITIONS CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_ +# +# So, if you want to use '-O3' for a RELWITHDEBINFO build, you should do: +# cmake -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3 -g -DNDEBUG" # # Note that CMakeCache.txt contains cmake builtins for these variables, -# *not* the values that will actually be used: +# *not* the values that will actually be used, which we report here: IF(BUILD_IS_SINGLE_CONFIG) @@ -844,20 +827,9 @@ ENDIF() GET_PROPERTY(cwd_definitions DIRECTORY PROPERTY COMPILE_DEFINITIONS) MESSAGE(STATUS "COMPILE_DEFINITIONS: ${cwd_definitions}") -MESSAGE(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}") -MESSAGE(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") +REPORT_CXX_FLAGS() MESSAGE(STATUS "CMAKE_C_LINK_FLAGS: ${CMAKE_C_LINK_FLAGS}") MESSAGE(STATUS "CMAKE_CXX_LINK_FLAGS: ${CMAKE_CXX_LINK_FLAGS}") -IF(CMAKE_BUILD_TYPE AND BUILD_IS_SINGLE_CONFIG) - STRING(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKEBT) - MESSAGE(STATUS "CMAKE_C_FLAGS_${CMAKEBT}: ${CMAKE_C_FLAGS_${CMAKEBT}}") - MESSAGE(STATUS "CMAKE_CXX_FLAGS_${CMAKEBT}: ${CMAKE_CXX_FLAGS_${CMAKEBT}}") -ENDIF() -IF(NOT BUILD_IS_SINGLE_CONFIG) - MESSAGE(STATUS "CMAKE_C_FLAGS_DEBUG: ${CMAKE_C_FLAGS_DEBUG}") - MESSAGE(STATUS "CMAKE_CXX_FLAGS_DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}") - MESSAGE(STATUS - "CMAKE_C_FLAGS_RELWITHDEBINFO: ${CMAKE_C_FLAGS_RELWITHDEBINFO}") - MESSAGE(STATUS - "CMAKE_CXX_FLAGS_RELWITHDEBINFO: ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") -ENDIF() +MESSAGE(STATUS "CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS}") +MESSAGE(STATUS "CMAKE_MODULE_LINKER_FLAGS ${CMAKE_MODULE_LINKER_FLAGS}") +MESSAGE(STATUS "CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS}") diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/acinclude.m4 mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/acinclude.m4 --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/acinclude.m4 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/acinclude.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,82 +0,0 @@ - -dnl -dnl read lib version from file (and trim trailing newline) -dnl -define([EL_RELEASE], [patsubst(esyscmd([. src/shlib_version; echo $major.$minor]), [ -])]) - -dnl -dnl read cvsexport timestamp from file (and trim trailing newline) -dnl -define([EL_TIMESTAMP], [patsubst(esyscmd([date +"%Y%m%d"]), [ -])]) - - -dnl -dnl NetBSD use the -mdoc macro package for manpages, but e.g. -dnl AIX and Solaris only support the -man package. -dnl -AC_DEFUN([EL_MANTYPE], -[ - MANTYPE= - TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" - AC_PATH_PROGS(NROFF, nroff awf, /bin/false, $TestPath) - if ${NROFF} -mdoc ${srcdir}/doc/editrc.5.roff >/dev/null 2>&1; then - MANTYPE=mdoc - fi - AC_SUBST(MANTYPE) -]) - - -dnl -dnl Check if getpwnam_r and getpwuid_r are POSIX.1 compatible -dnl POSIX draft version returns 'struct passwd *' (used on Solaris) -dnl NOTE: getpwent_r is not POSIX so we always use getpwent -dnl -AC_DEFUN([EL_GETPW_R_POSIX], -[ - AC_MSG_CHECKING([whether getpwnam_r and getpwuid_r are posix like]) - # The prototype for the POSIX version is: - # int getpwnam_r(char *, struct passwd *, char *, size_t, struct passwd **) - # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **); - AC_TRY_LINK([#include - #include - #include ], - [getpwnam_r(NULL, NULL, NULL, (size_t)0, NULL); - getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL);], - [AC_DEFINE([HAVE_GETPW_R_POSIX], 1, [Define to 1 if you have getpwnam_r and getpwuid_r that are POSIX.1 compatible.]) - AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) -]) - -AC_DEFUN([EL_GETPW_R_DRAFT], -[ - AC_MSG_CHECKING([whether getpwnam_r and getpwuid_r are posix _draft_ like]) - # The prototype for the POSIX draft version is: - # struct passwd *getpwuid_r(uid_t, struct passwd *, char *, int); - # struct passwd *getpwnam_r(char *, struct passwd *, char *, int); - AC_TRY_LINK([#include - #include - #include ], - [getpwnam_r(NULL, NULL, NULL, (size_t)0); - getpwuid_r((uid_t)0, NULL, NULL, (size_t)0);], - [AC_DEFINE([HAVE_GETPW_R_DRAFT], 1, [Define to 1 if you have getpwnam_r and getpwuid_r that are draft POSIX.1 versions.]) - AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) -]) - - -dnl -dnl deprecate option --enable-widec to turn on use of wide-character support -dnl -AC_DEFUN([EL_DEPRECATE_WIDEC], -[ - AC_MSG_CHECKING(if you want wide-character code) - AC_ARG_ENABLE(widec, - [ --enable-widec deprecated, wide-character/UTF-8 is always enabled], - [with_widec=$enableval], - [with_widec=no]) - AC_MSG_RESULT($with_widec) - AC_MSG_WARN([--enable-widec is deprecated, wide-character/UTF-8 is always enabled]) -]) - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/aclocal.m4 mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/aclocal.m4 --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/aclocal.m4 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/aclocal.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,1141 +0,0 @@ -# generated automatically by aclocal 1.16.1 -*- Autoconf -*- - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. - -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# Copyright (C) 2002-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.16' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - AS_CASE([$CONFIG_FILES], - [*\'*], [eval set x "$CONFIG_FILES"], - [*], [set x $CONFIG_FILES]) - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`AS_DIRNAME(["$am_mf"])` - am_filepart=`AS_BASENAME(["$am_mf"])` - AM_RUN_LOG([cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles]) || am_rc=$? - done - if test $am_rc -ne 0; then - AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking).]) - fi - AS_UNSET([am_dirpart]) - AS_UNSET([am_filepart]) - AS_UNSET([am_mf]) - AS_UNSET([am_rc]) - rm -f conftest-deps.mk -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking is enabled. -# This creates each '.Po' and '.Plo' makefile fragment that we'll need in -# order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAKE_INCLUDE() -# ----------------- -# Check whether make has an 'include' directive that can support all -# the idioms we need for our automatic dependency tracking code. -AC_DEFUN([AM_MAKE_INCLUDE], -[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) - AS_CASE([$?:`cat confinc.out 2>/dev/null`], - ['0:this is the am__doit target'], - [AS_CASE([$s], - [BSD], [am__include='.include' am__quote='"'], - [am__include='include' am__quote=''])]) - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -AC_MSG_RESULT([${_am_result}]) -AC_SUBST([am__include])]) -AC_SUBST([am__quote])]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it is modern enough. -# If it is, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor 'install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in "make install-strip", and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -# -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([m4/libtool.m4]) -m4_include([m4/ltoptions.m4]) -m4_include([m4/ltsugar.m4]) -m4_include([m4/ltversion.m4]) -m4_include([m4/lt~obsolete.m4]) -m4_include([acinclude.m4]) diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/ChangeLog mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/ChangeLog --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/ChangeLog 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,467 +0,0 @@ - * See also NetBSD changelog: - http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libedit - -2019-03-24 Jess Thrysoee - - * version-info: 0:60:0 - - * all: sync with upstream source - -2018-12-09 Jess Thrysoee - - * version-info: 0:59:0 - - * all: sync with upstream source - -2018-05-25 Jess Thrysoee - - * version-info: 0:58:0 - - * all: sync with upstream source - -2017-05-22 Jess Thrysoee - - * version-info: 0:57:0 - - * all: sync with upstream source - - * libedit.pc.in: Ncurses should not be a part of public link interface. - Patch by Yegor Timoshenko - -2017-03-29 Jess Thrysoee - - * version-info: 0:56:0 - - * all: sync with upstream source - -2016-09-03 Jess Thrysoee - - * version-info: 0:55:0 - - * all: sync with upstream source - -2016-06-18 Jess Thrysoee - - * version-info: 0:54:0 - - * all: sync with upstream source - - * deprecate option --enable-widec. - Upstream now always build with unicode (wide-char/UTF-8) support. - -2015-03-25 Jess Thrysoee - - * version-info: 0:53:0 - - * all: sync with upstream source - -2014-10-30 Jess Thrysoee - - * version-info: 0:52:0 - - * all: sync with upstream source - - * configura.ac: Fix posix shell portability issue. Patch by Ryo Onodera. - -2014-06-20 Jess Thrysoee - - * version-info: 0:51:0 - - * all: sync with upstream source - -2014-06-18 Jess Thrysoee - - * version-info: 0:50:0 - - * all: sync with upstream source - add weak alias patches - -2014-06-18 Jess Thrysoee - - * version-info: 0:49:0 - - * all: sync with upstream source. - -2014-02-13 Jess Thrysoee - - * version-info: 0:48:0 - - * all: sync with upstream source. - - * examples/fileman.c: Fix typo. Patch by Kamil Dudka. - - * Makefile.am, configure.ac: Add --enable-examples configure parameter. - Make it possible to enable/disable building of the examples programs. - Patch by James Le Cuirot. - -2013-07-12 Jess Thrysoee - - * version-info: 0:47:0 - - * all: sync with upstream source. - - * examples/fileman.c, examples/tc1.c: fix pedantic compiler warnings - -2013-07-10 Jess Thrysoee - - * version-info: 0:46:0 - - * configure.ac, src/el.c: ~/.editrc was never sourced on Linux. - On Linux issetugid is not available. When unable to determine if - the current process is tainted, we did not trust the HOME environment - variable and therefore could not load ~/.editrc. - Now instead use secure_getenv or a issetugid based implementation of secure_getenv. - Patch by Paolo Tosco. - -2013-06-11 Jess Thrysoee - - * version-info: 0:45:0 - - * configure.ac: fix AM_CONDITIONAL regression for strlcpy, strlcat, vis, - unvis checks. - -2013-06-08 Jess Thrysoee - - * version-info: 0:44:0 - - * configure.ac, src/Makefile.am: Prevent 'ranlib: has no symbols' build - warnings for systems that has strlcpy, strlcat, vis, unvis. - -2013-06-01 Jess Thrysoee - - * version-info: 0:43:0 - - * all: sync with upstream source. - -2012-12-13 Jess Thrysoee - - * version-info: 0:42:0 - - * all: sync with upstream source. - -2012-06-01 Jess Thrysoee - - * version-info: 0:41:0 - - * all: sync with upstream source. - -2012-05-22 Jess Thrysoee - - * version-info: 0:40:0 - - * all: sync with upstream source. - -2012-03-11 Jess Thrysoee - - * version-info: 0:39:0 - - * all: sync with upstream source. - -2011-08-02 Jess Thrysoee - - * version-info: 0:38:0 - - * all: sync with upstream source. - -2011-07-09 Jess Thrysoee - - * version-info: 0:37:0 - - * all: sync with upstream source. - -2011-02-27 Jess Thrysoee - - * version-info: 0:36:0 - - * all: sync with upstream source. - -2010-04-24 Jess Thrysoee - - * version-info: 0:35:0 - - * all: sync with upstream source. - Now with UTF-8 support. To enable this run 'configure --enable-widec'. - For now an UTF-32 encoded wchar_t is required. - This requirement is met on NetBSD, Solaris and OS X for any UTF-8 locale, - and any system that define __STDC_ISO_10646__ (e.g. GNU libc on Linux). - -2009-09-23 Jess Thrysoee - * version-info: 0:34:0 - - * all: apply Apple patches from: - http://opensource.apple.com/source/libedit/libedit-11/patches - -2009-09-05 Jess Thrysoee - - * version-info: 0:33:0 - - * all: Use predefined macro __sun to identify Solaris - - * src/el.c: Ignore comment lines in .editrc - -2009-07-23 Jess Thrysoee - - * version-info: 0:32:0 - - * all: sync with upstream source. - -2009-06-10 Jess Thrysoee - - * version-info: 0:31:0 - - * all: sync with upstream source. - -2009-05-03 Jess Thrysoee - - * version-info: 0:30:0 - - * all: sync with upstream source. - -2009-04-05 Jess Thrysoee - - * version-info: 0:29:0 - - * all: sync with upstream source. - -2009-01-11 Jess Thrysoee - - * version-info: 0:28:0 - - * all: sync with upstream source. MAJOR.MINOR version is now 3.0. - This is due to NetBSD changing time_t and dev_t to 64 bits. It does - not really effect this package. - - * configure.ac: Remove '--enable-debug' configure flag. The autoconf way - to control flags is by specifying them when running configure, - e.g. 'CFLAGS="-O0 -g" ./configure' - -2008-07-12 Jess Thrysoee - - * version-info: 0:27:0 - - * configure.ac: Added '--enable-debug' configure flag, to produce debugging - information. - - * examples/fileman.c: cast stat struct members, st_nlink and st_size, - appropriately (see also 'man 2 stat'). Patch by Alex Elder. - - * all: sync with upstream source. MINOR version is now 11. - -2007-08-31 Jess Thrysoee - - * version-info: 0:26:0 - - * libedit.pc.in,Makefile.am,configure.ac,patches/extra_dist_list.sh: - Added pkg-config support for libedit. Patch by Masatake YAMATO. - -2007-08-13 Jess Thrysoee - - * version-info: 0:25:0 - - * all: sync with upstream source. - -2007-03-02 Jess Thrysoee - - * version-info: 0:24:0 - - * all: sync with upstream source. - -2006-10-22 Jess Thrysoee - - * version-info: 0:23:0 - - * src/shlib_version: Upstream bumped minor version from 9 to 10. - - * all: sync with upstream source. More readline functions. - -2006-10-22 Jess Thrysoee - - * version-info: 0:22:0 - - * all: sync with upstream source. - -2006-08-29 Jess Thrysoee - - * version-info: 0:21:0 - - * all: License cleanup. All 4-clause advertising BSD licenses has been - changed to the 3-clause version by upstream. - - * src/fgetln.c: use src/tools/compat/fgetln.c instead of - othersrc/libexec/tnftpd/libnetbsd/fgetln.c - -2006-08-16 Jess Thrysoee - - * version-info: 0:20:0 - - * all: sync with upstream source. - -2006-06-03 Jess Thrysoee - - * version-info: 0:19:0 - - * COPYING: added global license file - - * all: sync with upstream source. - -2006-02-13 Jess Thrysoee - - * version-info: 0:18:0 - - * src/readline.c: Partial rl_getc_function support, patch by Kjeld Borch - Egevang. - - * src/readline.c: Make write_history and read_history returncode readline - compatible. Upstream patch. - -2006-01-03 Jess Thrysoee - - * version-info: 0:17:0 - - * patches/cvs_export.sh: strlcat.c and strlcpy.c was moved to - src/common/lib/libc/string in the upstream cvs repository. - - * all: sync with upstream source. - -2005-10-22 Jess Thrysoee - - * version-info: 0:16:0 - - * patches/*.patch, configure.ac: define SCCSID, undef LIBC_SCCS. Remove - fourteen cosmetic patches. - - * all: sync with upstream source. - -2005-09-11 Jess Thrysoee - - * version-info: 0:15:0 - - * src/Makefile.am: fix typo that meant generated files were distributes, - and make generated file targets dependent on the the 'makelist' input - files. - - * all: sync with upstream source. This is just a manpage update - -2005-08-28 Jess Thrysoee - - * version-info: 0:14:0 - - * src/sys.h: include config.h to avoid "redefinition of - `u_int32_t'". Patch by Norihiko Murase. - - * src/search.c: explicitly include sys/types.h, because regex.h on - FreeBSD needs it and does not include it itself. Patch by Norihiko Murase. - - * acinclude.m4: added EL_GETPW_R_DRAFT test and use AC_TRY_LINK instead - of AC_TRY_COMPILE. Suggested by Norihiko Murase. - - * all: sync with upstream source. - -2005-08-16 Jess Thrysoee - - * version-info: 0:13:0 - - * all: sync with upstream source. - -2005-08-05 Jess Thrysoee - - * version-info: 0:12:0 - - * all: sync with upstream source. - -2005-07-24 Jess Thrysoee - - * version-info: 0:11:0 - - * histedit.h, histedit.c, readline.c, editline/readline.h: From - upstream; added remove_history(). - -2005-07-07 Jess Thrysoee - - * version-info: 0:10:0 - - * history.c, key.c: From upstream source; Fix memory leaks found by - valgrind. - -2005-06-28 Jess Thrysoee - - * version-info: 0:9:0 - - * src/readline.c: getpwent_r is not POSIX, always use getpwent. - Reported by Gerrit P. Haase. - - * src/Makefile.am: Added libtool -no-undefined. This is needed on Cygwin - to get a shared editline library. Should not affect other platforms. - Suggested by Gerrit P. Haase. - -2005-06-15 Jess Thrysoee - - * version-info: 0:8:0 - - * all: sync with upstream source. - -2005-06-01 Jess Thrysoee - - * version-info: 0:7:0 - - * all: sync with upstream source. - - * src/readline.c, src/filecomplete.c: Solaris use POSIX draft versions - of getpwent_r, getpwnam_r and getpwuid_r which return 'struct passwd *'. - Define HAVE_GETPW_R_POSIX if these functions are (non draft) POSIX - compatible. Patch by Julien Torrès. - -2005-05-28 Jess Thrysoee - - * version-info: 0:6:0 - - * all: sync with upstream source. - -2005-03-11 Jess Thrysoee - - * version-info: 0:5:0 - - * all: sync with upstream source. - -2004-12-07 Jess Thrysoee - - * version-info: 0:4:0 - - * src/readline.c: d_namlen (in struct dirent) is not portable, always - use strlen. Patch by Scott Rankin. - -2004-11-27 Jess Thrysoee - - * version-info: 0:3:0 - - * src/history.c: bug #26785 fixed upstream, removed local patch. - -2004-11-06 Jess Thrysoee - - * version-info: 0:2:0 - - * all: sync with upstream source. - - * doc/Makefile.am: If mdoc2man fails, remove empty file. Patch by - Darren Tucker. - -2004-10-14 Jess Thrysoee - - * version-info: 0:1:0 - - * doc/Makefile.am: 'make install' twice fails. Remove old links before - trying to link the man pages. Patch by Rick Richardson. - -2004-09-28 Jess Thrysoee - - * version-info: 0:0:0 - - * acinclude.m4 configure.ac src/Makefile.am: Adhere to - LibTools library interface versions recommendation. - http://www.gnu.org/software/libtool/manual.html#SEC32 - - * doc/Makefile.am: name all manpage links as el_* (e.g. el_history.3) - to avoid conflicts. - -2004-09-08 Jess Thrysoee - - * all: Initial package. diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/compile mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/compile --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/compile 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/compile 1970-01-01 00:00:00.000000000 +0000 @@ -1,348 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ - icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/config.guess mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/config.guess --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/config.guess 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/config.guess 1970-01-01 00:00:00.000000000 +0000 @@ -1,1476 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2018 Free Software Foundation, Inc. - -timestamp='2018-03-08' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2018 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > "$dummy.c" ; - for c in cc gcc c89 c99 ; do - if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "$UNAME_SYSTEM" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval "$set_cc_for_build" - cat <<-EOF > "$dummy.c" - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" - - # If ldd exists, use it to detect musl libc. - if command -v ldd >/dev/null && \ - ldd --version 2>&1 | grep -q ^musl - then - LIBC=musl - fi - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - "/sbin/$sysctl" 2>/dev/null || \ - "/usr/sbin/$sysctl" 2>/dev/null || \ - echo unknown)` - case "$UNAME_MACHINE_ARCH" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine="${arch}${endian}"-unknown - ;; - *) machine="$UNAME_MACHINE_ARCH"-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case "$UNAME_MACHINE_ARCH" in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval "$set_cc_for_build" - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "$UNAME_VERSION" in - Debian*) - release='-gnu' - ;; - *) - release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; - *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; - *:ekkoBSD:*:*) - echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" - exit ;; - *:SolidBSD:*:*) - echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd"$UNAME_RELEASE" - exit ;; - *:MirBSD:*:*) - echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" - exit ;; - *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; - *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; - mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix"$UNAME_RELEASE" - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux"$UNAME_RELEASE" - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval "$set_cc_for_build" - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos"$UNAME_RELEASE" - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos"$UNAME_RELEASE" - ;; - sun4) - echo sparc-sun-sunos"$UNAME_RELEASE" - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos"$UNAME_RELEASE" - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint"$UNAME_RELEASE" - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint"$UNAME_RELEASE" - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint"$UNAME_RELEASE" - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten"$UNAME_RELEASE" - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten"$UNAME_RELEASE" - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix"$UNAME_RELEASE" - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix"$UNAME_RELEASE" - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix"$UNAME_RELEASE" - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval "$set_cc_for_build" - sed 's/^ //' << EOF > "$dummy.c" -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && - dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`"$dummy" "$dummyarg"` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos"$UNAME_RELEASE" - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] - then - if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ - [ "$TARGET_BINARY_INTERFACE"x = x ] - then - echo m88k-dg-dgux"$UNAME_RELEASE" - else - echo m88k-dg-dguxbcs"$UNAME_RELEASE" - fi - else - echo i586-dg-dgux"$UNAME_RELEASE" - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" - fi - echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval "$set_cc_for_build" - sed 's/^ //' << EOF > "$dummy.c" - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" - fi - echo "$IBM_ARCH"-ibm-aix"$IBM_REV" - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - case "$UNAME_MACHINE" in - 9000/31?) HP_ARCH=m68000 ;; - 9000/[34]??) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "$sc_cpu_version" in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "$sc_kernel_bits" in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "$HP_ARCH" = "" ]; then - eval "$set_cc_for_build" - sed 's/^ //' << EOF > "$dummy.c" - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ "$HP_ARCH" = hppa2.0w ] - then - eval "$set_cc_for_build" - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - echo "$HP_ARCH"-hp-hpux"$HPUX_REV" - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux"$HPUX_REV" - exit ;; - 3050*:HI-UX:*:*) - eval "$set_cc_for_build" - sed 's/^ //' << EOF > "$dummy.c" - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo "$UNAME_MACHINE"-unknown-osf1mk - else - echo "$UNAME_MACHINE"-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi"$UNAME_RELEASE" - exit ;; - *:BSD/OS:*:*) - echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case "$UNAME_PROCESSOR" in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; - i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; - *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; - *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; - *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; - i*:PW*:*) - echo "$UNAME_MACHINE"-pc-pw32 - exit ;; - *:Interix*:*) - case "$UNAME_MACHINE" in - x86) - echo i586-pc-interix"$UNAME_RELEASE" - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix"$UNAME_RELEASE" - exit ;; - IA64) - echo ia64-unknown-interix"$UNAME_RELEASE" - exit ;; - esac ;; - i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - *:GNU:*:*) - # the GNU system - echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" - exit ;; - i*86:Minix:*:*) - echo "$UNAME_MACHINE"-pc-minix - exit ;; - aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arm*:Linux:*:*) - eval "$set_cc_for_build" - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi - else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; - ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval "$set_cc_for_build" - sed 's/^ //' << EOF > "$dummy.c" - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" - test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } - ;; - mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; - sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; - x86_64:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; - xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo "$UNAME_MACHINE"-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo "$UNAME_MACHINE"-unknown-stop - exit ;; - i*86:atheos:*:*) - echo "$UNAME_MACHINE"-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo "$UNAME_MACHINE"-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos"$UNAME_RELEASE" - exit ;; - i*86:*DOS:*:*) - echo "$UNAME_MACHINE"-pc-msdosdjgpp - exit ;; - i*86:*:4.*:*) - UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" - else - echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" - else - echo "$UNAME_MACHINE"-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos"$UNAME_RELEASE" - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos"$UNAME_RELEASE" - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos"$UNAME_RELEASE" - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos"$UNAME_RELEASE" - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv"$UNAME_RELEASE" - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo "$UNAME_MACHINE"-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo "$UNAME_MACHINE"-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux"$UNAME_RELEASE" - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv"$UNAME_RELEASE" - else - echo mips-unknown-sysv"$UNAME_RELEASE" - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux"$UNAME_RELEASE" - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux"$UNAME_RELEASE" - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux"$UNAME_RELEASE" - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux"$UNAME_RELEASE" - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux"$UNAME_RELEASE" - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux"$UNAME_RELEASE" - exit ;; - SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody"$UNAME_RELEASE" - exit ;; - *:Rhapsody:*:*) - echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval "$set_cc_for_build" - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = 386; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo "$UNAME_MACHINE"-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux"$UNAME_RELEASE" - exit ;; - *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "$UNAME_MACHINE" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" - exit ;; - i*86:rdos:*:*) - echo "$UNAME_MACHINE"-pc-rdos - exit ;; - i*86:AROS:*:*) - echo "$UNAME_MACHINE"-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; - amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; -esac - -echo "$0: unable to guess system type" >&2 - -case "$UNAME_MACHINE:$UNAME_SYSTEM" in - mips:Linux | mips64:Linux) - # If we got here on MIPS GNU/Linux, output extra information. - cat >&2 <&2 </dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = "$UNAME_MACHINE" -UNAME_RELEASE = "$UNAME_RELEASE" -UNAME_SYSTEM = "$UNAME_SYSTEM" -UNAME_VERSION = "$UNAME_VERSION" -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/config.h.in mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/config.h.in --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/config.h.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/config.h.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,284 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if the `closedir' function returns void instead of `int'. */ -#undef CLOSEDIR_VOID - -/* Define to 1 if you have the header file. */ -#undef HAVE_CURSES_H - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_DIRENT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the `endpwent' function. */ -#undef HAVE_ENDPWENT - -/* Define to 1 if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the `fork' function. */ -#undef HAVE_FORK - -/* Define to 1 if you have the `getline' function. */ -#undef HAVE_GETLINE - -/* Define to 1 if you have getpwnam_r and getpwuid_r that are draft POSIX.1 - versions. */ -#undef HAVE_GETPW_R_DRAFT - -/* Define to 1 if you have getpwnam_r and getpwuid_r that are POSIX.1 - compatible. */ -#undef HAVE_GETPW_R_POSIX - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the `isascii' function. */ -#undef HAVE_ISASCII - -/* Define to 1 if you have the `issetugid' function. */ -#undef HAVE_ISSETUGID - -/* Define to 1 if you have the `curses' library (-lcurses). */ -#undef HAVE_LIBCURSES - -/* Define to 1 if you have the `ncurses' library (-lncurses). */ -#undef HAVE_LIBNCURSES - -/* Define to 1 if you have the `termcap' library (-ltermcap). */ -#undef HAVE_LIBTERMCAP - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MALLOC_H - -/* Define to 1 if you have the `memchr' function. */ -#undef HAVE_MEMCHR - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - -/* Define to 1 if you have the header file. */ -#undef HAVE_NCURSES_H - -/* Define to 1 if you have the header file, and it defines `DIR'. */ -#undef HAVE_NDIR_H - -/* Define to 1 if you have the `regcomp' function. */ -#undef HAVE_REGCOMP - -/* Define to 1 if you have the `re_comp' function. */ -#undef HAVE_RE_COMP - -/* Define to 1 if you have the `secure_getenv' function. */ -#undef HAVE_SECURE_GETENV - -/* Define to 1 if `stat' has the bug that it succeeds when given the - zero-length file name argument. */ -#undef HAVE_STAT_EMPTY_STRING_BUG - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP - -/* Define to 1 if you have the `strchr' function. */ -#undef HAVE_STRCHR - -/* Define to 1 if you have the `strcspn' function. */ -#undef HAVE_STRCSPN - -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strlcat' function. */ -#undef HAVE_STRLCAT - -/* Define to 1 if you have the `strlcpy' function. */ -#undef HAVE_STRLCPY - -/* Define to 1 if you have the `strrchr' function. */ -#undef HAVE_STRRCHR - -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if you have the `strtol' function. */ -#undef HAVE_STRTOL - -/* Define to 1 if struct dirent has member d_namlen */ -#undef HAVE_STRUCT_DIRENT_D_NAMLEN - -/* Define to 1 if you have the `strunvis' function. */ -#undef HAVE_STRUNVIS - -/* Define to 1 if you have the `strvis' function. */ -#undef HAVE_STRVIS - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_CDEFS_H - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_SYS_DIR_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IOCTL_H - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_SYS_NDIR_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have that is POSIX.1 compatible. */ -#undef HAVE_SYS_WAIT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_TERMCAP_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_TERM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if the system has the type `u_int32_t'. */ -#undef HAVE_U_INT32_T - -/* Define to 1 if you have the `vfork' function. */ -#undef HAVE_VFORK - -/* Define to 1 if you have the header file. */ -#undef HAVE_VFORK_H - -/* Define to 1 if you have the `vis' function. */ -#undef HAVE_VIS - -/* Define to 1 if you have the `wcsdup' function. */ -#undef HAVE_WCSDUP - -/* Define to 1 if `fork' works. */ -#undef HAVE_WORKING_FORK - -/* Define to 1 if `vfork' works. */ -#undef HAVE_WORKING_VFORK - -/* Define to 1 if you have the `__secure_getenv' function. */ -#undef HAVE___SECURE_GETENV - -/* Define to 1 if `lstat' dereferences a symlink specified with a trailing - slash. */ -#undef LSTAT_FOLLOWS_SLASHED_SYMLINK - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#undef LT_OBJDIR - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Version number of package */ -#undef VERSION - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `int' if does not define. */ -#undef pid_t - -/* Define to `unsigned int' if does not define. */ -#undef size_t - -/* Define as `fork' if `vfork' does not work. */ -#undef vfork - - -#include "sys.h" -#define SCCSID -#undef LIBC_SCCS -#define lint - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/config.sub mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/config.sub --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/config.sub 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/config.sub 1970-01-01 00:00:00.000000000 +0000 @@ -1,1801 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2018 Free Software Foundation, Inc. - -timestamp='2018-03-08' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2018 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo "$1" - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo "$1" | sed 's/-[^-]*$//'` - if [ "$basic_machine" != "$1" ] - then os=`echo "$1" | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | wasm32 \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | wasm32-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-pc - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2*) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - nsv-tandem) - basic_machine=nsv-tandem - ;; - nsx-tandem) - basic_machine=nsx-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - x64) - basic_machine=x86_64-pc - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases that might get confused - # with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # es1800 is here to avoid being matched by es* (a different OS) - -es1800*) - os=-ose - ;; - # Now accept the basic system types. - # The portable systems comes first. - # Each alternative MUST end in a * to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ - | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ - | -midnightbsd*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -xray | -os68k* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo "$os" | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo "$os" | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo "$os" | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4*) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -pikeos*) - # Until real need of OS specific support for - # particular features comes up, bare metal - # configurations are quite functional. - case $basic_machine in - arm*) - os=-eabi - ;; - *) - os=-elf - ;; - esac - ;; - -nacl*) - ;; - -ios) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - pru-*) - os=-elf - ;; - *-be) - os=-beos - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` - ;; -esac - -echo "$basic_machine$os" -exit - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/configure mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/configure --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/configure 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/configure 1970-01-01 00:00:00.000000000 +0000 @@ -1,16038 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libedit 3.1. -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='libedit' -PACKAGE_TARNAME='libedit-20190324' -PACKAGE_VERSION='3.1' -PACKAGE_STRING='libedit 3.1' -PACKAGE_BUGREPORT='' -PACKAGE_URL='' - -ac_unique_file="src/strlcat.c" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -HAVE_UNVIS_FALSE -HAVE_UNVIS_TRUE -HAVE_VIS_FALSE -HAVE_VIS_TRUE -HAVE_STRLCAT_FALSE -HAVE_STRLCAT_TRUE -HAVE_STRLCPY_FALSE -HAVE_STRLCPY_TRUE -LIBOBJS -ENABLE_EXAMPLES_FALSE -ENABLE_EXAMPLES_TRUE -MANTYPE -NROFF -LT_VERSION -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -ac_ct_AR -AR -DLLTOOL -OBJDUMP -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -LIBTOOL -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__include -DEPDIR -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -EGREP -GREP -CPP -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL -am__quote' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_dependency_tracking -enable_silent_rules -enable_shared -enable_static -with_pic -enable_fast_install -with_aix_soname -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_widec -enable_examples -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -LT_SYS_LIBRARY_PATH' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures libedit 3.1 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root - [DATAROOTDIR/doc/libedit-20190324] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of libedit 3.1:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-widec deprecated, wide-character/UTF-8 is always enabled - --enable-examples build the example programs [default=yes] - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, [default=aix]. - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot[=DIR] Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to the package provider. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -libedit configure 3.1 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES -# ---------------------------------------------------- -# Tries to find if the field MEMBER exists in type AGGR, after including -# INCLUDES, setting cache variable VAR accordingly. -ac_fn_c_check_member () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 -$as_echo_n "checking for $2.$3... " >&6; } -if eval \${$4+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (sizeof ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - eval "$4=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$4 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_member - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by libedit $as_me 3.1, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - -ac_config_headers="$ac_config_headers config.h" - - -# features of Posix that are extensions to C (define _GNU_SOURCE) -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = xyes; then : - MINIX=yes -else - MINIX= -fi - - - if test "$MINIX" = yes; then - -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h - - -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h - - -$as_echo "#define _MINIX 1" >>confdefs.h - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if ${ac_cv_safe_to_define___extensions__+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes -else - ac_cv_safe_to_define___extensions__=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - - - -am__api_version='1.16' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 - (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - case $?:`cat confinc.out 2>/dev/null` in #( - '0:this is the am__doit target') : - case $s in #( - BSD) : - am__include='.include' am__quote='"' ;; #( - *) : - am__include='include' am__quote='' ;; -esac ;; #( - *) : - ;; -esac - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='libedit-20190324' - VERSION='3.1' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.6' -macro_revision='2.4.6' - - - - - - - - - - - - - -ltmain=$ac_aux_dir/ltmain.sh - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test yes != "$GCC"; then - reload_cmds=false - fi - ;; - darwin*) - if test yes = "$GCC"; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -if test -z "$lt_DD"; then - ac_path_lt_DD_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_lt_DD" || continue -if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi - $ac_path_lt_DD_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_lt_DD"; then - : - fi -else - ac_cv_path_lt_DD=$lt_DD -fi - -rm -f conftest.i conftest2.i conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } - - - - - - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - emul=elf - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[012][,.]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options - - - - enable_dlopen=no - - - enable_win32_dll=no - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - pic_mode=default -fi - - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } - -# Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_with_aix_soname=aix -fi - - with_aix_soname=$lt_cv_with_aix_soname -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/${ac_tool_prefix}file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC=$CC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - lt_prog_compiler_pic='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works"; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works"; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - export_dynamic_flag_spec='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='$wl--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test no = "$ld_shlibs"; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct=no - hardcode_direct_absolute=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' $wl-bernotok' - allow_undefined_flag=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test yes = "$lt_cv_prog_compiler__b"; then - archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' - fi - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs=yes - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - else - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='$wl-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='$wl-z,text' - allow_undefined_flag='$wl-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test no = "$ld_shlibs" && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([A-Za-z]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test yes = "$hardcode_automatic"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && - test no != "$hardcode_minus_L"; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test relink = "$hardcode_action" || - test yes = "$inherit_rpath"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - -# libtool -version-info -LT_VERSION=0:60:0 - - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - -# Checks for programs. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 -$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } -if ${ac_cv_prog_cc_c99+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static void -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str; - int number; - float fnumber; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); -} - -int -main () -{ - - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); - - ; - return 0; -} -_ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c99=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c99" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c99" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c99" != xno; then : - -fi - - -#AC_PROG_CC -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - - - MANTYPE= - TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" - for ac_prog in nroff awf -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_NROFF+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $NROFF in - [\\/]* | ?:[\\/]*) - ac_cv_path_NROFF="$NROFF" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $TestPath -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -NROFF=$ac_cv_path_NROFF -if test -n "$NROFF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5 -$as_echo "$NROFF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$NROFF" && break -done -test -n "$NROFF" || NROFF="/bin/false" - - if ${NROFF} -mdoc ${srcdir}/doc/editrc.5.roff >/dev/null 2>&1; then - MANTYPE=mdoc - fi - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5 -$as_echo_n "checking for tgetent in -lncurses... " >&6; } -if ${ac_cv_lib_ncurses_tgetent+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncurses_tgetent=yes -else - ac_cv_lib_ncurses_tgetent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5 -$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; } -if test "x$ac_cv_lib_ncurses_tgetent" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBNCURSES 1 -_ACEOF - - LIBS="-lncurses $LIBS" - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lcurses" >&5 -$as_echo_n "checking for tgetent in -lcurses... " >&6; } -if ${ac_cv_lib_curses_tgetent+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcurses $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_curses_tgetent=yes -else - ac_cv_lib_curses_tgetent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_tgetent" >&5 -$as_echo "$ac_cv_lib_curses_tgetent" >&6; } -if test "x$ac_cv_lib_curses_tgetent" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCURSES 1 -_ACEOF - - LIBS="-lcurses $LIBS" - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 -$as_echo_n "checking for tgetent in -ltermcap... " >&6; } -if ${ac_cv_lib_termcap_tgetent+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltermcap $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_termcap_tgetent=yes -else - ac_cv_lib_termcap_tgetent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetent" >&5 -$as_echo "$ac_cv_lib_termcap_tgetent" >&6; } -if test "x$ac_cv_lib_termcap_tgetent" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBTERMCAP 1 -_ACEOF - - LIBS="-ltermcap $LIBS" - -else - as_fn_error $? "libncurses, libcurses, or libtermcap is required!" "$LINENO" 5 - -fi - - -fi - - -fi - - -### deprecate option --enable-widec to turn on use of wide-character support - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if you want wide-character code" >&5 -$as_echo_n "checking if you want wide-character code... " >&6; } - # Check whether --enable-widec was given. -if test "${enable_widec+set}" = set; then : - enableval=$enable_widec; with_widec=$enableval -else - with_widec=no -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_widec" >&5 -$as_echo "$with_widec" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-widec is deprecated, wide-character/UTF-8 is always enabled" >&5 -$as_echo "$as_me: WARNING: --enable-widec is deprecated, wide-character/UTF-8 is always enabled" >&2;} - - -# Check whether --enable-examples was given. -if test "${enable_examples+set}" = set; then : - enableval=$enable_examples; enable_examples="$enableval" -else - enable_examples="yes" - -fi - - - if test "$enable_examples" = "yes"; then - ENABLE_EXAMPLES_TRUE= - ENABLE_EXAMPLES_FALSE='#' -else - ENABLE_EXAMPLES_TRUE='#' - ENABLE_EXAMPLES_FALSE= -fi - - -# Checks for header files. -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 -$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if eval \${$as_ac_Header+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_ac_Header=yes" -else - eval "$as_ac_Header=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_ac_Header - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 -_ACEOF - -ac_header_dirent=$ac_hdr; break -fi - -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 -$as_echo_n "checking for library containing opendir... " >&6; } -if ${ac_cv_search_opendir+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dir; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_opendir=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_opendir+:} false; then : - break -fi -done -if ${ac_cv_search_opendir+:} false; then : - -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 -$as_echo "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 -$as_echo_n "checking for library containing opendir... " >&6; } -if ${ac_cv_search_opendir+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' x; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_opendir=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_opendir+:} false; then : - break -fi -done -if ${ac_cv_search_opendir+:} false; then : - -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 -$as_echo "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 -$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if ${ac_cv_header_sys_wait_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) -#endif -#ifndef WIFEXITED -# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif - -int -main () -{ - int s; - wait (&s); - s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_sys_wait_h=yes -else - ac_cv_header_sys_wait_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 -$as_echo "$ac_cv_header_sys_wait_h" >&6; } -if test $ac_cv_header_sys_wait_h = yes; then - -$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h - -fi - -for ac_header in fcntl.h limits.h malloc.h stdlib.h string.h sys/ioctl.h sys/param.h unistd.h curses.h ncurses.h sys/cdefs.h termcap.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -ac_fn_c_check_header_mongrel "$LINENO" "ncurses.h" "ac_cv_header_ncurses_h" "$ac_includes_default" -if test "x$ac_cv_header_ncurses_h" = xyes; then : - -else - ac_fn_c_check_header_mongrel "$LINENO" "curses.h" "ac_cv_header_curses_h" "$ac_includes_default" -if test "x$ac_cv_header_curses_h" = xyes; then : - -else - ac_fn_c_check_header_mongrel "$LINENO" "termcap.h" "ac_cv_header_termcap_h" "$ac_includes_default" -if test "x$ac_cv_header_termcap_h" = xyes; then : - -else - as_fn_error $? "ncurses.h, curses.h, or termcap.h is required!" "$LINENO" 5 -fi - - -fi - - -fi - - - -ac_fn_c_check_header_mongrel "$LINENO" "termios.h" "ac_cv_header_termios_h" "$ac_includes_default" -if test "x$ac_cv_header_termios_h" = xyes; then : - -else - as_fn_error $? "termios.h is required!" "$LINENO" 5 -fi - - - -## include curses.h to prevent "Present But Cannot Be Compiled" -for ac_header in term.h -do : - ac_fn_c_check_header_compile "$LINENO" "term.h" "ac_cv_header_term_h" "#if HAVE_CURSES_H -# include -#elif HAVE_NCURSES_H -# include -#endif - -" -if test "x$ac_cv_header_term_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TERM_H 1 -_ACEOF - -fi - -done - - -# Check for dirent.d_namlen field explicitly -# (This is a bit more straightforward than, if not quite as portable as, -# the recipe given by the autoconf maintainers.) -ac_fn_c_check_member "$LINENO" "struct dirent" "d_namlen" "ac_cv_member_struct_dirent_d_namlen" "#if HAVE_DIRENT_H -#include -#endif - -" -if test "x$ac_cv_member_struct_dirent_d_namlen" = xyes; then : - -$as_echo "#define HAVE_STRUCT_DIRENT_D_NAMLEN 1" >>confdefs.h - -fi - - -# Checks for typedefs, structures, and compiler characteristics. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - -#ifndef __cplusplus - /* Ultrix mips cc rejects this sort of thing. */ - typedef int charset[2]; - const charset cs = { 0, 0 }; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this sort of thing. */ - char tx; - char *t = &tx; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; } bx; - struct s *b = &bx; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_const=yes -else - ac_cv_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -$as_echo "#define const /**/" >>confdefs.h - -fi - -ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define pid_t int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "$ac_includes_default" -if test "x$ac_cv_type_u_int32_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_U_INT32_T 1 -_ACEOF - - -fi - - -# Checks for library functions. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5 -$as_echo_n "checking whether closedir returns void... " >&6; } -if ${ac_cv_func_closedir_void+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_closedir_void=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header_dirent> -#ifndef __cplusplus -int closedir (); -#endif - -int -main () -{ -return closedir (opendir (".")) != 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_closedir_void=no -else - ac_cv_func_closedir_void=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5 -$as_echo "$ac_cv_func_closedir_void" >&6; } -if test $ac_cv_func_closedir_void = yes; then - -$as_echo "#define CLOSEDIR_VOID 1" >>confdefs.h - -fi - -for ac_header in vfork.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" -if test "x$ac_cv_header_vfork_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VFORK_H 1 -_ACEOF - -fi - -done - -for ac_func in fork vfork -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -if test "x$ac_cv_func_fork" = xyes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 -$as_echo_n "checking for working fork... " >&6; } -if ${ac_cv_func_fork_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_fork_works=cross -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* By Ruediger Kuhlmann. */ - return fork () < 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_fork_works=yes -else - ac_cv_func_fork_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 -$as_echo "$ac_cv_func_fork_works" >&6; } - -else - ac_cv_func_fork_works=$ac_cv_func_fork -fi -if test "x$ac_cv_func_fork_works" = xcross; then - case $host in - *-*-amigaos* | *-*-msdosdjgpp*) - # Override, as these systems have only a dummy fork() stub - ac_cv_func_fork_works=no - ;; - *) - ac_cv_func_fork_works=yes - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 -$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} -fi -ac_cv_func_vfork_works=$ac_cv_func_vfork -if test "x$ac_cv_func_vfork" = xyes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 -$as_echo_n "checking for working vfork... " >&6; } -if ${ac_cv_func_vfork_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_vfork_works=cross -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Thanks to Paul Eggert for this test. */ -$ac_includes_default -#include -#ifdef HAVE_VFORK_H -# include -#endif -/* On some sparc systems, changes by the child to local and incoming - argument registers are propagated back to the parent. The compiler - is told about this with #include , but some compilers - (e.g. gcc -O) don't grok . Test for this by using a - static variable whose address is put into a register that is - clobbered by the vfork. */ -static void -#ifdef __cplusplus -sparc_address_test (int arg) -# else -sparc_address_test (arg) int arg; -#endif -{ - static pid_t child; - if (!child) { - child = vfork (); - if (child < 0) { - perror ("vfork"); - _exit(2); - } - if (!child) { - arg = getpid(); - write(-1, "", 0); - _exit (arg); - } - } -} - -int -main () -{ - pid_t parent = getpid (); - pid_t child; - - sparc_address_test (0); - - child = vfork (); - - if (child == 0) { - /* Here is another test for sparc vfork register problems. This - test uses lots of local variables, at least as many local - variables as main has allocated so far including compiler - temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris - 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should - reuse the register of parent for one of the local variables, - since it will think that parent can't possibly be used any more - in this routine. Assigning to the local variable will thus - munge parent in the parent process. */ - pid_t - p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), - p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); - /* Convince the compiler that p..p7 are live; otherwise, it might - use the same hardware register for all 8 local variables. */ - if (p != p1 || p != p2 || p != p3 || p != p4 - || p != p5 || p != p6 || p != p7) - _exit(1); - - /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent - from child file descriptors. If the child closes a descriptor - before it execs or exits, this munges the parent's descriptor - as well. Test for this by closing stdout in the child. */ - _exit(close(fileno(stdout)) != 0); - } else { - int status; - struct stat st; - - while (wait(&status) != child) - ; - return ( - /* Was there some problem with vforking? */ - child < 0 - - /* Did the child fail? (This shouldn't happen.) */ - || status - - /* Did the vfork/compiler bug occur? */ - || parent != getpid() - - /* Did the file descriptor bug occur? */ - || fstat(fileno(stdout), &st) != 0 - ); - } -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_vfork_works=yes -else - ac_cv_func_vfork_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 -$as_echo "$ac_cv_func_vfork_works" >&6; } - -fi; -if test "x$ac_cv_func_fork_works" = xcross; then - ac_cv_func_vfork_works=$ac_cv_func_vfork - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 -$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} -fi - -if test "x$ac_cv_func_vfork_works" = xyes; then - -$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h - -else - -$as_echo "#define vfork fork" >>confdefs.h - -fi -if test "x$ac_cv_func_fork_works" = xyes; then - -$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h - -fi - -if test $ac_cv_c_compiler_gnu = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 -$as_echo_n "checking whether $CC needs -traditional... " >&6; } -if ${ac_cv_prog_gcc_traditional+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_pattern="Autoconf.*'x'" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -Autoconf TIOCGETP -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then : - ac_cv_prog_gcc_traditional=yes -else - ac_cv_prog_gcc_traditional=no -fi -rm -f conftest* - - - if test $ac_cv_prog_gcc_traditional = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -Autoconf TCGETA -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then : - ac_cv_prog_gcc_traditional=yes -fi -rm -f conftest* - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 -$as_echo "$ac_cv_prog_gcc_traditional" >&6; } - if test $ac_cv_prog_gcc_traditional = yes; then - CC="$CC -traditional" - fi -fi - -## _AIX is offended by rpl_malloc and rpl_realloc -#AC_FUNC_MALLOC -#AC_FUNC_REALLOC -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 -$as_echo_n "checking return type of signal handlers... " >&6; } -if ${ac_cv_type_signal+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -return *(signal (0, 0)) (0) == 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_type_signal=int -else - ac_cv_type_signal=void -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 -$as_echo "$ac_cv_type_signal" >&6; } - -cat >>confdefs.h <<_ACEOF -#define RETSIGTYPE $ac_cv_type_signal -_ACEOF - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 -$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } -if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest.sym conftest.file -echo >conftest.file -if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then - if test "$cross_compiling" = yes; then : - ac_cv_func_lstat_dereferences_slashed_symlink=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -struct stat sbuf; - /* Linux will dereference the symlink and fail, as required by POSIX. - That is better in the sense that it means we will not - have to compile and use the lstat wrapper. */ - return lstat ("conftest.sym/", &sbuf) == 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_lstat_dereferences_slashed_symlink=yes -else - ac_cv_func_lstat_dereferences_slashed_symlink=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -else - # If the `ln -s' command failed, then we probably don't even - # have an lstat function. - ac_cv_func_lstat_dereferences_slashed_symlink=no -fi -rm -f conftest.sym conftest.file - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 -$as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } - -test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && - -cat >>confdefs.h <<_ACEOF -#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 -_ACEOF - - -if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then - case " $LIBOBJS " in - *" lstat.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS lstat.$ac_objext" - ;; -esac - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat accepts an empty string" >&5 -$as_echo_n "checking whether stat accepts an empty string... " >&6; } -if ${ac_cv_func_stat_empty_string_bug+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_stat_empty_string_bug=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -struct stat sbuf; - return stat ("", &sbuf) == 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_stat_empty_string_bug=no -else - ac_cv_func_stat_empty_string_bug=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_stat_empty_string_bug" >&5 -$as_echo "$ac_cv_func_stat_empty_string_bug" >&6; } -if test $ac_cv_func_stat_empty_string_bug = yes; then - case " $LIBOBJS " in - *" stat.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS stat.$ac_objext" - ;; -esac - - -cat >>confdefs.h <<_ACEOF -#define HAVE_STAT_EMPTY_STRING_BUG 1 -_ACEOF - -fi - -for ac_func in endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat getline vis strvis strunvis __secure_getenv secure_getenv -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -# strlcpy -ac_fn_c_check_func "$LINENO" "strlcpy" "ac_cv_func_strlcpy" -if test "x$ac_cv_func_strlcpy" = xyes; then : - found_strlcpy=yes -else - found_strlcpy=no -fi - - if test "x$found_strlcpy" = xyes; then - HAVE_STRLCPY_TRUE= - HAVE_STRLCPY_FALSE='#' -else - HAVE_STRLCPY_TRUE='#' - HAVE_STRLCPY_FALSE= -fi - - -# strlcat -ac_fn_c_check_func "$LINENO" "strlcat" "ac_cv_func_strlcat" -if test "x$ac_cv_func_strlcat" = xyes; then : - found_strlcat=yes -else - found_strlcat=no -fi - - if test "x$found_strlcat" = xyes; then - HAVE_STRLCAT_TRUE= - HAVE_STRLCAT_FALSE='#' -else - HAVE_STRLCAT_TRUE='#' - HAVE_STRLCAT_FALSE= -fi - - -# vis -ac_fn_c_check_func "$LINENO" "vis" "ac_cv_func_vis" -if test "x$ac_cv_func_vis" = xyes; then : - found_vis=yes -else - found_vis=no -fi - - if test "x$found_vis" = xyes; then - HAVE_VIS_TRUE= - HAVE_VIS_FALSE='#' -else - HAVE_VIS_TRUE='#' - HAVE_VIS_FALSE= -fi - - -# unvis -ac_fn_c_check_func "$LINENO" "unvis" "ac_cv_func_unvis" -if test "x$ac_cv_func_unvis" = xyes; then : - found_unvis=yes -else - found_unvis=no -fi - - if test "x$found_unvis" = xyes; then - HAVE_UNVIS_TRUE= - HAVE_UNVIS_FALSE='#' -else - HAVE_UNVIS_TRUE='#' - HAVE_UNVIS_FALSE= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpwnam_r and getpwuid_r are posix like" >&5 -$as_echo_n "checking whether getpwnam_r and getpwuid_r are posix like... " >&6; } - # The prototype for the POSIX version is: - # int getpwnam_r(char *, struct passwd *, char *, size_t, struct passwd **) - # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **); - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - #include -int -main () -{ -getpwnam_r(NULL, NULL, NULL, (size_t)0, NULL); - getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "#define HAVE_GETPW_R_POSIX 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpwnam_r and getpwuid_r are posix _draft_ like" >&5 -$as_echo_n "checking whether getpwnam_r and getpwuid_r are posix _draft_ like... " >&6; } - # The prototype for the POSIX draft version is: - # struct passwd *getpwuid_r(uid_t, struct passwd *, char *, int); - # struct passwd *getpwnam_r(char *, struct passwd *, char *, int); - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - #include -int -main () -{ -getpwnam_r(NULL, NULL, NULL, (size_t)0); - getpwuid_r((uid_t)0, NULL, NULL, (size_t)0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "#define HAVE_GETPW_R_DRAFT 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - - - - -ac_config_files="$ac_config_files Makefile libedit.pc src/Makefile doc/Makefile examples/Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${ENABLE_EXAMPLES_TRUE}" && test -z "${ENABLE_EXAMPLES_FALSE}"; then - as_fn_error $? "conditional \"ENABLE_EXAMPLES\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_STRLCPY_TRUE}" && test -z "${HAVE_STRLCPY_FALSE}"; then - as_fn_error $? "conditional \"HAVE_STRLCPY\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_STRLCAT_TRUE}" && test -z "${HAVE_STRLCAT_FALSE}"; then - as_fn_error $? "conditional \"HAVE_STRLCAT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_VIS_TRUE}" && test -z "${HAVE_VIS_FALSE}"; then - as_fn_error $? "conditional \"HAVE_VIS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_UNVIS_TRUE}" && test -z "${HAVE_UNVIS_FALSE}"; then - as_fn_error $? "conditional \"HAVE_UNVIS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# 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 -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by libedit $as_me 3.1, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -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 the package provider." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -libedit config.status 3.1 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' -configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -OBJDUMP \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -DLLTOOL \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_import \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -lt_cv_nm_interface \ -nm_file_list_spec \ -lt_cv_truncate_bin \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -configure_time_dlsearch_path \ -configure_time_lt_sys_library_path; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile' - - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "libedit.pc") CONFIG_FILES="$CONFIG_FILES libedit.pc" ;; - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - 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 - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # 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 by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - case $CONFIG_FILES in #( - *\'*) : - eval set x "$CONFIG_FILES" ;; #( - *) : - set x $CONFIG_FILES ;; #( - *) : - ;; -esac - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`$as_dirname -- "$am_mf" || -$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$am_mf" : 'X\(//\)[^/]' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - am_filepart=`$as_basename -- "$am_mf" || -$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { echo "$as_me:$LINENO: cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles" >&5 - (cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } || am_rc=$? - done - if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } - fi - { am_dirpart=; unset am_dirpart;} - { am_filepart=; unset am_filepart;} - { am_mf=; unset am_mf;} - { am_rc=; unset am_rc;} - rm -f conftest-deps.mk -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/configure.ac mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/configure.ac --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/configure.ac 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/configure.ac 1970-01-01 00:00:00.000000000 +0000 @@ -1,155 +0,0 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. -# -# Compile with debug symbols: -# CFLAGS="-ggdb -pedandic -O0" ./configure -# CFLAGS="-ggdb -Wall -Wextra -pedantic -O0" ./configure -# -# Use libtool (glibtool on OSX) to debug: -# -# libtool --mode=execute gdb examples/tc1 -# -# Run valgrind like this, but note -# http://invisible-island.net/ncurses/ncurses.faq.html#config_leaks. -# -# libtool --mode=execute valgrind --leak-check=full examples/tc1 -# -# A valgrind suppressions file for ncurses is available at -# http://www.opensource.apple.com/source/ncurses/ncurses-27/ncurses/misc/ncurses.supp -# -# libtool --mode=execute valgrind --suppressions=ncurses.supp.txt --leak-check=full examples/tc1 -# -# Verbose output can be enabled with -# "./configure --disable-silent-rules" or "make V=1" -# - -AC_INIT(libedit, [EL_RELEASE],, libedit-[EL_TIMESTAMP]) -AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_SRCDIR([src/strlcat.c]) -AC_CONFIG_HEADER([config.h]) - -# features of Posix that are extensions to C (define _GNU_SOURCE) -AC_USE_SYSTEM_EXTENSIONS - -AM_INIT_AUTOMAKE -AC_PROG_LIBTOOL - -# libtool -version-info -AC_SUBST(LT_VERSION, [0:60:0]) - -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -# Checks for programs. -AC_PROG_CC_C99 -#AC_PROG_CC -AC_PROG_LN_S -AC_PROG_AWK -EL_MANTYPE - -AC_CHECK_LIB(ncurses, tgetent,, - [AC_CHECK_LIB(curses, tgetent,, - [AC_CHECK_LIB(termcap, tgetent,, - [AC_MSG_ERROR([libncurses, libcurses, or libtermcap is required!])] - )] - )] -) - -### deprecate option --enable-widec to turn on use of wide-character support -EL_DEPRECATE_WIDEC - -AC_ARG_ENABLE( - [examples], - [AS_HELP_STRING([--enable-examples], [build the example programs [default=yes]])], - [enable_examples="$enableval"], - [enable_examples="yes"] -) - -AM_CONDITIONAL(ENABLE_EXAMPLES, [test "$enable_examples" = "yes"]) - -# Checks for header files. -AC_HEADER_DIRENT -AC_HEADER_STDC -AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/ioctl.h sys/param.h unistd.h curses.h ncurses.h sys/cdefs.h termcap.h]) - -AC_CHECK_HEADER([ncurses.h], [], - [AC_CHECK_HEADER([curses.h], [], - [AC_CHECK_HEADER([termcap.h], [], - [AC_MSG_ERROR([ncurses.h, curses.h, or termcap.h is required!])], - [])], - [])], -[]) - -AC_CHECK_HEADER([termios.h], [], [AC_MSG_ERROR([termios.h is required!])], []) - -## include curses.h to prevent "Present But Cannot Be Compiled" -AC_CHECK_HEADERS([term.h],,, -[[#if HAVE_CURSES_H -# include -#elif HAVE_NCURSES_H -# include -#endif -]]) - -# Check for dirent.d_namlen field explicitly -# (This is a bit more straightforward than, if not quite as portable as, -# the recipe given by the autoconf maintainers.) -AC_CHECK_MEMBER(struct dirent.d_namlen, -AC_DEFINE([HAVE_STRUCT_DIRENT_D_NAMLEN],[1], -[Define to 1 if struct dirent has member d_namlen]),, -[#if HAVE_DIRENT_H -#include -#endif -]) - -# Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_PID_T -AC_TYPE_SIZE_T -AC_CHECK_TYPES([u_int32_t]) - -# Checks for library functions. -AC_FUNC_CLOSEDIR_VOID -AC_FUNC_FORK -AC_PROG_GCC_TRADITIONAL -## _AIX is offended by rpl_malloc and rpl_realloc -#AC_FUNC_MALLOC -#AC_FUNC_REALLOC -AC_TYPE_SIGNAL -AC_FUNC_STAT -AC_CHECK_FUNCS([endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat getline vis strvis strunvis __secure_getenv secure_getenv]) - -# strlcpy -AC_CHECK_FUNC(strlcpy, found_strlcpy=yes, found_strlcpy=no) -AM_CONDITIONAL(HAVE_STRLCPY, [test "x$found_strlcpy" = xyes]) - -# strlcat -AC_CHECK_FUNC(strlcat, found_strlcat=yes, found_strlcat=no) -AM_CONDITIONAL(HAVE_STRLCAT, [test "x$found_strlcat" = xyes]) - -# vis -AC_CHECK_FUNC(vis, found_vis=yes, found_vis=no) -AM_CONDITIONAL(HAVE_VIS, [test "x$found_vis" = xyes]) - -# unvis -AC_CHECK_FUNC(unvis, found_unvis=yes, found_unvis=no) -AM_CONDITIONAL(HAVE_UNVIS, [test "x$found_unvis" = xyes]) - - -EL_GETPW_R_POSIX -EL_GETPW_R_DRAFT - - -AH_BOTTOM([ -#include "sys.h" -#define SCCSID -#undef LIBC_SCCS -#define lint -]) - -AC_CONFIG_FILES([Makefile - libedit.pc - src/Makefile - doc/Makefile - examples/Makefile]) -AC_OUTPUT diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/COPYING mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/COPYING --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/COPYING 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/COPYING 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -Copyright (c) 1992, 1993 - The Regents of the University of California. All rights reserved. - -This code is derived from software contributed to Berkeley by -Christos Zoulas of Cornell University. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/depcomp mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/depcomp --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/depcomp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/depcomp 1970-01-01 00:00:00.000000000 +0000 @@ -1,791 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by 'PROGRAMS ARGS'. - object Object file output by 'PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# Get the directory component of the given path, and save it in the -# global variables '$dir'. Note that this directory component will -# be either empty or ending with a '/' character. This is deliberate. -set_dir_from () -{ - case $1 in - */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; - *) dir=;; - esac -} - -# Get the suffix-stripped basename of the given path, and save it the -# global variable '$base'. -set_base_from () -{ - base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` -} - -# If no dependency file was actually created by the compiler invocation, -# we still have to create a dummy depfile, to avoid errors with the -# Makefile "include basename.Plo" scheme. -make_dummy_depfile () -{ - echo "#dummy" > "$depfile" -} - -# Factor out some common post-processing of the generated depfile. -# Requires the auxiliary global variable '$tmpdepfile' to be set. -aix_post_process_depfile () -{ - # If the compiler actually managed to produce a dependency file, - # post-process it. - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependency.h'. - # Do two passes, one to just change these to - # $object: dependency.h - # and one to simply output - # dependency.h: - # which is needed to avoid the deleted-header problem. - { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" - sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" - } > "$depfile" - rm -f "$tmpdepfile" - else - make_dummy_depfile - fi -} - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' -# Character ranges might be problematic outside the C locale. -# These definitions help. -upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ -lower=abcdefghijklmnopqrstuvwxyz -digits=0123456789 -alpha=${upper}${lower} - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Avoid interferences from the environment. -gccflag= dashmflag= - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp -fi - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. -## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. -## (see the conditional assignment to $gccflag above). -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). Also, it might not be -## supported by the other compilers which use the 'gcc' depmode. -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The second -e expression handles DOS-style file names with drive - # letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the "deleted header file" problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. -## Some versions of gcc put a space before the ':'. On the theory -## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like '#:fec' to the end of the - # dependency line. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ - | tr "$nl" ' ' >> "$depfile" - echo >> "$depfile" - # The second pass generates a dummy entry for each header file. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" - ;; - -xlc) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts '$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - aix_post_process_depfile - ;; - -tcc) - # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 - # FIXME: That version still under development at the moment of writing. - # Make that this statement remains true also for stable, released - # versions. - # It will wrap lines (doesn't matter whether long or short) with a - # trailing '\', as in: - # - # foo.o : \ - # foo.c \ - # foo.h \ - # - # It will put a trailing '\' even on the last line, and will use leading - # spaces rather than leading tabs (at least since its commit 0394caf7 - # "Emit spaces for -MD"). - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. - # We have to change lines of the first kind to '$object: \'. - sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" - # And for each line of the second kind, we have to emit a 'dep.h:' - # dummy dependency, to avoid the deleted-header problem. - sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -## The order of this option in the case statement is important, since the -## shell code in configure will try each of these formats in the order -## listed in this file. A plain '-MD' option would be understood by many -## compilers, so we must ensure this comes after the gcc and icc options. -pgcc) - # Portland's C compiler understands '-MD'. - # Will always output deps to 'file.d' where file is the root name of the - # source file under compilation, even if file resides in a subdirectory. - # The object file name does not affect the name of the '.d' file. - # pgcc 10.2 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\' : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - set_dir_from "$object" - # Use the source, not the object, to determine the base name, since - # that's sadly what pgcc will do too. - set_base_from "$source" - tmpdepfile=$base.d - - # For projects that build the same source file twice into different object - # files, the pgcc approach of using the *source* file root name can cause - # problems in parallel builds. Use a locking strategy to avoid stomping on - # the same $tmpdepfile. - lockdir=$base.d-lock - trap " - echo '$0: caught signal, cleaning up...' >&2 - rmdir '$lockdir' - exit 1 - " 1 2 13 15 - numtries=100 - i=$numtries - while test $i -gt 0; do - # mkdir is a portable test-and-set. - if mkdir "$lockdir" 2>/dev/null; then - # This process acquired the lock. - "$@" -MD - stat=$? - # Release the lock. - rmdir "$lockdir" - break - else - # If the lock is being held by a different process, wait - # until the winning process is done or we timeout. - while test -d "$lockdir" && test $i -gt 0; do - sleep 1 - i=`expr $i - 1` - done - fi - i=`expr $i - 1` - done - trap - 1 2 13 15 - if test $i -le 0; then - echo "$0: failed to acquire lock after $numtries attempts" >&2 - echo "$0: check lockdir '$lockdir'" >&2 - exit 1 - fi - - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in 'foo.d' instead, so we check for that too. - # Subdirectories are respected. - set_dir_from "$object" - set_base_from "$object" - - if test "$libtool" = yes; then - # Libtool generates 2 separate objects for the 2 libraries. These - # two compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir$base.o.d # libtool 1.5 - tmpdepfile2=$dir.libs/$base.o.d # Likewise. - tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - # Same post-processing that is required for AIX mode. - aix_post_process_depfile - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - echo >> "$depfile" # make sure the fragment doesn't end with a backslash - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for ':' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. - "$@" $dashmflag | - sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this sed invocation - # correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process the last invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed '1,2d' "$tmpdepfile" \ - | tr ' ' "$nl" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E \ - | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - | sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editline.3.roff mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editline.3.roff --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editline.3.roff 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editline.3.roff 1970-01-01 00:00:00.000000000 +0000 @@ -1,1006 +0,0 @@ -.\" $NetBSD: editline.3,v 1.99 2018/11/18 17:09:39 christos Exp $ -.\" -.\" Copyright (c) 1997-2014 The NetBSD Foundation, Inc. -.\" All rights reserved. -.\" -.\" This file was contributed to The NetBSD Foundation by Luke Mewburn. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS -.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS -.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -.\" POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd November 9, 2018 -.Dt EDITLINE 3 -.Os -.Sh NAME -.Nm editline , -.Nm el_init , -.Nm el_init_fd , -.Nm el_end , -.Nm el_reset , -.Nm el_gets , -.Nm el_wgets , -.Nm el_getc , -.Nm el_wgetc , -.Nm el_push , -.Nm el_wpush , -.Nm el_parse , -.Nm el_wparse , -.Nm el_set , -.Nm el_wset , -.Nm el_get , -.Nm el_wget , -.Nm el_source , -.Nm el_resize , -.Nm el_cursor , -.Nm el_line , -.Nm el_wline , -.Nm el_insertstr , -.Nm el_winsertstr , -.Nm el_deletestr , -.Nm el_wdeletestr , -.Nm history_init , -.Nm history_winit , -.Nm history_end , -.Nm history_wend , -.Nm history , -.Nm history_w , -.Nm tok_init , -.Nm tok_winit , -.Nm tok_end , -.Nm tok_wend , -.Nm tok_reset , -.Nm tok_wreset , -.Nm tok_line , -.Nm tok_wline , -.Nm tok_str , -.Nm tok_wstr -.Nd line editor, history and tokenization functions -.Sh LIBRARY -.Lb libedit -.Sh SYNOPSIS -.In histedit.h -.Ft EditLine * -.Fn el_init "const char *prog" "FILE *fin" "FILE *fout" "FILE *ferr" -.Ft EditLine * -.Fn el_init_fd "const char *prog" "FILE *fin" "FILE *fout" "FILE *ferr" "int fdin" "int fdout" "int fderr" -.Ft void -.Fn el_end "EditLine *e" -.Ft void -.Fn el_reset "EditLine *e" -.Ft const char * -.Fn el_gets "EditLine *e" "int *count" -.Ft const wchar_t * -.Fn el_wgets "EditLine *e" "int *count" -.Ft int -.Fn el_getc "EditLine *e" "char *ch" -.Ft int -.Fn el_wgetc "EditLine *e" "wchar_t *wc" -.Ft void -.Fn el_push "EditLine *e" "const char *mbs" -.Ft void -.Fn el_wpush "EditLine *e" "const wchar_t *wcs" -.Ft int -.Fn el_parse "EditLine *e" "int argc" "const char *argv[]" -.Ft int -.Fn el_wparse "EditLine *e" "int argc" "const wchar_t *argv[]" -.Ft int -.Fn el_set "EditLine *e" "int op" "..." -.Ft int -.Fn el_wset "EditLine *e" "int op" "..." -.Ft int -.Fn el_get "EditLine *e" "int op" "..." -.Ft int -.Fn el_wget "EditLine *e" "int op" "..." -.Ft int -.Fn el_source "EditLine *e" "const char *file" -.Ft void -.Fn el_resize "EditLine *e" -.Ft int -.Fn el_cursor "EditLine *e" "int count" -.Ft const LineInfo * -.Fn el_line "EditLine *e" -.Ft const LineInfoW * -.Fn el_wline "EditLine *e" -.Ft int -.Fn el_insertstr "EditLine *e" "const char *str" -.Ft int -.Fn el_winsertstr "EditLine *e" "const wchar_t *str" -.Ft void -.Fn el_deletestr "EditLine *e" "int count" -.Ft void -.Fn el_wdeletestr "EditLine *e" "int count" -.Ft History * -.Fn history_init void -.Ft HistoryW * -.Fn history_winit void -.Ft void -.Fn history_end "History *h" -.Ft void -.Fn history_wend "HistoryW *h" -.Ft int -.Fn history "History *h" "HistEvent *ev" "int op" "..." -.Ft int -.Fn history_w "HistoryW *h" "HistEventW *ev" "int op" "..." -.Ft Tokenizer * -.Fn tok_init "const char *IFS" -.Ft TokenizerW * -.Fn tok_winit "const wchar_t *IFS" -.Ft void -.Fn tok_end "Tokenizer *t" -.Ft void -.Fn tok_wend "TokenizerW *t" -.Ft void -.Fn tok_reset "Tokenizer *t" -.Ft void -.Fn tok_wreset "TokenizerW *t" -.Ft int -.Fn tok_line "Tokenizer *t" "const LineInfo *li" "int *argc" "const char **argv[]" "int *cursorc" "int *cursoro" -.Ft int -.Fn tok_wline "TokenizerW *t" "const LineInfoW *li" "int *argc" "const wchar_t **argv[]" "int *cursorc" "int *cursoro" -.Ft int -.Fn tok_str "Tokenizer *t" "const char *str" "int *argc" "const char **argv[]" -.Ft int -.Fn tok_wstr "TokenizerW *t" "const wchar_t *str" "int *argc" "const wchar_t **argv[]" -.Sh DESCRIPTION -The -.Nm -library provides generic line editing, history and tokenization functions, -similar to those found in -.Xr sh 1 . -.Pp -These functions are available in the -.Nm libedit -library (which needs the -.Nm libtermcap -library). -Programs should be linked with -.Fl ledit ltermcap . -.Pp -The -.Nm -library respects the -.Ev LC_CTYPE -locale set by the application program and never uses -.Xr setlocale 3 -to change the locale. -.Sh LINE EDITING FUNCTIONS -The line editing functions use a common data structure, -.Fa EditLine , -which is created by -.Fn el_init -or -.Fn el_init_fd -and freed by -.Fn el_end . -.Pp -The wide-character functions behave the same way as their narrow -counterparts. -.Pp -The following functions are available: -.Bl -tag -width 4n -.It Fn el_init -Initialize the line editor, and return a data structure -to be used by all other line editing functions, or -.Dv NULL -on failure. -.Fa prog -is the name of the invoking program, used when reading the -.Xr editrc 5 -file to determine which settings to use. -.Fa fin , -.Fa fout -and -.Fa ferr -are the input, output, and error streams (respectively) to use. -In this documentation, references to -.Dq the tty -are actually to this input/output stream combination. -.It Fn el_init_fd -Like -.Fn el_init -but allows specifying file descriptors for the -.Xr stdio 3 -corresponding streams, in case those were created with -.Xr funopen 3 . -.It Fn el_end -Clean up and finish with -.Fa e , -assumed to have been created with -.Fn el_init -or -.Fn el_init_fd . -.It Fn el_reset -Reset the tty and the parser. -This should be called after an error which may have upset the tty's -state. -.It Fn el_gets -Read a line from the tty. -.Fa count -is modified to contain the number of characters read. -Returns the line read if successful, or -.Dv NULL -if no characters were read or if an error occurred. -If an error occurred, -.Fa count -is set to \-1 and -.Dv errno -contains the error code that caused it. -The return value may not remain valid across calls to -.Fn el_gets -and must be copied if the data is to be retained. -.It Fn el_wgetc -Read a wide character from the tty, respecting the current locale, -or from the input queue described in -.Xr editline 7 -if that is not empty, and store it in -.Fa wc . -If an invalid or incomplete character is found, it is discarded, -.Va errno -is set to -.Er EILSEQ , -and the next character is read and stored in -.Fa wc . -Returns 1 if a valid character was read, 0 on end of file, or \-1 on -.Xr read 2 -failure. -In the latter case, -.Va errno -is set to indicate the error. -.It Fn el_getc -Read a wide character as described for -.Fn el_wgetc -and return 0 on end of file or \-1 on failure. -If the wide character can be represented as a single-byte character, -convert it with -.Xr wctob 3 , -store the result in -.Fa ch , -and return 1; otherwise, set -.Va errno -to -.Er ERANGE -and return \-1. -In the C or POSIX locale, this simply reads a byte, but for any other -locale, including UTF-8, this is rarely useful. -.It Fn el_wpush -Push the wide character string -.Fa wcs -back onto the input queue described in -.Xr editline 7 . -If the queue overflows, for example due to a recursive macro, -or if an error occurs, for example because -.Fa wcs -is -.Dv NULL -or memory allocation fails, the function beeps at the user, -but does not report the problem to the caller. -.It Fn el_push -Use the current locale to convert the multibyte string -.Fa mbs -to a wide character string, and pass the result to -.Fn el_wpush . -.It Fn el_parse -Parses the -.Fa argv -array (which is -.Fa argc -elements in size) -to execute builtin -.Nm -commands. -If the command is prefixed with -.Dq prog : -then -.Fn el_parse -will only execute the command if -.Dq prog -matches the -.Fa prog -argument supplied to -.Fn el_init . -The return value is -\-1 if the command is unknown, -0 if there was no error or -.Dq prog -didn't match, or -1 if the command returned an error. -Refer to -.Xr editrc 5 -for more information. -.It Fn el_set -Set -.Nm -parameters. -.Fa op -determines which parameter to set, and each operation has its -own parameter list. -Returns 0 on success, \-1 on failure. -.Pp -The following values for -.Fa op -are supported, along with the required argument list: -.Bl -tag -width 4n -.It Dv EL_PROMPT , Fa "char *(*f)(EditLine *)" -Define prompt printing function as -.Fa f , -which is to return a string that contains the prompt. -.It Dv EL_PROMPT_ESC , Fa "char *(*f)(EditLine *)" , Fa "char c" -Same as -.Dv EL_PROMPT , -but the -.Fa c -argument indicates the start/stop literal prompt character. -.Pp -If a start/stop literal character is found in the prompt, the -character itself -is not printed, but characters after it are printed directly to the -terminal without affecting the state of the current line. -A subsequent second start/stop literal character ends this behavior. -This is typically used to embed literal escape sequences that change the -color/style of the terminal in the prompt. -Note that the literal escape character cannot be the last character in the -prompt, as the escape sequence is attached to the next character in the prompt. -.Dv 0 -unsets it. -.It Dv EL_REFRESH -Re-display the current line on the next terminal line. -.It Dv EL_RPROMPT , Fa "char *(*f)(EditLine *)" -Define right side prompt printing function as -.Fa f , -which is to return a string that contains the prompt. -.It Dv EL_RPROMPT_ESC , Fa "char *(*f)(EditLine *)" , Fa "char c" -Define the right prompt printing function but with a literal escape character. -.It Dv EL_TERMINAL , Fa "const char *type" -Define terminal type of the tty to be -.Fa type , -or to -.Ev TERM -if -.Fa type -is -.Dv NULL . -.It Dv EL_EDITOR , Fa "const char *mode" -Set editing mode to -.Fa mode , -which must be one of -.Dq emacs -or -.Dq vi . -.It Dv EL_SIGNAL , Fa "int flag" -If -.Fa flag -is non-zero, -.Nm -will install its own signal handler for the following signals when -reading command input: -.Dv SIGCONT , -.Dv SIGHUP , -.Dv SIGINT , -.Dv SIGQUIT , -.Dv SIGSTOP , -.Dv SIGTERM , -.Dv SIGTSTP , -and -.Dv SIGWINCH . -Otherwise, the current signal handlers will be used. -.It Dv EL_BIND , Fa "const char *" , Fa "..." , Dv NULL -Perform the -.Ic bind -builtin command. -Refer to -.Xr editrc 5 -for more information. -.It Dv EL_ECHOTC , Fa "const char *" , Fa "..." , Dv NULL -Perform the -.Ic echotc -builtin command. -Refer to -.Xr editrc 5 -for more information. -.It Dv EL_SETTC , Fa "const char *" , Fa "..." , Dv NULL -Perform the -.Ic settc -builtin command. -Refer to -.Xr editrc 5 -for more information. -.It Dv EL_SETTY , Fa "const char *" , Fa "..." , Dv NULL -Perform the -.Ic setty -builtin command. -Refer to -.Xr editrc 5 -for more information. -.It Dv EL_TELLTC , Fa "const char *" , Fa "..." , Dv NULL -Perform the -.Ic telltc -builtin command. -Refer to -.Xr editrc 5 -for more information. -.It Dv EL_ADDFN , Fa "const char *name" , Fa "const char *help" , \ -Fa "unsigned char (*func)(EditLine *e, int ch)" -Add a user defined function, -.Fn func , -referred to as -.Fa name -which is invoked when a key which is bound to -.Fa name -is entered. -.Fa help -is a description of -.Fa name . -At invocation time, -.Fa ch -is the key which caused the invocation. -The return value of -.Fn func -should be one of: -.Bl -tag -width "CC_REDISPLAY" -.It Dv CC_NORM -Add a normal character. -.It Dv CC_NEWLINE -End of line was entered. -.It Dv CC_EOF -EOF was entered. -.It Dv CC_ARGHACK -Expecting further command input as arguments, do nothing visually. -.It Dv CC_REFRESH -Refresh display. -.It Dv CC_REFRESH_BEEP -Refresh display, and beep. -.It Dv CC_CURSOR -Cursor moved, so update and perform -.Dv CC_REFRESH . -.It Dv CC_REDISPLAY -Redisplay entire input line. -This is useful if a key binding outputs extra information. -.It Dv CC_ERROR -An error occurred. -Beep, and flush tty. -.It Dv CC_FATAL -Fatal error, reset tty to known state. -.El -.It Dv EL_HIST , Fa "History *(*func)(History *, int op, ...)" , \ -Fa "const char *ptr" -Defines which history function to use, which is usually -.Fn history . -.Fa ptr -should be the value returned by -.Fn history_init . -.It Dv EL_EDITMODE , Fa "int flag" -If -.Fa flag -is non-zero, -editing is enabled (the default). -Note that this is only an indication, and does not -affect the operation of -.Nm . -At this time, it is the caller's responsibility to -check this -(using -.Fn el_get ) -to determine if editing should be enabled or not. -.It Dv EL_UNBUFFERED , Fa "int flag" -If -.Fa flag -is zero, -unbuffered mode is disabled (the default). -In unbuffered mode, -.Fn el_gets -will return immediately after processing a single character. -.It Dv EL_GETCFN , Fa "el_rfunc_t f" -Whenever reading a character, use the function -.Bd -ragged -offset indent -compact -.Ft int -.Fo f -.Fa "EditLine *e" -.Fa "wchar_t *wc" -.Fc -.Ed -which stores the character in -.Fa wc -and returns 1 on success, 0 on end of file, or \-1 on I/O or encoding -errors. -Functions internally using it include -.Fn el_wgets , -.Fn el_wgetc , -.Fn el_gets , -and -.Fn el_getc . -Initially, a builtin function is installed, and replacing it -is discouraged because writing such a function is very error prone. -The builtin function can be restored at any time by passing the -special value -.Dv EL_BUILTIN_GETCFN -instead of a function pointer. -.It Dv EL_CLIENTDATA , Fa "void *data" -Register -.Fa data -to be associated with this EditLine structure. -It can be retrieved with the corresponding -.Fn el_get -call. -.It Dv EL_SETFP , Fa "int fd" , Fa "FILE *fp" -Set the current -.Nm editline -file pointer for -.Dq input -.Fa fd -= -.Dv 0 , -.Dq output -.Fa fd -= -.Dv 1 , -or -.Dq error -.Fa fd -= -.Dv 2 -from -.Fa fp . -.El -.It Fn el_get -Get -.Nm -parameters. -.Fa op -determines which parameter to retrieve into -.Fa result . -Returns 0 if successful, \-1 otherwise. -.Pp -The following values for -.Fa op -are supported, along with actual type of -.Fa result : -.Bl -tag -width 4n -.It Dv EL_PROMPT , Fa "char *(*f)(EditLine *)" , Fa "char *c" -Set -.Fa f -to a pointer to the function that displays the prompt. -If -.Fa c -is not -.Dv NULL , -set it to the start/stop literal prompt character. -.It Dv EL_RPROMPT , Fa "char *(*f)(EditLine *)" , Fa "char *c" -Set -.Fa f -to a pointer to the function that displays the prompt. -If -.Fa c -is not -.Dv NULL , -set it to the start/stop literal prompt character. -.It Dv EL_EDITOR , Fa "const char **n" -Set the name of the editor in -.Fa n , -which will be one of -.Dq emacs -or -.Dq vi . -.It Dv EL_GETTC , Fa "const char *name" , Fa "void *value" -If -.Fa name -is a valid -.Xr termcap 5 -capability set -.Fa value -to the current value of that capability. -.It Dv EL_SIGNAL , Fa "int *s" -Set -.Fa s -to non-zero if -.Nm -has installed private signal handlers (see -.Fn el_get -above). -.It Dv EL_EDITMODE , Fa "int *c" -Set -.Fa c -to non-zero if editing is enabled. -.It Dv EL_GETCFN , Fa "el_rfunc_t *f" -Set -.Fa f -to a pointer to the function that reads characters, or to -.Dv EL_BUILTIN_GETCFN -if the builtin function is in use. -.It Dv EL_CLIENTDATA , Fa "void **data" -Set -.Fa data -to the previously registered client data set by an -.Fn el_set -call. -.It Dv EL_UNBUFFERED , Fa "int *c" -Set -.Fa c -to non-zero if unbuffered mode is enabled. -.It Dv EL_GETFP , Fa "int fd", Fa "FILE **fp" -Set -.Fa fp -to the current -.Nm editline -file pointer for -.Dq input -.Fa fd -= -.Dv 0 , -.Dq output -.Fa fd -= -.Dv 1 , -or -.Dq error -.Fa fd -= -.Dv 2 . -.El -.It Fn el_source -Initialize -.Nm -by reading the contents of -.Fa file . -.Fn el_parse -is called for each line in -.Fa file . -If -.Fa file -is -.Dv NULL , -try -.Pa $EDITRC -and if that is not set -.Pa $HOME/.editrc . -Refer to -.Xr editrc 5 -for details on the format of -.Fa file . -.Fn el_source -returns 0 on success and \-1 on error. -.It Fn el_resize -Must be called if the terminal size changes. -If -.Dv EL_SIGNAL -has been set with -.Fn el_set , -then this is done automatically. -Otherwise, it's the responsibility of the application to call -.Fn el_resize -on the appropriate occasions. -.It Fn el_cursor -Move the cursor to the right (if positive) or to the left (if negative) -.Fa count -characters. -Returns the resulting offset of the cursor from the beginning of the line. -.It Fn el_line -Return the editing information for the current line in a -.Fa LineInfo -structure, which is defined as follows: -.Bd -literal -typedef struct lineinfo { - const char *buffer; /* address of buffer */ - const char *cursor; /* address of cursor */ - const char *lastchar; /* address of last character */ -} LineInfo; -.Ed -.Pp -.Fa buffer -is not NUL terminated. -This function may be called after -.Fn el_gets -to obtain the -.Fa LineInfo -structure pertaining to line returned by that function, -and from within user defined functions added with -.Dv EL_ADDFN . -.It Fn el_insertstr -Insert -.Fa str -into the line at the cursor. -Returns \-1 if -.Fa str -is empty or won't fit, and 0 otherwise. -.It Fn el_deletestr -Delete -.Fa count -characters before the cursor. -.El -.Sh HISTORY LIST FUNCTIONS -The history functions use a common data structure, -.Fa History , -which is created by -.Fn history_init -and freed by -.Fn history_end . -.Pp -The following functions are available: -.Bl -tag -width 4n -.It Fn history_init -Initialize the history list, and return a data structure -to be used by all other history list functions, or -.Dv NULL -on failure. -.It Fn history_end -Clean up and finish with -.Fa h , -assumed to have been created with -.Fn history_init . -.It Fn history -Perform operation -.Fa op -on the history list, with optional arguments as needed by the -operation. -.Fa ev -is changed accordingly to operation. -The following values for -.Fa op -are supported, along with the required argument list: -.Bl -tag -width 4n -.It Dv H_SETSIZE , Fa "int size" -Set size of history to -.Fa size -elements. -.It Dv H_GETSIZE -Get number of events currently in history. -.It Dv H_END -Cleans up and finishes with -.Fa h , -assumed to be created with -.Fn history_init . -.It Dv H_CLEAR -Clear the history. -.It Dv H_FUNC , Fa "void *ptr" , Fa "history_gfun_t first" , \ -Fa "history_gfun_t next" , Fa "history_gfun_t last" , \ -Fa "history_gfun_t prev" , Fa "history_gfun_t curr" , \ -Fa "history_sfun_t set" , Fa "history_vfun_t clear" , \ -Fa "history_efun_t enter" , Fa "history_efun_t add" -Define functions to perform various history operations. -.Fa ptr -is the argument given to a function when it's invoked. -.It Dv H_FIRST -Return the first element in the history. -.It Dv H_LAST -Return the last element in the history. -.It Dv H_PREV -Return the previous element in the history. -It is newer than the current one. -.It Dv H_NEXT -Return the next element in the history. -It is older than the current one. -.It Dv H_CURR -Return the current element in the history. -.It Dv H_SET , Fa "int position" -Set the cursor to point to the requested element. -.It Dv H_ADD , Fa "const char *str" -Append -.Fa str -to the current element of the history, or perform the -.Dv H_ENTER -operation with argument -.Fa str -if there is no current element. -.It Dv H_APPEND , Fa "const char *str" -Append -.Fa str -to the last new element of the history. -.It Dv H_ENTER , Fa "const char *str" -Add -.Fa str -as a new element to the history and, if necessary, -removing the oldest entry to keep the list to the created size. -If -.Dv H_SETUNIQUE -has been called with a non-zero argument, the element -will not be entered into the history if its contents match -the ones of the current history element. -If the element is entered -.Fn history -returns 1; if it is ignored as a duplicate returns 0. -Finally -.Fn history -returns \-1 if an error occurred. -.It Dv H_PREV_STR , Fa "const char *str" -Return the closest previous event that starts with -.Fa str . -.It Dv H_NEXT_STR , Fa "const char *str" -Return the closest next event that starts with -.Fa str . -.It Dv H_PREV_EVENT , Fa "int e" -Return the previous event numbered -.Fa e . -.It Dv H_NEXT_EVENT , Fa "int e" -Return the next event numbered -.Fa e . -.It Dv H_LOAD , Fa "const char *file" -Load the history list stored in -.Fa file . -.It Dv H_SAVE , Fa "const char *file" -Save the history list to -.Fa file . -.It Dv H_SAVE_FP , Fa "FILE *fp" -Save the history list to the opened -.Ft FILE -pointer -.Fa fp . -.It Dv H_NSAVE_FP , Fa "size_t n" , Fa "FILE *fp" -Save the last -.Ft n -history entries to the opened -.Ft FILE -pointer -.Fa fp . -.It Dv H_SETUNIQUE , Fa "int unique" -Set flag that adjacent identical event strings should not be entered -into the history. -.It Dv H_GETUNIQUE -Retrieve the current setting if adjacent identical elements should -be entered into the history. -.It Dv H_DEL , Fa "int e" -Delete the event numbered -.Fa e . -This function is only provided for -.Nm readline -compatibility. -The caller is responsible for free'ing the string in the returned -.Fa HistEvent . -.El -.Pp -.Fn history -returns >= 0 if the operation -.Fa op -succeeds. -Otherwise, \-1 is returned and -.Fa ev -is updated to contain more details about the error. -.El -.Sh TOKENIZATION FUNCTIONS -The tokenization functions use a common data structure, -.Fa Tokenizer , -which is created by -.Fn tok_init -and freed by -.Fn tok_end . -.Pp -The following functions are available: -.Bl -tag -width 4n -.It Fn tok_init -Initialize the tokenizer, and return a data structure -to be used by all other tokenizer functions. -.Fa IFS -contains the Input Field Separators, which defaults to -.Aq space , -.Aq tab , -and -.Aq newline -if -.Dv NULL . -.It Fn tok_end -Clean up and finish with -.Fa t , -assumed to have been created with -.Fn tok_init . -.It Fn tok_reset -Reset the tokenizer state. -Use after a line has been successfully tokenized -by -.Fn tok_line -or -.Fn tok_str -and before a new line is to be tokenized. -.It Fn tok_line -Tokenize -.Fa li , -If successful, modify: -.Fa argv -to contain the words, -.Fa argc -to contain the number of words, -.Fa cursorc -(if not -.Dv NULL ) -to contain the index of the word containing the cursor, -and -.Fa cursoro -(if not -.Dv NULL ) -to contain the offset within -.Fa argv[cursorc] -of the cursor. -.Pp -Returns -0 if successful, -\-1 for an internal error, -1 for an unmatched single quote, -2 for an unmatched double quote, -and -3 for a backslash quoted -.Aq newline . -A positive exit code indicates that another line should be read -and tokenization attempted again. -. -.It Fn tok_str -A simpler form of -.Fn tok_line ; -.Fa str -is a NUL terminated string to tokenize. -.El -. -.\"XXX.Sh EXAMPLES -.\"XXX: provide some examples -.Sh SEE ALSO -.Xr sh 1 , -.Xr signal 3 , -.Xr termcap 3 , -.Xr editrc 5 , -.Xr termcap 5 , -.Xr editline 7 -.Sh HISTORY -The -.Nm -library first appeared in -.Bx 4.4 . -.Dv CC_REDISPLAY -appeared in -.Nx 1.3 . -.Dv CC_REFRESH_BEEP , -.Dv EL_EDITMODE -and the readline emulation appeared in -.Nx 1.4 . -.Dv EL_RPROMPT -appeared in -.Nx 1.5 . -.Sh AUTHORS -.An -nosplit -The -.Nm -library was written by -.An Christos Zoulas . -.An Luke Mewburn -wrote this manual and implemented -.Dv CC_REDISPLAY , -.Dv CC_REFRESH_BEEP , -.Dv EL_EDITMODE , -and -.Dv EL_RPROMPT . -.An Jaromir Dolecek -implemented the readline emulation. -.An Johny Mattsson -implemented wide-character support. -.Sh BUGS -At this time, it is the responsibility of the caller to -check the result of the -.Dv EL_EDITMODE -operation of -.Fn el_get -(after an -.Fn el_source -or -.Fn el_parse ) -to determine if -.Nm -should be used for further input. -I.e., -.Dv EL_EDITMODE -is purely an indication of the result of the most recent -.Xr editrc 5 -.Ic edit -command. diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editline.7.roff mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editline.7.roff --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editline.7.roff 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editline.7.roff 1970-01-01 00:00:00.000000000 +0000 @@ -1,935 +0,0 @@ -.\" $NetBSD: editline.7,v 1.5 2016/05/09 21:27:55 christos Exp $ -.\" $OpenBSD: editline.7,v 1.1 2016/04/20 01:11:45 schwarze Exp $ -.\" -.\" Copyright (c) 2016 Ingo Schwarze -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.Dd May 7, 2016 -.Dt EDITLINE 7 -.Os -.Sh NAME -.Nm editline -.Nd line editing user interface -.Sh DESCRIPTION -When a program using the -.Xr editline 3 -library prompts for an input string using the function -.Xr el_wgets 3 , -it reads characters from the terminal. -Invalid input bytes that do not form characters are silently -discarded. -For each character read, one editor command is executed. -The mapping of input characters to editor commands depends on the -editing mode. -There are three editing modes: vi insert mode, vi command mode, -and emacs mode. -The default is vi insert mode. -The program can switch the default to emacs mode by using the -.Xr el_set 3 -or -.Xr el_parse 3 -functions, and the user can switch to emacs mode either in the -.Xr editrc 5 -configuration file or interactively with the -.Ic ed-command -editor command, in all three cases executing the -.Ic bind Fl e -builtin command. -.Pp -If trying to read from the terminal results in end of file or an -error, the library signals end of file to the program and does not -return a string. -.Ss Input character bindings -All default bindings described below can be overridden by individual -programs and can be changed with the -.Xr editrc 5 -.Ic bind -builtin command. -.Pp -In the following tables, -.Sq Ctrl- -indicates a character with the bit 0x40 flipped, and -.Sq Meta- -indicates a character with the bit 0x80 set. -In vi insert mode and in emacs mode, all Meta-characters considered -printable by the current -.Xr locale 1 -are bound to -.Ic ed-insert -instead of to the editor command listed below. -Consequently, in UTF-8 mode, most of the Meta-characters are not -directly accessible because their code points are occupied by -printable Unicode characters, and Meta-characters are usually input -using the -.Ic em-meta-next -editor command. -For example, to enter -.Sq Meta-B -in order to call the -.Ic ed-prev-word -editor command in emacs mode, call -.Ic em-meta-next -by pressing and releasing the escape key (or equivalently, Ctrl-[), -then press and release the -.Sq B -key. -If you have configured a Meta-key on your keyboard, for example -with -.Ql setxkbmap -option altwin:left_meta_win , -the Ctrl-Meta-characters are directly accessible. -For example, to enter -.Sq Ctrl-Meta-H -in order to call the -.Ic ed-delete-prev-word -editor command in emacs mode, hold down the keys -.Sq Ctrl , -.Sq Meta , -and -.Sq H -at the same time. -Alternatively, press and release the escape key, then press and -release -.Sq Ctrl-H . -.Pp -In vi input mode, input characters are bound to the following editor -commands by default: -.Bl -column -offset indent "Ctrl-Z, TSTP" "ed-search-next-history" -.It Ctrl-D, EOF Ta Ic vi-list-or-eof -.It Ctrl-H, BS Ta Ic vi-delete-prev-char -.It Ctrl-J, LF Ta Ic ed-newline -.It Ctrl-M, CR Ta Ic ed-newline -.It Ctrl-Q Ta Ic ed-tty-start-output -.It Ctrl-S Ta Ic ed-tty-stop-output -.It Ctrl-U Ta Ic vi-kill-line-prev -.It Ctrl-V Ta Ic ed-quoted-insert -.It Ctrl-W Ta Ic ed-delete-prev-word -.It Ctrl-[, ESC Ta Ic vi-command-mode -.It Ctrl-\e, QUIT Ta Ic ed-tty-sigquit -.It Ctrl-?, DEL Ta Ic vi-delete-prev-char -.El -.Pp -All other input characters except the NUL character (Ctrl-@) are -bound to -.Ic ed-insert . -.Pp -In vi command mode, input characters are bound to the following -editor commands by default: -.Bl -column -offset indent "Ctrl-Z, TSTP" "ed-search-next-history" -.It Ctrl-A Ta Ic ed-move-to-beg -.It Ctrl-C, INT Ta Ic ed-tty-sigint -.It Ctrl-E Ta Ic ed-move-to-end -.It Ctrl-H, BS Ta Ic ed-delete-prev-char -.It Ctrl-J, LF Ta Ic ed-newline -.It Ctrl-K Ta Ic ed-kill-line -.It Ctrl-L, FF Ta Ic ed-clear-screen -.It Ctrl-M, CR Ta Ic ed-newline -.It Ctrl-N Ta Ic ed-next-history -.It Ctrl-O Ta Ic ed-tty-flush-output -.It Ctrl-P Ta Ic ed-prev-history -.It Ctrl-Q Ta Ic ed-tty-start-output -.It Ctrl-R Ta Ic ed-redisplay -.It Ctrl-S Ta Ic ed-tty-stop-output -.It Ctrl-U Ta Ic vi-kill-line-prev -.It Ctrl-W Ta Ic ed-delete-prev-word -.It Ctrl-[, ESC Ta Ic em-meta-next -.It Ctrl-\e, QUIT Ta Ic ed-tty-sigquit -.It Space Ta Ic ed-next-char -.It # Ta Ic vi-comment-out -.It $ Ta Ic ed-move-to-end -.It % Ta Ic vi-match -.It + Ta Ic ed-next-history -.It \&, Ta Ic vi-repeat-prev-char -.It - Ta Ic ed-prev-history -.It \&. Ta Ic vi-redo -.It / Ta Ic vi-search-prev -.It 0 Ta Ic vi-zero -.It 1 to 9 Ta Ic ed-argument-digit -.It \&: Ta Ic ed-command -.It \&; Ta Ic vi-repeat-next-char -.It \&? Ta Ic vi-search-next -.It @ Ta Ic vi-alias -.It A Ta Ic vi-add-at-eol -.It B Ta Ic vi-prev-big-word -.It C Ta Ic vi-change-to-eol -.It D Ta Ic ed-kill-line -.It E Ta Ic vi-end-big-word -.It F Ta Ic vi-prev-char -.It G Ta Ic vi-to-history-line -.It I Ta Ic vi-insert-at-bol -.It J Ta Ic ed-search-next-history -.It K Ta Ic ed-search-prev-history -.It N Ta Ic vi-repeat-search-prev -.It O Ta Ic ed-sequence-lead-in -.It P Ta Ic vi-paste-prev -.It R Ta Ic vi-replace-mode -.It S Ta Ic vi-substitute-line -.It T Ta Ic vi-to-prev-char -.It U Ta Ic vi-undo-line -.It W Ta Ic vi-next-big-word -.It X Ta Ic ed-delete-prev-char -.It Y Ta Ic vi-yank-end -.It \&[ Ta Ic ed-sequence-lead-in -.It ^ Ta Ic ed-move-to-beg -.It _ Ta Ic vi-history-word -.It a Ta Ic vi-add -.It b Ta Ic vi-prev-word -.It c Ta Ic vi-change-meta -.It d Ta Ic vi-delete-meta -.It e Ta Ic vi-end-word -.It f Ta Ic vi-next-char -.It h Ta Ic ed-prev-char -.It i Ta Ic vi-insert -.It j Ta Ic ed-next-history -.It k Ta Ic ed-prev-history -.It l Ta Ic ed-next-char -.It n Ta Ic vi-repeat-search-next -.It p Ta Ic vi-paste-next -.It r Ta Ic vi-replace-char -.It s Ta Ic vi-substitute-char -.It t Ta Ic vi-to-next-char -.It u Ta Ic vi-undo -.It v Ta Ic vi-histedit -.It w Ta Ic vi-next-word -.It x Ta Ic ed-delete-next-char -.It y Ta Ic vi-yank -.It \&| Ta Ic vi-to-column -.It ~ Ta Ic vi-change-case -.It Ctrl-?, DEL Ta Ic ed-delete-prev-char -.It Meta-O Ta Ic ed-sequence-lead-in -.It Meta-[ Ta Ic ed-sequence-lead-in -.El -.Pp -In emacs mode, input characters are bound to the following editor -commands by default: -.Bl -column -offset indent "Ctrl-Z, TSTP" "ed-search-next-history" -.It 0 to 9 Ta Ic ed-digit -.It Ctrl-@, NUL Ta Ic em-set-mark -.It Ctrl-A Ta Ic ed-move-to-beg -.It Ctrl-B Ta Ic ed-prev-char -.It Ctrl-C, INT Ta Ic ed-tty-sigint -.It Ctrl-D, EOF Ta Ic em-delete-or-list -.It Ctrl-E Ta Ic ed-move-to-end -.It Ctrl-F Ta Ic ed-next-char -.It Ctrl-H, BS Ta Ic em-delete-prev-char -.It Ctrl-J, LF Ta Ic ed-newline -.It Ctrl-K Ta Ic ed-kill-line -.It Ctrl-L, FF Ta Ic ed-clear-screen -.It Ctrl-M, CR Ta Ic ed-newline -.It Ctrl-N Ta Ic ed-next-history -.It Ctrl-O Ta Ic ed-tty-flush-output -.It Ctrl-P Ta Ic ed-prev-history -.It Ctrl-Q Ta Ic ed-tty-start-output -.It Ctrl-R Ta Ic ed-redisplay -.It Ctrl-S Ta Ic ed-tty-stop-output -.It Ctrl-T Ta Ic ed-transpose-chars -.It Ctrl-U Ta Ic ed-kill-line -.It Ctrl-V Ta Ic ed-quoted-insert -.It Ctrl-W Ta Ic em-kill-region -.It Ctrl-X Ta Ic ed-sequence-lead-in -.It Ctrl-Y Ta Ic em-yank -.It Ctrl-Z, TSTP Ta Ic ed-tty-sigtstp -.It Ctrl-[, ESC Ta Ic em-meta-next -.It Ctrl-\e, QUIT Ta Ic ed-tty-sigquit -.It Ctrl-] Ta Ic ed-tty-dsusp -.It Ctrl-?, DEL Ta Ic em-delete-prev-char -.It Ctrl-Meta-H Ta Ic ed-delete-prev-word -.It Ctrl-Meta-L Ta Ic ed-clear-screen -.It Ctrl-Meta-_ Ta Ic em-copy-prev-word -.It Meta-0 to 9 Ta Ic ed-argument-digit -.It Meta-B Ta Ic ed-prev-word -.It Meta-C Ta Ic em-capitol-case -.It Meta-D Ta Ic em-delete-next-word -.It Meta-F Ta Ic em-next-word -.It Meta-L Ta Ic em-lower-case -.It Meta-N Ta Ic ed-search-next-history -.It Meta-O Ta Ic ed-sequence-lead-in -.It Meta-P Ta Ic ed-search-prev-history -.It Meta-U Ta Ic em-upper-case -.It Meta-W Ta Ic em-copy-region -.It Meta-X Ta Ic ed-command -.It Meta-[ Ta Ic ed-sequence-lead-in -.It Meta-b Ta Ic ed-prev-word -.It Meta-c Ta Ic em-capitol-case -.It Meta-d Ta Ic em-delete-next-word -.It Meta-f Ta Ic em-next-word -.It Meta-l Ta Ic em-lower-case -.It Meta-n Ta Ic ed-search-next-history -.It Meta-p Ta Ic ed-search-prev-history -.It Meta-u Ta Ic em-upper-case -.It Meta-w Ta Ic em-copy-region -.It Meta-x Ta Ic ed-command -.It Ctrl-Meta-? Ta Ic ed-delete-prev-word -.El -.Pp -The remaining -.Xr ascii 7 -characters in the range 0x20 to 0x7e are bound to -.Ic ed-insert . -.Pp -If standard output is not connected to a terminal device -or -.Xr el_set 3 -was used to set -.Dv EL_EDITMODE -to 0, all input character bindings are disabled and all characters -typed are appended to the edit buffer. -In that case, the edit buffer is returned to the program after a -newline or carriage return character is typed, or after the first -character typed if -.Xr el_set 3 -was used to set -.Dv EL_UNBUFFERED -to non-zero. -.Ss Editor commands -Most editor commands accept an optional argument. -The argument is entered by prefixing the editor command with one -or more of the editor commands -.Ic ed-argument-digit , -.Ic ed-digit , -.Ic em-universal-argument , -or -.Ic vi-zero . -When an argument is not provided, it defaults to 1. -For most editor commands, the effect of an argument is to repeatedly -execute the command that number of times. -.Pp -When talking about a character string from a left character to a -right character, the left character is included in the string, while -the right character is not included. -.Pp -If an editor command causes an error, the input character is discarded, -no action occurs, and the terminal bell is rung. -In case of a non-fatal error, the terminal bell is also rung, -but the editor command takes effect anyway. -.Pp -In the following list, the default key bindings are listed after -each editor command. -.Bl -tag -width 4n -.It Ic ed-argument-digit Pq vi command: 1 to 9; emacs: Meta-0 to Meta-9 -If in argument input mode, append the input digit to the argument -being read. -Otherwise, switch to argument input mode and use the input digit -as the most significant digit of the argument. -It is an error if the input character is not a digit or if the -existing argument is already greater than a million. -.It Ic ed-clear-screen Pq vi command: Ctrl-L; emacs: Ctrl-L, Ctrl-Meta-L -Clear the screen and display the edit buffer at the top. -Ignore any argument. -.It Ic ed-command Pq vi command: So \&: Sc ; emacs: Meta-X, Meta-x -Read a line from the terminal bypassing the normal line editing -functionality and execute that line as an -.Xr editrc 5 -builtin command. -If in vi command mode, also switch back to vi insert mode. -Ignore any argument. -.It Ic ed-delete-next-char Pq vi command: x -Delete the character at the cursor position. -With an argument, delete that number of characters. -In emacs mode, it is an error if the cursor is at the end of the -edit buffer. -In vi mode, the last character in the edit buffer is deleted in -that case, and it is an error if the buffer is empty. -.It Ic ed-delete-prev-char Pq vi command: X, Ctrl-H, BS, Ctrl-?, DEL -Delete the character to the left of the cursor position. -With an argument, delete that number of characters. -It is an error if the cursor is at the beginning of the edit buffer. -.It Ic ed-delete-prev-word Pq vi: Ctrl-W; emacs: Ctrl-Meta-H, Ctrl-Meta-? -Move to the left to the closest beginning of a word, delete the -string from that position to the cursor, and save it to the cut -buffer. -With an argument, delete that number of words. -It is an error if the cursor is at the beginning of the edit buffer. -.It Ic ed-digit Pq emacs: 0 to 9 -If in argument input mode, append the input digit to the argument -being read. -Otherwise, call -.Ic ed-insert . -It is an error if the input character is not a digit or if the -existing argument is already greater than a million. -.It Ic ed-end-of-file Pq not bound by default -Discard the edit buffer and indicate end of file to the program. -Ignore any argument. -.It Ic ed-ignore Pq various -Discard the input character and do nothing. -.It Ic ed-insert Pq vi input: almost all; emacs: printable characters -In insert mode, insert the input character left of the cursor -position. -In replace mode, overwrite the character at the cursor and move the -cursor to the right by one character position. -Accept an argument to do this repeatedly. -It is an error if the input character is the NUL character (Ctrl-@). -Failure to enlarge the edit buffer also results in an error. -.It Ic ed-kill-line Pq vi command: D, Ctrl-K; emacs: Ctrl-K, Ctrl-U -Delete the string from the cursor position to the end of the line -and save it to the cut buffer. -Ignore any argument. -.It Ic ed-move-to-beg Pq vi command: ^, Ctrl-A; emacs: Ctrl-A -In vi mode, move the cursor to the first non-space character in the -edit buffer. -In emacs mode, move the cursor to the beginning of the edit buffer. -Ignore any argument. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -.It Ic ed-move-to-end Pq vi command: $, Ctrl-E; emacs: Ctrl-E -Move the cursor to the end of the edit buffer. -Ignore any argument. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -.It Ic ed-newline Pq all modes: Ctrl-J, LF, Ctrl-M, CR -Append a newline character to the edit buffer and return the edit -buffer to the program. -Ignore any argument. -.It Ic ed-next-char Pq vi command: Space, l; emacs: Ctrl-F -Move the cursor one character position to the right. -With an argument, move by that number of characters. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if the cursor is already at the end of the edit -buffer. -.It Ic ed-next-history Pq vi command: j, +, Ctrl-N; emacs: Ctrl-N -Replace the edit buffer with the next history line. -That line is older than the current line. -With an argument, go forward by that number of history lines. -It is a non-fatal error to advance by more lines than are available. -.It Ic ed-next-line Pq not bound by default -Move the cursor down one line. -With an argument, move down by that number of lines. -It is an error if the edit buffer does not contain enough newline -characters to the right of the cursor position. -.It Ic ed-prev-char Pq vi command: h; emacs: Ctrl-B -Move the cursor one character position to the left. -With an argument, move by that number of characters. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if the cursor is already at the beginning of the -edit buffer. -.It Ic ed-prev-history Pq vi command: k, -, Ctrl-P; emacs: Ctrl-P -Replace the edit buffer with the previous history line. -That line is newer than the current line. -With an argument, go back by that number of lines. -It is a non-fatal error to back up by more lines than are available. -.It Ic ed-prev-line Pq not bound by default -Move the cursor up one line. -With an argument, move up by that number of lines. -It is an error if the edit buffer does not contain enough newline -characters to the left of the cursor position. -.It Ic ed-prev-word Pq emacs: Meta-B, Meta-b -Move the cursor to the left to the closest beginning of a word. -With an argument, repeat that number of times. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if the cursor is already at the beginning of the -edit buffer. -.It Ic ed-quoted-insert Pq vi insert, emacs: Ctrl-V -Read one character from the terminal bypassing the normal line -editing functionality and call -.Ic ed-insert -on it. -If trying to read the character returns end of file or an error, -call -.Ic ed-end-of-file -instead. -.It Ic ed-redisplay Pq vi command, emacs: Ctrl-R -Redisplay everything. -Ignore any argument. -.It Ic ed-search-next-history Pq vi command: J; emacs: Meta-N, Meta-n -Replace the edit buffer with the next matching history entry. -.It Ic ed-search-prev-history Pq vi command: K; emacs: Meta-P, Meta-p -Replace the edit buffer with the previous matching history entry. -.It Ic ed-sequence-lead-in Pq vi cmd: O, \&[; emacs: Ctrl-X;\ - both: Meta-O, Meta-[ -Call a macro. -See the section about -.Sx Macros -below for details. -.It Ic ed-start-over Pq not bound by default -Discard the contents of the edit buffer and start from scratch. -Ignore any argument. -.It Ic ed-transpose-chars Pq emacs: Ctrl-T -Exchange the character at the cursor position with the one to the -left of it and move the cursor to the character to the right of the -two exchanged characters. -Ignore any argument. -It is an error if the cursor is at the beginning of the edit buffer -or if the edit buffer contains less than two characters. -.It Ic ed-unassigned Pq all characters not listed -This editor command always results in an error. -.It Ic em-capitol-case Pq emacs: Meta-C, Meta-c -Capitalize the string from the cursor to the end of the current -word. -That is, if it contains at least one alphabetic character, convert -the first alphabetic character to upper case, and convert all -characters to the right of it to lower case. -In any case, move the cursor to the next character after the end -of the current word. -.It Ic em-copy-prev-word Pq emacs: Ctrl-Meta-_ -Copy the string from the beginning of the current word to the cursor -and insert it to the left of the cursor. -Move the cursor to the character after the inserted string. -It is an error if the cursor is at the beginning of the edit buffer. -.It Ic em-copy-region Pq emacs: Meta-W, Meta-w -Copy the string from the cursor to the mark to the cut buffer. -It is an error if the mark is not set. -.It Ic em-delete-next-word Pq emacs: Meta-D, Meta-d -Delete the string from the cursor to the end of the current word -and save it to the cut buffer. -It is an error if the cursor is at the end of the edit buffer. -.It Ic em-delete-or-list Pq emacs: Ctrl-D, EOF -If the cursor is not at the end of the line, delete the character -at the cursor. -If the edit buffer is empty, indicate end of file to the program. -It is an error if the cursor is at the end of the edit buffer and -the edit buffer is not empty. -.It Ic em-delete-prev-char Pq emacs: Ctrl-H, BS, Ctrl-?, DEL -Delete the character to the left of the cursor. -It is an error if the cursor is at the beginning of the edit buffer. -.It Ic em-exchange-mark Pq not bound by default -Exchange the cursor and the mark. -.It Ic em-gosmacs-transpose Pq not bound by default -Exchange the two characters to the left of the cursor. -It is an error if the cursor is on the first or second character -of the edit buffer. -.It Ic em-inc-search-next Pq not bound by default -Emacs incremental next search. -.It Ic em-inc-search-prev Pq not bound by default -Emacs incremental reverse search. -.It Ic em-kill-line Pq not bound by default -Delete the entire contents of the edit buffer and save it to the -cut buffer. -.It Ic em-kill-region Pq emacs: Ctrl-W -Delete the string from the cursor to the mark and save it to the -cut buffer. -It is an error if the mark is not set. -.It Ic em-lower-case Pq emacs: Meta-L, Meta-l -Convert the characters from the cursor to the end of the current -word to lower case. -.It Ic em-meta-next Pq vi command, emacs: Ctrl-[, ESC -Set the bit 0x80 on the next character typed. -Unless the resulting code point is printable, holding down the -.Sq Meta- -key while typing that character is a simpler way to achieve the -same effect. -.It Ic em-next-word Pq Meta-F, Meta-f -Move the cursor to the end of the current word. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if the cursor is already at the end of the edit -buffer. -.It Ic em-set-mark Pq emacs: Ctrl-Q, NUL -Set the mark at the current cursor position. -.It Ic em-toggle-overwrite Pq not bound by default -Switch from insert to overwrite mode or vice versa. -.It Ic em-universal-argument Pq not bound by default -If in argument input mode, multiply the argument by 4. -Otherwise, switch to argument input mode and set the argument to 4. -It is an error if the existing argument is already greater than a -million. -.It Ic em-upper-case Pq emacs: Meta-U, Meta-u -Convert the characters from the cursor to the end of the current -word to upper case. -.It Ic em-yank Pq emacs: Ctrl-Y -Paste the cut buffer to the left of the cursor. -.It Ic vi-add Pq vi command: a -Switch to vi insert mode. -Unless the cursor is already at the end of the edit buffer, move -it one character position to the right. -.It Ic vi-add-at-eol Pq vi command: A -Switch to vi insert mode and move the cursor to the end of the edit -buffer. -.It Ic vi-alias Pq vi command: @ -If an alias function was defined by calling the -.Xr el_set 3 -or -.Xr el_wset 3 -function with the argument -.Dv EL_ALIAS_TEXT , -read one character from the terminal bypassing the normal line -editing functionality, call the alias function passing the argument that was specified with -.Dv EL_ALIAS_TEXT -as the first argument and the character read, with an underscore -prepended, as the second argument, and pass the string returned -from the alias function to -.Xr el_wpush 3 . -It is an error if no alias function is defined or if trying to read -the character results in end of file or an error. -.It Ic vi-change-case Pq vi command: ~ -Change the case of the character at the cursor and move the cursor -one character position to the right. -It is an error if the cursor is already at the end of the edit -buffer. -.It Ic vi-change-meta Pq vi command: c -Delete the string from the cursor to the position specified by the -following movement command and save a copy of it to the cut buffer. -When given twice in a row, instead delete the whole contents of the -edit buffer and save a copy of it to the cut buffer. -In either case, switch to vi insert mode after that. -.It Ic vi-change-to-eol Pq vi command: C -Delete the string from the cursor position to the end of the line -and save it to the cut buffer, then switch to vi insert mode. -.It Ic vi-command-mode Pq vi insert: Ctrl-[, ESC -Discard pending actions and arguments and switch to vi command mode. -Unless the cursor is already at the beginning of the edit buffer, -move it to the left by one character position. -.It Ic vi-comment-out Pq vi command: # -Insert a -.Sq # -character at the beginning of the edit buffer and return the edit -buffer to the program. -.It Ic vi-delete-meta Pq vi command: d -Delete the string from the cursor to the position specified by the -following movement command and save a copy of it to the cut buffer. -When given twice in a row, instead delete the whole contents of the -edit buffer and save a copy of it to the cut buffer. -.It Ic vi-delete-prev-char Pq vi insert: Ctrl-H, BS, Ctrl-?, DEL -Delete the character to the left of the cursor. -It is an error if the cursor is already at the beginning of the -edit buffer. -.It Ic vi-end-big-word Pq vi command: E -Move the cursor to the end of the current space delimited word. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if the cursor is already at the end of the edit -buffer. -.It Ic vi-end-word Pq vi command: e -Move the cursor to the end of the current word. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if the cursor is already at the end of the edit -buffer. -.It Ic vi-history-word Pq vi command: _ -Insert the first word from the most recent history entry after the -cursor, move the cursor after to the character after the inserted -word, and switch to vi insert mode. -It is an error if there is no history entry or the most recent -history entry is empty. -.It Ic vi-insert Pq vi command: i -Enter insert mode. -.It Ic vi-insert-at-bol Pq vi command: I -Move the cursor to the beginning of the edit buffer and switch to -vi insert mode. -.It Ic vi-kill-line-prev Pq vi: Ctrl-U -Delete the string from the beginning of the edit buffer to the -cursor and save it to the cut buffer. -.It Ic vi-list-or-eof Pq vi insert: Ctrl-D, EOF -If the edit buffer is empty, indicate end of file to the program. -It is an error if the edit buffer is not empty. -.It Ic vi-match Pq vi command: % -Consider opening and closing parentheses, braces, and brackets as -delimiters. -If the cursor is not at a delimiter, move it to the right until it -gets to one, then move it to the matching delimiter. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if there is no delimiter at the cursor or in the -string to the right of the cursor, or if the first such delimiter -has no matching delimiter. -.It Ic vi-next-big-word Pq vi command: W -Move the cursor to the right to the beginning of the next space -delimited word. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if the cursor is already at the end of the edit -buffer or on its last character. -.It Ic vi-next-char Pq vi command: f -Read one character from the terminal bypassing the normal line -editing functionality and move the cursor to the right to the next -instance of that character in the edit buffer. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -If trying to read the character results in end of file or an error, -call -.Ic ed-end-of-file -instead. -It is an error if the character is not found searching to the right -in the edit buffer. -.It Ic vi-next-word Pq vi command: w -Move the cursor to the right to the beginning of the next word. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if the cursor is already at the end of the edit -buffer or on its last character. -.It Ic vi-paste-next Pq vi command: p -Insert a copy of the cut buffer to the right of the cursor. -It is an error if the cut buffer is empty. -.It Ic vi-paste-prev Pq vi command: P -Insert a copy of the cut buffer to the left of the cursor. -It is an error if the cut buffer is empty. -.It Ic vi-prev-big-word Pq vi command: B -Move the cursor to the left to the next beginning of a space delimited -word. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if the cursor is already at the beginning of the -edit buffer. -.It Ic vi-prev-char Pq vi command: F -Read one character from the terminal bypassing the normal line -editing functionality and move the cursor to the left to the next -instance of that character in the edit buffer. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -If trying to read the character results in end of file or an error, -call -.Ic ed-end-of-file -instead. -It is an error if the character is not found searching to the left -in the edit buffer. -.It Ic vi-prev-word Pq vi command: b -Move the cursor to the left to the next beginning of a word. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -It is an error if the cursor is already at the beginning of the -edit buffer. -.It Ic vi-redo Pq vi command: Sq \&. -Redo the last non-motion command. -.It Ic vi-repeat-next-char Pq vi command: Sq \&; -Repeat the most recent character search in the same search direction. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -.It Ic vi-repeat-prev-char Pq vi command: Sq \&, -Repeat the most recent character search in the opposite search -direction. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -.It Ic vi-repeat-search-next Pq vi command: n -Repeat the most recent history search in the same search direction. -.It Ic vi-repeat-search-prev Pq vi command: N -Repeat the most recent history search in the opposite search -direction. -.It Ic vi-replace-char Pq vi command: r -Switch to vi replace mode, and automatically switch back to vi -command mode after the next character typed. -See -.Ic ed-insert -for a description of replace mode. -It is an error if the cursor is at the end of the edit buffer. -.It Ic vi-replace-mode Pq vi command: R -Switch to vi replace mode. -This is a variant of vi insert mode; see -.Ic ed-insert -for the difference. -.It Ic vi-search-next Pq vi command: \&? -Replace the edit buffer with the next matching history entry. -.It Ic vi-search-prev Pq vi command: / -Replace the edit buffer with the previous matching history entry. -.It Ic vi-substitute-char Pq vi command: s -Delete the character at the cursor and switch to vi insert mode. -.It Ic vi-substitute-line Pq vi command: S -Delete the entire contents of the edit buffer, save a copy of it -in the cut buffer, and enter vi insert mode. -.It Ic vi-to-column Pq vi command: \&| -Move the cursor to the column specified as the argument. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -.It Ic vi-to-history-line Pq vi command: G -Replace the edit buffer with the specified history entry. -.It Ic vi-to-next-char Pq vi command: t -Read one character from the terminal bypassing the normal line -editing functionality and move the cursor to the right to the -character before the next instance of that character in the edit -buffer. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -If trying to read the character results in end of file or an error, -call -.Ic ed-end-of-file -instead. -It is an error if the character is not found searching to the right -in the edit buffer. -.It Ic vi-to-prev-char Pq vi command: T -Read one character from the terminal bypassing the normal line -editing functionality and move the cursor to the left to the character -after the next instance of that character in the edit buffer. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -If trying to read the character results in end of file or an error, -call -.Ic ed-end-of-file -instead. -It is an error if the character is not found searching to the left -in the edit buffer. -.It Ic vi-undo Pq vi command: u -Undo the last change. -.It Ic vi-undo-line Pq vi command: U -Undo all changes to the edit buffer. -.It Ic vi-yank Pq vi command: y -Copy the string from the cursor to the position specified by the -following movement command to the cut buffer. -When given twice in a row, instead copy the whole contents of the -edit buffer to the cut buffer. -.It Ic vi-yank-end Pq vi command: Y -Copy the string from the cursor to the end of the edit buffer to -the cut buffer. -.It Ic vi-zero Pq vi command: 0 -If in argument input mode, multiply the argument by ten. -Otherwise, move the cursor to the beginning of the edit buffer. -Can be used as a movement command after -.Ic vi_change_meta , -.Ic vi_delete_meta , -or -.Ic vi_yank . -.El -.Ss Macros -If an input character is bound to the editor command -.Ic ed-sequence-lead-in , -.Nm -attempts to call a macro. -If the input character by itself forms the name of a macro, that -macro is executed. -Otherwise, additional input characters are read until the string -read forms the name of a macro, in which case that macro is executed, -or until the string read matches the beginning of none of the existing -macro names, in which case the string including the final, mismatching -character is discarded and the terminal bell is rung. -.Pp -There are two kinds of macros. -Command macros execute a single editor command. -Keyboard macros return a string of characters that is appended -as a new line to the -.Sx Input Queue . -.Pp -The following command macros are defined by default in vi command -mode and in emacs mode: -.Bl -column -offset indent "Esc O A, Esc O A" "em-exchange-mark" -.It Esc \&[ A, Esc O A Ta Ic ed-prev-history -.It Esc \&[ B, Esc O B Ta Ic ed-next-history -.It Esc \&[ C, Esc O C Ta Ic ed-next-char -.It Esc \&[ D, Esc O D Ta Ic ed-prev-char -.It Esc \&[ F, Esc O F Ta Ic ed-move-to-end -.It Esc \&[ H, Esc O H Ta Ic ed-move-to-beg -.El -.Pp -In vi command mode, they are also defined by default without the -initial escape character. -.Pp -In addition, the -.Nm -library tries to bind the strings generated by the arrow keys -as reported by the -.Xr terminfo 5 -database to these editor commands, unless that would clobber -user settings. -.Pp -In emacs mode, the two-character string -.Dq Ctrl-X Ctrl-X -is bound to the -.Ic em-exchange-mark -editor command. -.Ss Input Queue -The -.Nm -library maintains an input queue operated in FIFO mode. -Whenever it needs an input character, it takes the first character -from the first line of the input queue. -When the queue is empty, it reads from the terminal. -.Pp -A line can be appended to the end of the input queue in several ways: -.Bl -dash -offset indent -.It -By calling one of the keyboard -.Sx Macros . -.It -By calling the editor command -.Ic vi-redo . -.It -By calling the editor command -.Ic vi-alias . -.It -By pressing a key in emacs incremental search mode that doesn't -have a special meaning in that mode but returns to normal emacs -mode. -.It -If an application program directly calls the functions -.Xr el_push 3 -or -.Xr el_wpush 3 , -it can provide additional, program-specific ways -of appending to the input queue. -.El -.Sh SEE ALSO -.Xr mg 1 , -.Xr vi 1 , -.Xr editline 3 , -.Xr el_wgets 3 , -.Xr el_wpush 3 , -.Xr el_wset 3 , -.Xr editrc 5 -.Sh HISTORY -This manual page first appeared in -.Ox 6.0 -and -.Nx 8 . -.Sh AUTHORS -.An -nosplit -This manual page was written by -.An Ingo Schwarze Aq Mt schwarze@openbsd.org . diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editrc.5.roff mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editrc.5.roff --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editrc.5.roff 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/editrc.5.roff 1970-01-01 00:00:00.000000000 +0000 @@ -1,325 +0,0 @@ -.\" $NetBSD: editrc.5,v 1.33 2017/06/27 01:22:58 kre Exp $ -.\" -.\" Copyright (c) 1997-2000 The NetBSD Foundation, Inc. -.\" All rights reserved. -.\" -.\" This file was contributed to The NetBSD Foundation by Luke Mewburn. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS -.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS -.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -.\" POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd May 22, 2016 -.Dt EDITRC 5 -.Os -.Sh NAME -.Nm editrc -.Nd configuration file for editline library -.Sh SYNOPSIS -.Nm -.Sh DESCRIPTION -The -.Nm -file defines various settings to be used by the -.Xr editline 3 -library. -.Pp -The format of each line is: -.Pp -.Dl [prog:]command [arg ...] -.Pp -.Ar command -is one of the -.Xr editline 3 -builtin commands. -Refer to -.Sx BUILTIN COMMANDS -for more information. -.Pp -.Ar prog -is the program name string that a program defines when it calls -.Xr el_init 3 -to set up -.Xr editline 3 , -which is usually -.Va argv[0] . -.Ar command -will be executed for any program which matches -.Ar prog . -.Pp -.Ar prog -may also be a -.Xr regex 3 -style -regular expression, in which case -.Ar command -will be executed for any program that matches the regular expression. -.Pp -If -.Ar prog -is absent, -.Ar command -is executed for all programs. -.Sh BUILTIN COMMANDS -The -.Nm editline -library has some builtin commands, which affect the way -that the line editing and history functions operate. -These are based on similar named builtins present in the -.Xr tcsh 1 -shell. -.Pp -The following builtin commands are available: -.Bl -tag -width 4n -.It Ic bind Oo Fl aeklrsv Oc Op Ar key Op Ar command -Without options and arguments, list all bound keys and macros, and -the editor command or input string to which each one is bound. -If only -.Ar key -is supplied, show the binding for that key or macro. -If -.Ar key command -is supplied, bind the editor -.Ar command -to that key or macro. -.Pp -The options are as follows: -.Bl -tag -width 4n -.It Fl a -List or change key bindings in the -.Xr vi 1 -mode alternate (command mode) key map. -.It Fl e -Bind all keys to the standard GNU Emacs-like bindings. -.It Fl k -.Ar key -is interpreted as a symbolic arrow key name, which may be one of -.Sq up , -.Sq down , -.Sq left -or -.Sq right . -.It Fl l -List all editor commands and a short description of each. -.It Fl r -Remove the binding of the key or macro -.Ar key . -.It Fl s -Define a keyboard macro rather than a key binding or command macro: -.Ar command -is taken as a literal string and appended to the input queue whenever -.Ar key -is typed. -Bound keys and macros in -.Ar command -are themselves reinterpreted, and this continues for ten levels of -interpretation. -.It Fl v -Bind all keys to the standard -.Xr vi 1 Ns -like -bindings. -.El -.Pp -The -.Xr editline 7 -manual documents all editor commands and contains more information -about macros and the input queue. -.Pp -.Ar key -and -.Ar command -can contain control characters of the form -.Sm off -.Sq No ^ Ar character -.Sm on -.Po -e.g.\& -.Sq ^A -.Pc , -and the following backslashed escape sequences: -.Pp -.Bl -tag -compact -offset indent -width 4n -.It Ic \ea -Bell -.It Ic \eb -Backspace -.It Ic \ee -Escape -.It Ic \ef -Formfeed -.It Ic \en -Newline -.It Ic \er -Carriage return -.It Ic \et -Horizontal tab -.It Ic \ev -Vertical tab -.Sm off -.It Sy \e Ar nnn -.Sm on -The ASCII character corresponding to the octal number -.Ar nnn . -.El -.Pp -.Sq \e -nullifies the special meaning of the following character, -if it has any, notably -.Sq \e -and -.Sq ^ . -.It Ic echotc Oo Fl sv Oc Ar arg Ar ... -Exercise terminal capabilities given in -.Ar arg ... . -If -.Ar arg -is -.Sq baud , -.Sq cols , -.Sq lines , -.Sq rows , -.Sq meta , -or -.Sq tabs , -the value of that capability is printed, with -.Dq yes -or -.Dq no -indicating that the terminal does or does not have that capability. -.Pp -.Fl s -returns an empty string for non-existent capabilities, rather than -causing an error. -.Fl v -causes messages to be verbose. -.It Ic edit Op Li on | Li off -Enable or disable the -.Nm editline -functionality in a program. -.It Ic history Ar list | Ar size Dv n | Ar unique Dv n -The -.Ar list -command lists all entries in the history. -The -.Ar size -command sets the history size to -.Dv n -entries. -The -.Ar unique -command controls if history should keep duplicate entries. -If -.Dv n -is non zero, only keep unique history entries. -If -.Dv n -is zero, then keep all entries (the default). -.It Ic settc Ar cap Ar val -Set the terminal capability -.Ar cap -to -.Ar val , -as defined in -.Xr termcap 5 . -No sanity checking is done. -.It Ic setty Oo Fl a Oc Oo Fl d Oc Oo Fl q Oc Oo Fl x Oc Oo Ar +mode Oc \ -Oo Ar -mode Oc Oo Ar mode Oc Oo Ar char=c Oc -Control which tty modes that -.Nm -won't allow the user to change. -.Fl d , -.Fl q -or -.Fl x -tells -.Ic setty -to act on the -.Sq edit , -.Sq quote -or -.Sq execute -set of tty modes respectively; defaulting to -.Fl x . -.Pp -Without other arguments, -.Ic setty -lists the modes in the chosen set which are fixed on -.Po -.Sq +mode -.Pc -or off -.Po -.Sq -mode -.Pc . -.Fl a -lists all tty modes in the chosen set regardless of the setting. -With -.Ar +mode , -.Ar -mode -or -.Ar mode , -fixes -.Ar mode -on or off or removes control of -.Ar mode -in the chosen set. -.Pp -.Ic Setty -can also be used to set tty characters to particular values using -.Ar char=value . -If -.Ar value -is empty -then the character is set to -.Dv _POSIX_VDISABLE . -.It Ic telltc -List the values of all the terminal capabilities (see -.Xr termcap 5 ) . -.El -.Sh ENVIRONMENT -.Bl -tag -width "~/.editrcXXX" -.It Ev EDITRC -Names the default configuration file for the -.Xr editline 3 -library. -.El -.Sh FILES -.Bl -tag -width "~/.editrcXXX" -.It Pa ~/.editrc -Last resort, if no other file is specified, -user configuration file for the -.Xr editline 3 -library. -.El -.Sh SEE ALSO -.Xr editline 3 , -.Xr regex 3 , -.Xr termcap 5 , -.Xr editline 7 -.Sh AUTHORS -.An -nosplit -The -.Nm editline -library was written by -.An Christos Zoulas , -and this manual was written by -.An Luke Mewburn , -with some sections inspired by -.Xr tcsh 1 . diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/Makefile.am mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/Makefile.am --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/Makefile.am 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,73 +0,0 @@ - -EL_MANS = editline.3 editline.7 editrc.5 - -man_MANS = $(EL_MANS) - - -EL_MAN_LINKS = \ - el_deletestr.3 \ - el_end.3 \ - el_get.3 \ - el_getc.3 \ - el_gets.3 \ - el_init.3 \ - el_init_fd.3 \ - el_insertstr.3 \ - el_line.3 \ - el_parse.3 \ - el_push.3 \ - el_reset.3 \ - el_resize.3 \ - el_set.3 \ - el_source.3 \ - history.3 \ - history_end.3 \ - history_init.3 \ - tok_end.3 \ - tok_init.3 \ - tok_line.3 \ - tok_reset.3 \ - tok_str.3 - -EL_MAN_LINKS += \ - el_wdeletestr.3 \ - el_wget.3 \ - el_wgetc.3 \ - el_wgets.3 \ - el_winsertstr.3 \ - el_wline.3 \ - el_wparse.3 \ - el_wpush.3 \ - el_wset.3 \ - history_w.3 \ - history_wend.3 \ - history_winit.3 \ - tok_wend.3 \ - tok_winit.3 \ - tok_wline.3 \ - tok_wreset.3 \ - tok_wstr.3 - - -install-data-hook: $(EL_MAN_LINKS) - -$(EL_MAN_LINKS): - (cd $(DESTDIR)$(man3dir) && rm -f $@ && $(LN_S) editline.3 $@) - -$(EL_MANS): - @if test "$(MANTYPE)" = "mdoc"; then\ - cp $(srcdir)/$@.roff $@;\ - else\ - $(AWK) -f $(srcdir)/mdoc2man.awk $(srcdir)/$@.roff > $@ || rm -f $@;\ - fi; - -uninstall-local: - (cd $(DESTDIR)$(man3dir) && rm -f $(EL_MAN_LINKS)) - -CLEANFILES = $(EL_MANS) -EXTRA_DIST = editline.3.roff editline.7.roff editrc.5.roff mdoc2man.awk - -changelog.txt: ../ChangeLog - @sed 's/@/ (at)/g; s/&/\&/g; s//\>/g;' $(srcdir)/$< > $@; - - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/Makefile.in mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/Makefile.in --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/Makefile.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,642 +0,0 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2018 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man3dir = $(mandir)/man3 -am__installdirs = "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" \ - "$(DESTDIR)$(man7dir)" -man5dir = $(mandir)/man5 -man7dir = $(mandir)/man7 -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -LT_VERSION = @LT_VERSION@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MANTYPE = @MANTYPE@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EL_MANS = editline.3 editline.7 editrc.5 -man_MANS = $(EL_MANS) -EL_MAN_LINKS = el_deletestr.3 el_end.3 el_get.3 el_getc.3 el_gets.3 \ - el_init.3 el_init_fd.3 el_insertstr.3 el_line.3 el_parse.3 \ - el_push.3 el_reset.3 el_resize.3 el_set.3 el_source.3 \ - history.3 history_end.3 history_init.3 tok_end.3 tok_init.3 \ - tok_line.3 tok_reset.3 tok_str.3 el_wdeletestr.3 el_wget.3 \ - el_wgetc.3 el_wgets.3 el_winsertstr.3 el_wline.3 el_wparse.3 \ - el_wpush.3 el_wset.3 history_w.3 history_wend.3 \ - history_winit.3 tok_wend.3 tok_winit.3 tok_wline.3 \ - tok_wreset.3 tok_wstr.3 -CLEANFILES = $(EL_MANS) -EXTRA_DIST = editline.3.roff editline.7.roff editrc.5.roff mdoc2man.awk -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man3: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man3dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.3[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man7: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man7dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man7dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man7dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.7[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man7dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man7dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man7dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man7dir)" || exit $$?; }; \ - done; } - -uninstall-man7: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man7dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.7[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man7dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man7dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man3 install-man5 install-man7 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-local uninstall-man - -uninstall-man: uninstall-man3 uninstall-man5 uninstall-man7 - -.MAKE: install-am install-data-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-hook install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-man3 install-man5 \ - install-man7 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags-am uninstall uninstall-am uninstall-local \ - uninstall-man uninstall-man3 uninstall-man5 uninstall-man7 - -.PRECIOUS: Makefile - - -install-data-hook: $(EL_MAN_LINKS) - -$(EL_MAN_LINKS): - (cd $(DESTDIR)$(man3dir) && rm -f $@ && $(LN_S) editline.3 $@) - -$(EL_MANS): - @if test "$(MANTYPE)" = "mdoc"; then\ - cp $(srcdir)/$@.roff $@;\ - else\ - $(AWK) -f $(srcdir)/mdoc2man.awk $(srcdir)/$@.roff > $@ || rm -f $@;\ - fi; - -uninstall-local: - (cd $(DESTDIR)$(man3dir) && rm -f $(EL_MAN_LINKS)) - -changelog.txt: ../ChangeLog - @sed 's/@/ (at)/g; s/&/\&/g; s//\>/g;' $(srcdir)/$< > $@; - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/mdoc2man.awk mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/mdoc2man.awk --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/doc/mdoc2man.awk 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/doc/mdoc2man.awk 1970-01-01 00:00:00.000000000 +0000 @@ -1,459 +0,0 @@ -#!/usr/bin/awk -# -# Version history: -# v3, I put the program under a proper license -# Dan Nelson added .An, .Aq and fixed a typo -# v2, fixed to work on GNU awk --posix and MacOS X -# v1, first attempt, didn't work on MacOS X -# -# Copyright (c) 2003 Peter Stuge -# -# Permission to use, copy, modify, and distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - -BEGIN { - optlist=0 - oldoptlist=0 - nospace=0 - synopsis=0 - reference=0 - block=0 - ext=0 - extopt=0 - literal=0 - prenl=0 - breakw=0 - line="" - proto=0 - bl_level=0 -} - -function wtail() { - retval="" - while(w0;i--) { - add(refauthors[i]) - if(i>1) - add(", ") - } - if(nrefauthors>1) - add(" and ") - add(refauthors[0] ", \\fI" reftitle "\\fP") - if(length(refissue)) - add(", " refissue) - if(length(refdate)) - add(", " refdate) - if(length(refopt)) - add(", " refopt) - add(".") - reference=0 - } else if(reference) { - if(match(words[w],"^%A$")) { refauthors[nrefauthors++]=wtail() } - if(match(words[w],"^%T$")) { - reftitle=wtail() - sub("^\"","",reftitle) - sub("\"$","",reftitle) - } - if(match(words[w],"^%N$")) { refissue=wtail() } - if(match(words[w],"^%D$")) { refdate=wtail() } - if(match(words[w],"^%O$")) { refopt=wtail() } - } else if(match(words[w],"^Nm$")) { - if(synopsis) { - add(".br") - prenl++ - } - n=words[++w] - if(!length(name)) - name=n - if(!length(n)) - n=name - add("\\fB" n "\\fP") - if(!nospace&&match(words[w+1],"^[\\.,]")) - nospace=1 - } else if(match(words[w],"^Nd$")) { - add("\\- " wtail()) - } else if(match(words[w],"^Fl$")) { - add("\\fB\\-" words[++w] "\\fP") - if(!nospace&&match(words[w+1],"^[\\.,]")) - nospace=1 - } else if(match(words[w],"^Ar$")) { - add("\\fI") - if(w==nwords) - add("file ...\\fP") - else { - add(words[++w] "\\fP") - while(match(words[w+1],"^\\|$")) - add(OFS words[++w] " \\fI" words[++w] "\\fP") - } - if(!nospace&&match(words[w+1],"^[\\.,]")) - nospace=1 - } else if(match(words[w],"^Cm$")) { - add("\\fB" words[++w] "\\fP") - while(w 1) - add(".RS") - oldoptlist=optlist - if(match(words[w+1],"-bullet")) - optlist=1 - else if(match(words[w+1],"-enum")) { - optlist=2 - enum=0 - } else if(match(words[w+1],"-tag")) - optlist=3 - else if(match(words[w+1],"-item")) - optlist=4 - else if(match(words[w+1],"-bullet")) - optlist=1 - w=nwords - } else if(match(words[w],"^El$")) { - if (bl_level > 1) - add(".RE") - --bl_level - optlist=oldoptlist - } else if(match(words[w],"^Bk$")) { - if(match(words[w+1],"-words")) { - w++ - breakw=1 - } - } else if(match(words[w],"^Ek$")) { - breakw=0 - } else if(match(words[w],"^It$")&&optlist) { - if(optlist==1) - add(".IP \\(bu") - else if(optlist==2) - add(".IP " ++enum ".") - else if(optlist==3) { - add(".TP") - prenl++ - if(match(words[w+1],"^Pa$|^Ev$")) { - add(".B") - w++ - } - } else if(optlist==4) - add(".IP") - } else if(match(words[w],"^Sm$")) { - if(match(words[w+1],"off")) - nospace=2 - else if(match(words[w+1],"on")) - nospace=0 - w++ - } else if(match(words[w],"^Lb$")) { - wtail() - add("Command Line Editor Library (libedit, -ledit)") - } else if(match(words[w],"^In$")) { - add(".PP\n") - add("\\fB#include <" wtail() ">\\fP") - } else if(match(words[w],"^Ft$")) { - add(".PP\n") - add("\\fI" wtail() "\\fP\n") - add(".br") - proto=1 - } else if(match(words[w],"^Fn$")) { - add("\\fB" words[++w] "\\fP(") - punct=0 - while(++w<=nwords) { - if(match(words[w], "^\".*\"$")) { - sub("^\"", "", words[w]) - sub("\"$", "", words[w]) - add("\\fI" words[w] "\\fP") - if (w!=nwords) { - add(", ") - } - } else if(match(words[w], "^\"")) { - sub("^\"", "", words[w]) - add("\\fI" words[w] " ") - } else if (match(words[w], "\"$")) { - sub("\"$", "", words[w]) - add(words[w] "\\fP") - if (w!=nwords) { - add(", ") - } - } else { - if (w==nwords&&(match(words[w], "^[.,]$"))) { - punct=1 - } else { - add(words[w] " ") - } - - } - } - add(")") - if (punct==1) { - add(words[w-1]) - } else { - if (proto==1) { - add(";") - proto=0 - } - } - } else if(match(words[w],"^Fa$")) { - punct=0 - add("\\fI") - while(++w<=nwords) { - if(match(words[w], "^\".*\"$")) { - sub("^\"", "", words[w]) - sub("\"$", "", words[w]) - add(words[w]) - } else if(match(words[w], "^\"")) { - sub("^\"", "", words[w]) - add(words[w] " ") - } else if (match(words[w], "\"$")) { - sub("\"$", "", words[w]) - add(words[w]) - } else { - if (w==nwords&&(match(words[w], "^[.,]$"))) { - punct=1 - } else { - if (w+1==nwords&&(match(words[w+1], "^[.,]$"))) { - add(words[w]) - } else { - add(words[w] " ") - } - } - } - } - add("\\fP") - if (punct==1) { - add(words[w-1]) - } - } else if(!skip) { - add(words[w]) - } - } - if(match(line,"^\\.[^a-zA-Z]")) - sub("^\\.","",line) - if(parens) - add(")") - if(angles) - add(">") - if(option) - add("]") - if(ext&&!extopt&&!match(line," $")) - add(OFS) - if(!ext&&!extopt&&length(line)) { - print line - prenl=0 - line="" - } -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/examples/fileman.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/examples/fileman.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/examples/fileman.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/examples/fileman.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,496 +0,0 @@ -/* fileman.c -- A tiny application which demonstrates how to use the - GNU Readline library. This application interactively allows users - to manipulate files and their modes. - - NOTE: this was taken from the GNU Readline documentation and ported - to libedit. A command to output the history list was added. - - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* GNU readline -#include -#include -*/ -#include - -void * xmalloc (size_t size); -void too_dangerous (char *caller); -void initialize_readline (); -int execute_line (char *line); -int valid_argument (char *caller, char *arg); - -typedef int rl_icpfunc_t (char *); - -/* The names of functions that actually do the manipulation. */ -int com_list (char *); -int com_view (char *); -int com_history (char *); -int com_rename(char *); -int com_stat(char *); -int com_pwd(char *); -int com_delete(char *); -int com_help(char *); -int com_cd(char *); -int com_quit(char *); - -/* A structure which contains information on the commands this program - can understand. */ - -typedef struct { - char *name; /* User printable name of the function. */ - rl_icpfunc_t *func; /* Function to call to do the job. */ - char *doc; /* Documentation for this function. */ -} COMMAND; - -COMMAND commands[] = { - { "cd", com_cd, "Change to directory DIR" }, - { "delete", com_delete, "Delete FILE" }, - { "help", com_help, "Display this text" }, - { "?", com_help, "Synonym for `help'" }, - { "list", com_list, "List files in DIR" }, - { "ls", com_list, "Synonym for `list'" }, - { "pwd", com_pwd, "Print the current working directory" }, - { "quit", com_quit, "Quit using Fileman" }, - { "rename", com_rename, "Rename FILE to NEWNAME" }, - { "stat", com_stat, "Print out statistics on FILE" }, - { "view", com_view, "View the contents of FILE" }, - { "history", com_history, "List editline history" }, - { (char *)NULL, (rl_icpfunc_t *)NULL, (char *)NULL } -}; - -/* Forward declarations. */ -char *stripwhite (); -COMMAND *find_command (); - -/* The name of this program, as taken from argv[0]. */ -char *progname; - -/* When non-zero, this means the user is done using this program. */ -int done; - -char * -dupstr (char* s) -{ - char *r; - - r = xmalloc (strlen (s) + 1); - strcpy (r, s); - return (r); -} - -int -main (int argc __attribute__((__unused__)), char **argv) -{ - char *line, *s; - - progname = argv[0]; - - setlocale(LC_CTYPE, ""); - - initialize_readline(); /* Bind our completer. */ - - stifle_history(7); - - /* Loop reading and executing lines until the user quits. */ - for ( ; done == 0; ) - { - line = readline ("FileMan: "); - - if (!line) - break; - - /* Remove leading and trailing whitespace from the line. - Then, if there is anything left, add it to the history list - and execute it. */ - s = stripwhite(line); - - if (*s) { - - char* expansion; - int result; - - result = history_expand(s, &expansion); - - if (result < 0 || result == 2) { - fprintf(stderr, "%s\n", expansion); - } else { - add_history(expansion); - execute_line(expansion); - } - free(expansion); - } - - free(line); - } - exit (0); - - return 0; -} - -/* Execute a command line. */ -int -execute_line (char *line) -{ - register int i; - COMMAND *command; - char *word; - - /* Isolate the command word. */ - i = 0; - while (line[i] && isspace (line[i])) - i++; - word = line + i; - - while (line[i] && !isspace (line[i])) - i++; - - if (line[i]) - line[i++] = '\0'; - - command = find_command (word); - - if (!command) - { - fprintf (stderr, "%s: No such command for FileMan.\n", word); - return (-1); - } - - /* Get argument to command, if any. */ - while (isspace (line[i])) - i++; - - word = line + i; - - /* Call the function. */ - return ((*(command->func)) (word)); -} - -/* Look up NAME as the name of a command, and return a pointer to that - command. Return a NULL pointer if NAME isn't a command name. */ -COMMAND * -find_command (char *name) -{ - register int i; - - for (i = 0; commands[i].name; i++) - if (strcmp (name, commands[i].name) == 0) - return (&commands[i]); - - return ((COMMAND *)NULL); -} - -/* Strip whitespace from the start and end of STRING. Return a pointer - into STRING. */ -char * -stripwhite (char *string) -{ - register char *s, *t; - - for (s = string; isspace (*s); s++) - ; - - if (*s == 0) - return (s); - - t = s + strlen (s) - 1; - while (t > s && isspace (*t)) - t--; - *++t = '\0'; - - return s; -} - -/* **************************************************************** */ -/* */ -/* Interface to Readline Completion */ -/* */ -/* **************************************************************** */ - -char *command_generator(const char *, int); -char **fileman_completion(const char *, int, int); - -/* Tell the GNU Readline library how to complete. We want to try to - complete on command names if this is the first word in the line, or - on filenames if not. */ -void -initialize_readline () -{ - /* Allow conditional parsing of the ~/.inputrc file. */ - rl_readline_name = "FileMan"; - - /* Tell the completer that we want a crack first. */ - rl_attempted_completion_function = fileman_completion; -} - -/* Attempt to complete on the contents of TEXT. START and END - bound the region of rl_line_buffer that contains the word to - complete. TEXT is the word to complete. We can use the entire - contents of rl_line_buffer in case we want to do some simple - parsing. Returnthe array of matches, or NULL if there aren't any. */ -char ** -fileman_completion (const char* text, int start, int end __attribute__((__unused__))) -{ - char **matches; - - matches = (char **)NULL; - - /* If this word is at the start of the line, then it is a command - to complete. Otherwise it is the name of a file in the current - directory. */ - if (start == 0) - /* TODO */ - matches = completion_matches ((char*)text, command_generator); - /* matches = rl_completion_matches (text, command_generator); */ - - return (matches); -} - -/* Generator function for command completion. STATE lets us - know whether to start from scratch; without any state - (i.e. STATE == 0), then we start at the top of the list. */ -char * -command_generator (text, state) - const char *text; - int state; -{ - static int list_index, len; - char *name; - - /* If this is a new word to complete, initialize now. This - includes saving the length of TEXT for efficiency, and - initializing the index variable to 0. */ - if (!state) - { - list_index = 0; - len = strlen (text); - } - - /* Return the next name which partially matches from the - command list. */ - while ((name = commands[list_index].name)) - { - list_index++; - - if (strncmp (name, text, len) == 0) - return (dupstr(name)); - } - - /* If no names matched, then return NULL. */ - return ((char *)NULL); -} - -/* **************************************************************** */ -/* */ -/* FileMan Commands */ -/* */ -/* **************************************************************** */ - -/* String to pass to system (). This is for the LIST, VIEW and RENAME - commands. */ -static char syscom[1024]; - -/* List the file(s) named in arg. */ -int -com_list (char *arg) -{ - if (!arg) - arg = ""; - - sprintf (syscom, "ls -FClg %s", arg); - return (system (syscom)); -} - -int -com_view (char *arg) -{ - if (!valid_argument ("view", arg)) - return 1; - - sprintf (syscom, "more %s", arg); - return (system (syscom)); -} - -int -com_history(char* arg __attribute__((__unused__))) -{ - HIST_ENTRY *he; - - /* rewind history */ - while (previous_history()) - ; - - for (he = current_history(); he != NULL; he = next_history()) { - //printf("%5d %s\n", *((int*)he->data) - 1, he->line); - printf("%s\n", he->line); - } - - return 0; -} - -int -com_rename (char *arg __attribute__((__unused__))) -{ - too_dangerous ("rename"); - return (1); -} - -int -com_stat (char *arg) -{ - struct stat finfo; - - if (!valid_argument ("stat", arg)) - return (1); - - if (stat (arg, &finfo) == -1) - { - perror (arg); - return (1); - } - - printf ("Statistics for `%s':\n", arg); - - printf ("%s has %ld link%s, and is %lld byte%s in length.\n", arg, - (long) finfo.st_nlink, - (finfo.st_nlink == 1) ? "" : "s", - (long long) finfo.st_size, - (finfo.st_size == 1) ? "" : "s"); - printf ("Inode Last Change at: %s", ctime (&finfo.st_ctime)); - printf (" Last access at: %s", ctime (&finfo.st_atime)); - printf (" Last modified at: %s", ctime (&finfo.st_mtime)); - return (0); -} - -int -com_delete (char *arg __attribute__((__unused__))) -{ - too_dangerous ("delete"); - return (1); -} - -/* Print out help for ARG, or for all of the commands if ARG is - not present. */ -int -com_help (char *arg) -{ - register int i; - int printed = 0; - - for (i = 0; commands[i].name; i++) - { - if (!*arg || (strcmp (arg, commands[i].name) == 0)) - { - printf ("%s\t\t%s.\n", commands[i].name, commands[i].doc); - printed++; - } - } - - if (!printed) - { - printf ("No commands match `%s'. Possibilties are:\n", arg); - - for (i = 0; commands[i].name; i++) - { - /* Print in six columns. */ - if (printed == 6) - { - printed = 0; - printf ("\n"); - } - - printf ("%s\t", commands[i].name); - printed++; - } - - if (printed) - printf ("\n"); - } - return (0); -} - -/* Change to the directory ARG. */ -int -com_cd (char *arg) -{ - if (chdir (arg) == -1) - { - perror (arg); - return 1; - } - - com_pwd (""); - return (0); -} - -/* Print out the current working directory. */ -int -com_pwd (char* ignore __attribute__((__unused__))) -{ - char dir[1024], *s; - - s = (char*)getcwd(dir, sizeof(dir) - 1); - if (s == 0) - { - printf ("Error getting pwd: %s\n", dir); - return 1; - } - - printf ("Current directory is %s\n", dir); - return 0; -} - -/* The user wishes to quit using this program. Just set DONE - non-zero. */ -int -com_quit (char *arg __attribute__((__unused__))) -{ - done = 1; - return (0); -} - -/* Function which tells you that you can't do this. */ -void -too_dangerous (char *caller) -{ - fprintf (stderr, - "%s: Too dangerous for me to distribute.\n", - caller); - fprintf (stderr, "Write it yourself.\n"); -} - -/* Return non-zero if ARG is a valid argument for CALLER, - else print an error message and return zero. */ -int -valid_argument (char *caller, char *arg) -{ - if (!arg || !*arg) - { - fprintf (stderr, "%s: Argument required.\n", caller); - return (0); - } - - return (1); -} - -void * -xmalloc (size_t size) -{ - register void *value = (void*)malloc(size); - if (value == 0) - fprintf(stderr, "virtual memory exhausted"); - return value; -} - - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/examples/Makefile.am mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/examples/Makefile.am --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/examples/Makefile.am 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/examples/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ - -LDADD = $(top_builddir)/src/libedit.la -AM_CFLAGS = -I$(top_srcdir)/src - -noinst_PROGRAMS = tc1 fileman - -tc1_SOURCES = tc1.c -fileman_SOURCES = fileman.c - -noinst_PROGRAMS += wtc1 -wtc1_SOURCES = wtc1.c - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/examples/Makefile.in mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/examples/Makefile.in --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/examples/Makefile.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/examples/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,622 +0,0 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2018 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -noinst_PROGRAMS = tc1$(EXEEXT) fileman$(EXEEXT) wtc1$(EXEEXT) -subdir = examples -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -PROGRAMS = $(noinst_PROGRAMS) -am_fileman_OBJECTS = fileman.$(OBJEXT) -fileman_OBJECTS = $(am_fileman_OBJECTS) -fileman_LDADD = $(LDADD) -fileman_DEPENDENCIES = $(top_builddir)/src/libedit.la -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -am_tc1_OBJECTS = tc1.$(OBJEXT) -tc1_OBJECTS = $(am_tc1_OBJECTS) -tc1_LDADD = $(LDADD) -tc1_DEPENDENCIES = $(top_builddir)/src/libedit.la -am_wtc1_OBJECTS = wtc1.$(OBJEXT) -wtc1_OBJECTS = $(am_wtc1_OBJECTS) -wtc1_LDADD = $(LDADD) -wtc1_DEPENDENCIES = $(top_builddir)/src/libedit.la -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/fileman.Po ./$(DEPDIR)/tc1.Po \ - ./$(DEPDIR)/wtc1.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(fileman_SOURCES) $(tc1_SOURCES) $(wtc1_SOURCES) -DIST_SOURCES = $(fileman_SOURCES) $(tc1_SOURCES) $(wtc1_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -LT_VERSION = @LT_VERSION@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MANTYPE = @MANTYPE@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -LDADD = $(top_builddir)/src/libedit.la -AM_CFLAGS = -I$(top_srcdir)/src -tc1_SOURCES = tc1.c -fileman_SOURCES = fileman.c -wtc1_SOURCES = wtc1.c -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu examples/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -fileman$(EXEEXT): $(fileman_OBJECTS) $(fileman_DEPENDENCIES) $(EXTRA_fileman_DEPENDENCIES) - @rm -f fileman$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fileman_OBJECTS) $(fileman_LDADD) $(LIBS) - -tc1$(EXEEXT): $(tc1_OBJECTS) $(tc1_DEPENDENCIES) $(EXTRA_tc1_DEPENDENCIES) - @rm -f tc1$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tc1_OBJECTS) $(tc1_LDADD) $(LIBS) - -wtc1$(EXEEXT): $(wtc1_OBJECTS) $(wtc1_DEPENDENCIES) $(EXTRA_wtc1_DEPENDENCIES) - @rm -f wtc1$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(wtc1_OBJECTS) $(wtc1_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileman.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc1.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wtc1.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/fileman.Po - -rm -f ./$(DEPDIR)/tc1.Po - -rm -f ./$(DEPDIR)/wtc1.Po - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/fileman.Po - -rm -f ./$(DEPDIR)/tc1.Po - -rm -f ./$(DEPDIR)/wtc1.Po - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/examples/tc1.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/examples/tc1.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/examples/tc1.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/examples/tc1.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,309 +0,0 @@ -/* $NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#ifndef lint -__COPYRIGHT("@(#) Copyright (c) 1992, 1993\n\ - The Regents of the University of California. All rights reserved.\n"); -#endif /* not lint */ - -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)test.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* from src/sys/sys/cdefs.h */ -#ifndef __UNCONST -# define __UNCONST(a) ((void *)(unsigned long)(const void *)(a)) -#endif - -/* - * test.c: A little test program - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "histedit.h" - -static int continuation = 0; -volatile sig_atomic_t gotsig = 0; - -static unsigned char complete(EditLine *, int); - int main(int, char **); -static char *prompt(EditLine *); -static void sig(int); - -static char * -prompt(EditLine *el __attribute__((__unused__))) -{ - static char a[] = "\1\033[7m\1Edit$\1\033[0m\1 "; - static char b[] = "Edit> "; - - return (continuation ? b : a); -} - -static void -sig(int i) -{ - gotsig = i; -} - -static unsigned char -complete(EditLine *el, int ch __attribute__((__unused__))) -{ - DIR *dd = opendir("."); - struct dirent *dp; - const char* ptr; - const LineInfo *lf = el_line(el); - size_t len; - int res = CC_ERROR; - - /* - * Find the last word - */ - for (ptr = lf->cursor - 1; - !isspace((unsigned char)*ptr) && ptr > lf->buffer; ptr--) - continue; - len = lf->cursor - ++ptr; - - for (dp = readdir(dd); dp != NULL; dp = readdir(dd)) { - if (len > strlen(dp->d_name)) - continue; - if (strncmp(dp->d_name, ptr, len) == 0) { - if (el_insertstr(el, &dp->d_name[len]) == -1) - res = CC_ERROR; - else - res = CC_REFRESH; - break; - } - } - - closedir(dd); - return res; -} - -int -main(int argc __attribute__((__unused__)), char *argv[]) -{ - EditLine *el = NULL; - int num; - const char *buf; - Tokenizer *tok; -#if 0 - int lastevent = 0; -#endif - int ncontinuation; - History *hist; - HistEvent ev; - - (void) setlocale(LC_CTYPE, ""); - (void) signal(SIGINT, sig); - (void) signal(SIGQUIT, sig); - (void) signal(SIGHUP, sig); - (void) signal(SIGTERM, sig); - - hist = history_init(); /* Init the builtin history */ - /* Remember 100 events */ - history(hist, &ev, H_SETSIZE, 100); - - tok = tok_init(NULL); /* Initialize the tokenizer */ - - /* Initialize editline */ - el = el_init(*argv, stdin, stdout, stderr); - - el_set(el, EL_EDITOR, "vi"); /* Default editor is vi */ - el_set(el, EL_SIGNAL, 1); /* Handle signals gracefully */ - el_set(el, EL_PROMPT_ESC, prompt, '\1');/* Set the prompt function */ - - /* Tell editline to use this history interface */ - el_set(el, EL_HIST, history, hist); - - /* Add a user-defined function */ - el_set(el, EL_ADDFN, "ed-complete", "Complete argument", complete); - - /* Bind tab to it */ - el_set(el, EL_BIND, "^I", "ed-complete", NULL); - - /* - * Bind j, k in vi command mode to previous and next line, instead - * of previous and next history. - */ - el_set(el, EL_BIND, "-a", "k", "ed-prev-line", NULL); - el_set(el, EL_BIND, "-a", "j", "ed-next-line", NULL); - - /* - * Source the user's defaults file. - */ - el_source(el, NULL); - - while ((buf = el_gets(el, &num)) != NULL && num != 0) { - int ac, cc, co; -#ifdef DEBUG - int i; -#endif - const char **av; - const LineInfo *li; - li = el_line(el); -#ifdef DEBUG - (void) fprintf(stderr, "==> got %d %s", num, buf); - (void) fprintf(stderr, " > li `%.*s_%.*s'\n", - (li->cursor - li->buffer), li->buffer, - (li->lastchar - 1 - li->cursor), - (li->cursor >= li->lastchar) ? "" : li->cursor); - -#endif - if (gotsig) { - (void) fprintf(stderr, "Got signal %d.\n", (int)gotsig); - gotsig = 0; - el_reset(el); - } - - if (!continuation && num == 1) - continue; - - ac = cc = co = 0; - ncontinuation = tok_line(tok, li, &ac, &av, &cc, &co); - if (ncontinuation < 0) { - (void) fprintf(stderr, "Internal error\n"); - continuation = 0; - continue; - } -#ifdef DEBUG - (void) fprintf(stderr, " > nc %d ac %d cc %d co %d\n", - ncontinuation, ac, cc, co); -#endif -#if 0 - if (continuation) { - /* - * Append to the right event in case the user - * moved around in history. - */ - if (history(hist, &ev, H_SET, lastevent) == -1) - err(1, "%d: %s", lastevent, ev.str); - history(hist, &ev, H_ADD , buf); - } else { - history(hist, &ev, H_ENTER, buf); - lastevent = ev.num; - } -#else - /* Simpler */ - history(hist, &ev, continuation ? H_APPEND : H_ENTER, buf); -#endif - - continuation = ncontinuation; - ncontinuation = 0; - if (continuation) - continue; -#ifdef DEBUG - for (i = 0; i < ac; i++) { - (void) fprintf(stderr, " > arg# %2d ", i); - if (i != cc) - (void) fprintf(stderr, "`%s'\n", av[i]); - else - (void) fprintf(stderr, "`%.*s_%s'\n", - co, av[i], av[i] + co); - } -#endif - - if (strcmp(av[0], "history") == 0) { - int rv; - - switch (ac) { - case 1: - for (rv = history(hist, &ev, H_LAST); rv != -1; - rv = history(hist, &ev, H_PREV)) - (void) fprintf(stdout, "%4d %s", - ev.num, ev.str); - break; - - case 2: - if (strcmp(av[1], "clear") == 0) - history(hist, &ev, H_CLEAR); - else - goto badhist; - break; - - case 3: - if (strcmp(av[1], "load") == 0) - history(hist, &ev, H_LOAD, av[2]); - else if (strcmp(av[1], "save") == 0) - history(hist, &ev, H_SAVE, av[2]); - break; - - badhist: - default: - (void) fprintf(stderr, - "Bad history arguments\n"); - break; - } - } else if (el_parse(el, ac, av) == -1) { - switch (fork()) { - case 0: - execvp(av[0], (char *const *)__UNCONST(av)); - perror(av[0]); - _exit(1); - /*NOTREACHED*/ - break; - - case -1: - perror("fork"); - break; - - default: - if (wait(&num) == -1) - perror("wait"); - (void) fprintf(stderr, "Exit %x\n", num); - break; - } - } - - tok_reset(tok); - } - - el_end(el); - tok_end(tok); - history_end(hist); - - return (0); -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/examples/wtc1.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/examples/wtc1.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/examples/wtc1.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/examples/wtc1.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,278 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - - -static int continuation; -volatile sig_atomic_t gotsig; -static const char hfile[] = ".whistory"; - -static wchar_t * -prompt(EditLine *el) -{ - static wchar_t a[] = L"\1\033[7m\1Edit$\1\033[0m\1 "; - static wchar_t b[] = L"Edit> "; - - return continuation ? b : a; -} - - -static void -sig(int i) -{ - gotsig = i; -} - -const char * -my_wcstombs(const wchar_t *wstr) -{ - static struct { - char *str; - int len; - } buf; - - int needed = wcstombs(0, wstr, 0) + 1; - if (needed > buf.len) { - buf.str = malloc(needed); - buf.len = needed; - } - wcstombs(buf.str, wstr, needed); - buf.str[needed - 1] = 0; - - return buf.str; -} - - -static unsigned char -complete(EditLine *el, int ch) -{ - DIR *dd = opendir("."); - struct dirent *dp; - const wchar_t *ptr; - char *buf, *bptr; - const LineInfoW *lf = el_wline(el); - int len, mblen, i; - unsigned char res = 0; - wchar_t dir[1024]; - - /* Find the last word */ - for (ptr = lf->cursor -1; !iswspace(*ptr) && ptr > lf->buffer; --ptr) - continue; - len = lf->cursor - ++ptr; - - /* Convert last word to multibyte encoding, so we can compare to it */ - wctomb(NULL, 0); /* Reset shift state */ - mblen = MB_LEN_MAX * len + 1; - buf = bptr = malloc(mblen); - if (buf == NULL) - err(1, "malloc"); - for (i = 0; i < len; ++i) { - /* Note: really should test for -1 return from wctomb */ - bptr += wctomb(bptr, ptr[i]); - } - *bptr = 0; /* Terminate multibyte string */ - mblen = bptr - buf; - - /* Scan directory for matching name */ - for (dp = readdir(dd); dp != NULL; dp = readdir(dd)) { - if (mblen > strlen(dp->d_name)) - continue; - if (strncmp(dp->d_name, buf, mblen) == 0) { - mbstowcs(dir, &dp->d_name[mblen], - sizeof(dir) / sizeof(*dir)); - if (el_winsertstr(el, dir) == -1) - res = CC_ERROR; - else - res = CC_REFRESH; - break; - } - } - - closedir(dd); - free(buf); - return res; -} - - -int -main(int argc, char *argv[]) -{ - EditLine *el = NULL; - int numc, ncontinuation; - const wchar_t *line; - TokenizerW *tok; - HistoryW *hist; - HistEventW ev; -#ifdef DEBUG - int i; -#endif - - setlocale(LC_ALL, ""); - - (void)signal(SIGINT, sig); - (void)signal(SIGQUIT, sig); - (void)signal(SIGHUP, sig); - (void)signal(SIGTERM, sig); - - hist = history_winit(); /* Init built-in history */ - history_w(hist, &ev, H_SETSIZE, 100); /* Remember 100 events */ - history_w(hist, &ev, H_LOAD, hfile); - - tok = tok_winit(NULL); /* Init the tokenizer */ - - el = el_init(argv[0], stdin, stdout, stderr); - - el_wset(el, EL_EDITOR, L"vi"); /* Default editor is vi */ - el_wset(el, EL_SIGNAL, 1); /* Handle signals gracefully */ - el_wset(el, EL_PROMPT_ESC, prompt, '\1'); /* Set the prompt function */ - - el_wset(el, EL_HIST, history_w, hist); /* FIXME - history_w? */ - - /* Add a user-defined function */ - el_wset(el, EL_ADDFN, L"ed-complete", L"Complete argument", complete); - - /* Bind to it */ - el_wset(el, EL_BIND, L"^I", L"ed-complete", NULL); - - /* - * Bind j, k in vi command mode to previous and next line, instead - * of previous and next history. - */ - el_wset(el, EL_BIND, L"-a", L"k", L"ed-prev-line", NULL); - el_wset(el, EL_BIND, L"-a", L"j", L"ed-next-line", NULL); - - /* Source the user's defaults file. */ - el_source(el, NULL); - - while((line = el_wgets(el, &numc)) != NULL && numc != 0) { - int ac, cc, co, rc; - const wchar_t **av; - - const LineInfoW *li; - li = el_wline(el); - -#ifdef DEBUG - (void)fwprintf(stderr, L"==> got %d %ls", numc, line); - (void)fwprintf(stderr, L" > li `%.*ls_%.*ls'\n", - (li->cursor - li->buffer), li->buffer, - (li->lastchar - 1 - li->cursor), - (li->cursor >= li->lastchar) ? L"" : li->cursor); -#endif - - if (gotsig) { - (void)fprintf(stderr, "Got signal %d.\n", (int)gotsig); - gotsig = 0; - el_reset(el); - } - - if(!continuation && numc == 1) - continue; /* Only got a linefeed */ - - ac = cc = co = 0; - ncontinuation = tok_wline(tok, li, &ac, &av, &cc, &co); - if (ncontinuation < 0) { - (void) fprintf(stderr, "Internal error\n"); - continuation = 0; - continue; - } - -#ifdef DEBUG - (void)fprintf(stderr, " > nc %d ac %d cc %d co %d\n", - ncontinuation, ac, cc, co); -#endif - history_w(hist, &ev, continuation ? H_APPEND : H_ENTER, line); - - continuation = ncontinuation; - ncontinuation = 0; - if(continuation) - continue; - -#ifdef DEBUG - for (i = 0; i < ac; ++i) { - (void)fwprintf(stderr, L" > arg# %2d ", i); - if (i != cc) - (void)fwprintf(stderr, L"`%ls'\n", av[i]); - else - (void)fwprintf(stderr, L"`%.*ls_%ls'\n", - co, av[i], av[i] + co); - } -#endif - - if (wcscmp (av[0], L"history") == 0) { - switch(ac) { - case 1: - for(rc = history_w(hist, &ev, H_LAST); - rc != -1; - rc = history_w(hist, &ev, H_PREV)) - (void)fwprintf(stdout, L"%4d %ls", - ev.num, ev.str); - break; - case 2: - if (wcscmp(av[1], L"clear") == 0) - history_w(hist, &ev, H_CLEAR); - else - goto badhist; - break; - case 3: - if (wcscmp(av[1], L"load") == 0) - history_w(hist, &ev, H_LOAD, - my_wcstombs(av[2])); - else if (wcscmp(av[1], L"save") == 0) - history_w(hist, &ev, H_SAVE, - my_wcstombs(av[2])); - else - goto badhist; - break; - badhist: - default: - (void)fprintf(stderr, - "Bad history arguments\n"); - break; - } - } else if (el_wparse(el, ac, av) == -1) { - switch (fork()) { - case 0: { - Tokenizer *ntok = tok_init(NULL); - int nargc; - const char **nav; - tok_str(ntok, my_wcstombs(line), &nargc, &nav); - execvp(nav[0],(char **)nav); - perror(nav[0]); - _exit(1); - /* NOTREACHED */ - break; - } - case -1: - perror("fork"); - break; - default: - if (wait(&rc) == -1) - perror("wait"); - (void)fprintf(stderr, "Exit %x\n", rc); - break; - } - } - - tok_wreset(tok); - } - - el_end(el); - tok_wend(tok); - history_w(hist, &ev, H_SAVE, hfile); - history_wend(hist); - - fprintf(stdout, "\n"); - return 0; -} - - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/INSTALL mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/INSTALL --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/INSTALL 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/INSTALL 1970-01-01 00:00:00.000000000 +0000 @@ -1,229 +0,0 @@ -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software -Foundation, Inc. - - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is -disabled by default to prevent problems with accidental use of stale -cache files.) - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the `--target=TYPE' option to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -will cause the specified gcc to be used as the C compiler (unless it is -overridden in the site shell script). - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/install-sh mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/install-sh --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/install-sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/install-sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,518 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2018-03-11.20; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# 'make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -tab=' ' -nl=' -' -IFS=" $tab$nl" - -# Set DOITPROG to "echo" to test this script. - -doit=${DOITPROG-} -doit_exec=${doit:-exec} - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -is_target_a_directory=possibly - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) - is_target_a_directory=always - dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) is_target_a_directory=never;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -# We allow the use of options -d and -T together, by making -d -# take the precedence; this is for compatibility with GNU install. - -if test -n "$dir_arg"; then - if test -n "$dst_arg"; then - echo "$0: target directory not allowed when installing a directory." >&2 - exit 1 - fi -fi - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call 'install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - if test $# -gt 1 || test "$is_target_a_directory" = always; then - if test ! -d "$dst_arg"; then - echo "$0: $dst_arg: Is not a directory." >&2 - exit 1 - fi - fi -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for 'test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename. - if test -d "$dst"; then - if test "$is_target_a_directory" = never; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dstbase=`basename "$src"` - case $dst in - */) dst=$dst$dstbase;; - *) dst=$dst/$dstbase;; - esac - dstdir_status=0 - else - dstdir=`dirname "$dst"` - test -d "$dstdir" - dstdir_status=$? - fi - fi - - case $dstdir in - */) dstdirslash=$dstdir;; - *) dstdirslash=$dstdir/;; - esac - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - # Note that $RANDOM variable is not portable (e.g. dash); Use it - # here however when possible just to lower collision chance. - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # Because "mkdir -p" follows existing symlinks and we likely work - # directly in world-writeable /tmp, make sure that the '$tmpdir' - # directory is successfully created first before we actually test - # 'mkdir -p' feature. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - oIFS=$IFS - IFS=/ - set -f - set fnord $dstdir - shift - set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=${dstdirslash}_inst.$$_ - rmtmp=${dstdirslash}_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - set +f && - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/libedit.pc.in mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/libedit.pc.in --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/libedit.pc.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/libedit.pc.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: libedit -Description: command line editor library provides generic line editing, history, and tokenization functions. -Version: @VERSION@ -Requires: -Libs: -L${libdir} -ledit -Libs.private: @LIBS@ -Cflags: -I${includedir} -I${includedir}/editline - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/ltmain.sh mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/ltmain.sh --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/ltmain.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/ltmain.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,11147 +0,0 @@ -#! /bin/sh -## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 - -# libtool (GNU libtool) 2.4.6 -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -PROGRAM=libtool -PACKAGE=libtool -VERSION=2.4.6 -package_revision=2.4.6 - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './libtool --help' for help with using this script from the -# command line. - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# After configure completes, it has a better idea of some of the -# shell tools we need than the defaults used by the functions shared -# with bootstrap, so set those here where they can still be over- -# ridden by the user, but otherwise take precedence. - -: ${AUTOCONF="autoconf"} -: ${AUTOMAKE="automake"} - - -## -------------------------- ## -## Source external libraries. ## -## -------------------------- ## - -# Much of our low-level functionality needs to be sourced from external -# libraries, which are installed to $pkgauxdir. - -# Set a version string for this script. -scriptversion=2015-01-20.17; # UTC - -# General shell script boiler plate, and helper functions. -# Written by Gary V. Vaughan, 2004 - -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# Evaluate this file near the top of your script to gain access to -# the functions and variables defined here: -# -# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh -# -# If you need to override any of the default environment variable -# settings, do that before evaluating this file. - - -## -------------------- ## -## Shell normalisation. ## -## -------------------- ## - -# Some shells need a little help to be as Bourne compatible as possible. -# Before doing anything else, make sure all that help has been provided! - -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac -fi - -# NLS nuisances: We save the old values in case they are required later. -_G_user_locale= -_G_safe_locale= -for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test set = \"\${$_G_var+set}\"; then - save_$_G_var=\$$_G_var - $_G_var=C - export $_G_var - _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" - _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" - fi" -done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Make sure IFS has a sensible default -sp=' ' -nl=' -' -IFS="$sp $nl" - -# There are apparently some retarded systems that use ';' as a PATH separator! -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - - -## ------------------------- ## -## Locate command utilities. ## -## ------------------------- ## - - -# func_executable_p FILE -# ---------------------- -# Check that FILE is an executable regular file. -func_executable_p () -{ - test -f "$1" && test -x "$1" -} - - -# func_path_progs PROGS_LIST CHECK_FUNC [PATH] -# -------------------------------------------- -# Search for either a program that responds to --version with output -# containing "GNU", or else returned by CHECK_FUNC otherwise, by -# trying all the directories in PATH with each of the elements of -# PROGS_LIST. -# -# CHECK_FUNC should accept the path to a candidate program, and -# set $func_check_prog_result if it truncates its output less than -# $_G_path_prog_max characters. -func_path_progs () -{ - _G_progs_list=$1 - _G_check_func=$2 - _G_PATH=${3-"$PATH"} - - _G_path_prog_max=0 - _G_path_prog_found=false - _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} - for _G_dir in $_G_PATH; do - IFS=$_G_save_IFS - test -z "$_G_dir" && _G_dir=. - for _G_prog_name in $_G_progs_list; do - for _exeext in '' .EXE; do - _G_path_prog=$_G_dir/$_G_prog_name$_exeext - func_executable_p "$_G_path_prog" || continue - case `"$_G_path_prog" --version 2>&1` in - *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; - *) $_G_check_func $_G_path_prog - func_path_progs_result=$func_check_prog_result - ;; - esac - $_G_path_prog_found && break 3 - done - done - done - IFS=$_G_save_IFS - test -z "$func_path_progs_result" && { - echo "no acceptable sed could be found in \$PATH" >&2 - exit 1 - } -} - - -# We want to be able to use the functions in this file before configure -# has figured out where the best binaries are kept, which means we have -# to search for them ourselves - except when the results are already set -# where we skip the searches. - -# Unless the user overrides by setting SED, search the path for either GNU -# sed, or the sed that truncates its output the least. -test -z "$SED" && { - _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for _G_i in 1 2 3 4 5 6 7; do - _G_sed_script=$_G_sed_script$nl$_G_sed_script - done - echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed - _G_sed_script= - - func_check_prog_sed () - { - _G_path_prog=$1 - - _G_count=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo '' >> conftest.nl - "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin - rm -f conftest.sed - SED=$func_path_progs_result -} - - -# Unless the user overrides by setting GREP, search the path for either GNU -# grep, or the grep that truncates its output the least. -test -z "$GREP" && { - func_check_prog_grep () - { - _G_path_prog=$1 - - _G_count=0 - _G_path_prog_max=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo 'GREP' >> conftest.nl - "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin - GREP=$func_path_progs_result -} - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase variable names are used for environment variables. These -# variables can be overridden by the user before calling a script that -# uses them if a suitable command of that name is not already available -# in the command search PATH. - -: ${CP="cp -f"} -: ${ECHO="printf %s\n"} -: ${EGREP="$GREP -E"} -: ${FGREP="$GREP -F"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} - - -## -------------------- ## -## Useful sed snippets. ## -## -------------------- ## - -sed_dirname='s|/[^/]*$||' -sed_basename='s|^.*/||' - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s|\([`"$\\]\)|\\\1|g' - -# Same as above, but do not quote variable references. -sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' - -# Sed substitution that converts a w32 file name or path -# that contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-'\' parameter expansions in output of sed_double_quote_subst that -# were '\'-ed in input to the same. If an odd number of '\' preceded a -# '$' in input to sed_double_quote_subst, that '$' was protected from -# expansion. Since each input '\' is now two '\'s, look for any number -# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. -_G_bs='\\' -_G_bs2='\\\\' -_G_bs4='\\\\\\\\' -_G_dollar='\$' -sed_double_backslash="\ - s/$_G_bs4/&\\ -/g - s/^$_G_bs2$_G_dollar/$_G_bs&/ - s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g - s/\n//g" - - -## ----------------- ## -## Global variables. ## -## ----------------- ## - -# Except for the global variables explicitly listed below, the following -# functions in the '^func_' namespace, and the '^require_' namespace -# variables initialised in the 'Resource management' section, sourcing -# this file will not pollute your global namespace with anything -# else. There's no portable way to scope variables in Bourne shell -# though, so actually running these functions will sometimes place -# results into a variable named after the function, and often use -# temporary variables in the '^_G_' namespace. If you are careful to -# avoid using those namespaces casually in your sourcing script, things -# should continue to work as you expect. And, of course, you can freely -# overwrite any of the functions or variables defined here before -# calling anything to customize them. - -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -# Allow overriding, eg assuming that you follow the convention of -# putting '$debug_cmd' at the start of all your functions, you can get -# bash to show function call trace with: -# -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name -debug_cmd=${debug_cmd-":"} -exit_cmd=: - -# By convention, finish your script with: -# -# exit $exit_status -# -# so that you can set exit_status to non-zero if you want to indicate -# something went wrong during execution without actually bailing out at -# the point of failure. -exit_status=$EXIT_SUCCESS - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath=$0 - -# The name of this program. -progname=`$ECHO "$progpath" |$SED "$sed_basename"` - -# Make sure we have an absolute progpath for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` - progdir=`cd "$progdir" && pwd` - progpath=$progdir/$progname - ;; - *) - _G_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS=$_G_IFS - test -x "$progdir/$progname" && break - done - IFS=$_G_IFS - test -n "$progdir" || progdir=`pwd` - progpath=$progdir/$progname - ;; -esac - - -## ----------------- ## -## Standard options. ## -## ----------------- ## - -# The following options affect the operation of the functions defined -# below, and should be set appropriately depending on run-time para- -# meters passed on the command line. - -opt_dry_run=false -opt_quiet=false -opt_verbose=false - -# Categories 'all' and 'none' are always available. Append any others -# you will pass as the first argument to func_warning from your own -# code. -warning_categories= - -# By default, display warnings according to 'opt_warning_types'. Set -# 'warning_func' to ':' to elide all warnings, or func_fatal_error to -# treat the next displayed warning as a fatal error. -warning_func=func_warn_and_continue - -# Set to 'all' to display all warnings, 'none' to suppress all -# warnings, or a space delimited list of some subset of -# 'warning_categories' to display only the listed warnings. -opt_warning_types=all - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Call them using their associated -# 'require_*' variable to ensure that they are executed, at most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_term_colors -# ------------------- -# Allow display of bold text on terminals that support it. -require_term_colors=func_require_term_colors -func_require_term_colors () -{ - $debug_cmd - - test -t 1 && { - # COLORTERM and USE_ANSI_COLORS environment variables take - # precedence, because most terminfo databases neglect to describe - # whether color sequences are supported. - test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} - - if test 1 = "$USE_ANSI_COLORS"; then - # Standard ANSI escape sequences - tc_reset='' - tc_bold=''; tc_standout='' - tc_red=''; tc_green='' - tc_blue=''; tc_cyan='' - else - # Otherwise trust the terminfo database after all. - test -n "`tput sgr0 2>/dev/null`" && { - tc_reset=`tput sgr0` - test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` - tc_standout=$tc_bold - test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` - test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` - test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` - test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` - test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` - } - fi - } - - require_term_colors=: -} - - -## ----------------- ## -## Function library. ## -## ----------------- ## - -# This section contains a variety of useful functions to call in your -# scripts. Take note of the portable wrappers for features provided by -# some modern shells, which will fall back to slower equivalents on -# less featureful shells. - - -# func_append VAR VALUE -# --------------------- -# Append VALUE onto the existing contents of VAR. - - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - - # _G_HAVE_PLUSEQ_OP - # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes - -if test yes = "$_G_HAVE_PLUSEQ_OP" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_append () - { - $debug_cmd - - eval "$1+=\$2" - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_append () - { - $debug_cmd - - eval "$1=\$$1\$2" - } -fi - - -# func_append_quoted VAR VALUE -# ---------------------------- -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -if test yes = "$_G_HAVE_PLUSEQ_OP"; then - eval 'func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" - }' -else - func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" - } -fi - - -# func_append_uniq VAR VALUE -# -------------------------- -# Append unique VALUE onto the existing contents of VAR, assuming -# entries are delimited by the first character of VALUE. For example: -# -# func_append_uniq options " --another-option option-argument" -# -# will only append to $options if " --another-option option-argument " -# is not already present somewhere in $options already (note spaces at -# each end implied by leading space in second argument). -func_append_uniq () -{ - $debug_cmd - - eval _G_current_value='`$ECHO $'$1'`' - _G_delim=`expr "$2" : '\(.\)'` - - case $_G_delim$_G_current_value$_G_delim in - *"$2$_G_delim"*) ;; - *) func_append "$@" ;; - esac -} - - -# func_arith TERM... -# ------------------ -# Set func_arith_result to the result of evaluating TERMs. - test -z "$_G_HAVE_ARITH_OP" \ - && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ - && _G_HAVE_ARITH_OP=yes - -if test yes = "$_G_HAVE_ARITH_OP"; then - eval 'func_arith () - { - $debug_cmd - - func_arith_result=$(( $* )) - }' -else - func_arith () - { - $debug_cmd - - func_arith_result=`expr "$@"` - } -fi - - -# func_basename FILE -# ------------------ -# Set func_basename_result to FILE with everything up to and including -# the last / stripped. -if test yes = "$_G_HAVE_XSI_OPS"; then - # If this shell supports suffix pattern removal, then use it to avoid - # forking. Hide the definitions single quotes in case the shell chokes - # on unsupported syntax... - _b='func_basename_result=${1##*/}' - _d='case $1 in - */*) func_dirname_result=${1%/*}$2 ;; - * ) func_dirname_result=$3 ;; - esac' - -else - # ...otherwise fall back to using sed. - _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' - _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` - if test "X$func_dirname_result" = "X$1"; then - func_dirname_result=$3 - else - func_append func_dirname_result "$2" - fi' -fi - -eval 'func_basename () -{ - $debug_cmd - - '"$_b"' -}' - - -# func_dirname FILE APPEND NONDIR_REPLACEMENT -# ------------------------------------------- -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -eval 'func_dirname () -{ - $debug_cmd - - '"$_d"' -}' - - -# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT -# -------------------------------------------------------- -# Perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# For efficiency, we do not delegate to the functions above but instead -# duplicate the functionality here. -eval 'func_dirname_and_basename () -{ - $debug_cmd - - '"$_b"' - '"$_d"' -}' - - -# func_echo ARG... -# ---------------- -# Echo program name prefixed message. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_echo_all ARG... -# -------------------- -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - - -# func_echo_infix_1 INFIX ARG... -# ------------------------------ -# Echo program name, followed by INFIX on the first line, with any -# additional lines not showing INFIX. -func_echo_infix_1 () -{ - $debug_cmd - - $require_term_colors - - _G_infix=$1; shift - _G_indent=$_G_infix - _G_prefix="$progname: $_G_infix: " - _G_message=$* - - # Strip color escape sequences before counting printable length - for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" - do - test -n "$_G_tc" && { - _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` - _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` - } - done - _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes - - func_echo_infix_1_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_infix_1_IFS - $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 - _G_prefix=$_G_indent - done - IFS=$func_echo_infix_1_IFS -} - - -# func_error ARG... -# ----------------- -# Echo program name prefixed message to standard error. -func_error () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 -} - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - $debug_cmd - - func_error "$*" - exit $EXIT_FAILURE -} - - -# func_grep EXPRESSION FILENAME -# ----------------------------- -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $debug_cmd - - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_len STRING -# --------------- -# Set func_len_result to the length of STRING. STRING may not -# start with a hyphen. - test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` - } -fi - - -# func_mkdir_p DIRECTORY-PATH -# --------------------------- -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - $debug_cmd - - _G_directory_path=$1 - _G_dir_list= - - if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - - # Protect directory names starting with '-' - case $_G_directory_path in - -*) _G_directory_path=./$_G_directory_path ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$_G_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - _G_dir_list=$_G_directory_path:$_G_dir_list - - # If the last portion added has no slash in it, the list is done - case $_G_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` - done - _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - - func_mkdir_p_IFS=$IFS; IFS=: - for _G_dir in $_G_dir_list; do - IFS=$func_mkdir_p_IFS - # mkdir can fail with a 'File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$_G_dir" 2>/dev/null || : - done - IFS=$func_mkdir_p_IFS - - # Bail out if we (or some other process) failed to create a directory. - test -d "$_G_directory_path" || \ - func_fatal_error "Failed to create '$1'" - fi -} - - -# func_mktempdir [BASENAME] -# ------------------------- -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, BASENAME is the basename for that directory. -func_mktempdir () -{ - $debug_cmd - - _G_template=${TMPDIR-/tmp}/${1-$progname} - - if test : = "$opt_dry_run"; then - # Return a directory name, but don't create it in dry-run mode - _G_tmpdir=$_G_template-$$ - else - - # If mktemp works, use that first and foremost - _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - - if test ! -d "$_G_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - _G_tmpdir=$_G_template-${RANDOM-0}$$ - - func_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$_G_tmpdir" - umask $func_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$_G_tmpdir" || \ - func_fatal_error "cannot create temporary directory '$_G_tmpdir'" - fi - - $ECHO "$_G_tmpdir" -} - - -# func_normal_abspath PATH -# ------------------------ -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -func_normal_abspath () -{ - $debug_cmd - - # These SED scripts presuppose an absolute path with a trailing slash. - _G_pathcar='s|^/\([^/]*\).*$|\1|' - _G_pathcdr='s|^/[^/]*||' - _G_removedotparts=':dotsl - s|/\./|/|g - t dotsl - s|/\.$|/|' - _G_collapseslashes='s|/\{1,\}|/|g' - _G_finalslash='s|/*$|/|' - - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` - while :; do - # Processed it all yet? - if test / = "$func_normal_abspath_tpath"; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result"; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - - -# func_notquiet ARG... -# -------------------- -# Echo program name prefixed message only when not in quiet mode. -func_notquiet () -{ - $debug_cmd - - $opt_quiet || func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - - -# func_relative_path SRCDIR DSTDIR -# -------------------------------- -# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. -func_relative_path () -{ - $debug_cmd - - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=$func_dirname_result - if test -z "$func_relative_path_tlibdir"; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test -n "$func_stripname_result"; then - func_append func_relative_path_result "/$func_stripname_result" - fi - - # Normalisation. If bindir is libdir, return '.' else relative path. - if test -n "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - fi - - test -n "$func_relative_path_result" || func_relative_path_result=. - - : -} - - -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () -{ - $debug_cmd - - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in - *[\\\`\"\$]*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" - fi - - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_quoted_arg=\"$_G_unquoted_arg\" - ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; - esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift - done -} - - -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - $debug_cmd - - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; - esac - - case $_G_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" - ;; - esac - - func_quote_for_expand_result=$_G_arg -} - - -# func_stripname PREFIX SUFFIX NAME -# --------------------------------- -# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_stripname () - { - $debug_cmd - - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary variable first. - func_stripname_result=$3 - func_stripname_result=${func_stripname_result#"$1"} - func_stripname_result=${func_stripname_result%"$2"} - }' -else - func_stripname () - { - $debug_cmd - - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; - esac - } -fi - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" - - $opt_dry_run || { - eval "$_G_cmd" - _G_status=$? - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_show_eval_locale CMD [FAIL_EXP] -# ------------------------------------ -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - $opt_dry_run || { - eval "$_G_user_locale - $_G_cmd" - _G_status=$? - eval "$_G_safe_locale" - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_tr_sh -# ---------- -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - $debug_cmd - - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_verbose ARG... -# ------------------- -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $debug_cmd - - $opt_verbose && func_echo "$*" - - : -} - - -# func_warn_and_continue ARG... -# ----------------------------- -# Echo program name prefixed warning message to standard error. -func_warn_and_continue () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 -} - - -# func_warning CATEGORY ARG... -# ---------------------------- -# Echo program name prefixed warning message to standard error. Warning -# messages can be filtered according to CATEGORY, where this function -# elides messages where CATEGORY is not listed in the global variable -# 'opt_warning_types'. -func_warning () -{ - $debug_cmd - - # CATEGORY must be in the warning_categories list! - case " $warning_categories " in - *" $1 "*) ;; - *) func_internal_error "invalid warning category '$1'" ;; - esac - - _G_category=$1 - shift - - case " $opt_warning_types " in - *" $_G_category "*) $warning_func ${1+"$@"} ;; - esac -} - - -# func_sort_ver VER1 VER2 -# ----------------------- -# 'sort -V' is not generally available. -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -func_sort_ver () -{ - $debug_cmd - - printf '%s\n%s\n' "$1" "$2" \ - | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n -} - -# func_lt_ver PREV CURR -# --------------------- -# Return true if PREV and CURR are in the correct order according to -# func_sort_ver, otherwise false. Use it like this: -# -# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." -func_lt_ver () -{ - $debug_cmd - - test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: -#! /bin/sh - -# Set a version string for this script. -scriptversion=2014-01-07.03; # UTC - -# A portable, pluggable option parser for Bourne shell. -# Written by Gary V. Vaughan, 2010 - -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# This file is a library for parsing options in your shell scripts along -# with assorted other useful supporting features that you can make use -# of too. -# -# For the simplest scripts you might need only: -# -# #!/bin/sh -# . relative/path/to/funclib.sh -# . relative/path/to/options-parser -# scriptversion=1.0 -# func_options ${1+"$@"} -# eval set dummy "$func_options_result"; shift -# ...rest of your script... -# -# In order for the '--version' option to work, you will need to have a -# suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. -# -# For '-h' and '--help' to work, you will also need a one line -# description of your script's purpose in a comment directly above the -# '# Written by ' line, like the one at the top of this file. -# -# The default options also support '--debug', which will turn on shell -# execution tracing (see the comment above debug_cmd below for another -# use), and '--verbose' and the func_verbose function to allow your script -# to display verbose messages only when your user has specified -# '--verbose'. -# -# After sourcing this file, you can plug processing for additional -# options by amending the variables from the 'Configuration' section -# below, and following the instructions in the 'Option parsing' -# section further down. - -## -------------- ## -## Configuration. ## -## -------------- ## - -# You should override these variables in your script after sourcing this -# file so that they reflect the customisations you have added to the -# option parser. - -# The usage line for option parsing errors and the start of '-h' and -# '--help' output messages. You can embed shell variables for delayed -# expansion at the time the message is displayed, but you will need to -# quote other shell meta-characters carefully to prevent them being -# expanded when the contents are evaled. -usage='$progpath [OPTION]...' - -# Short help message in response to '-h' and '--help'. Add to this or -# override it after sourcing this library to reflect the full set of -# options your script accepts. -usage_message="\ - --debug enable verbose shell tracing - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -v, --verbose verbosely report processing - --version print version information and exit - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=" -Warning categories include: - 'all' show all warnings - 'none' turn off all the warnings - 'error' warnings are treated as fatal errors" - -# Help message printed before fatal option parsing errors. -fatal_help="Try '\$progname --help' for more information." - - - -## ------------------------- ## -## Hook function management. ## -## ------------------------- ## - -# This section contains functions for adding, removing, and running hooks -# to the main code. A hook is just a named list of of function, that can -# be run in order later on. - -# func_hookable FUNC_NAME -# ----------------------- -# Declare that FUNC_NAME will run hooks added with -# 'func_add_hook FUNC_NAME ...'. -func_hookable () -{ - $debug_cmd - - func_append hookable_fns " $1" -} - - -# func_add_hook FUNC_NAME HOOK_FUNC -# --------------------------------- -# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must -# first have been declared "hookable" by a call to 'func_hookable'. -func_add_hook () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not accept hook functions." ;; - esac - - eval func_append ${1}_hooks '" $2"' -} - - -# func_remove_hook FUNC_NAME HOOK_FUNC -# ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. -func_remove_hook () -{ - $debug_cmd - - eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' -} - - -# func_run_hooks FUNC_NAME [ARG]... -# --------------------------------- -# Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more -# than a whitespace-delimited list of legal shell function names, and -# no effort is wasted trying to catch shell meta-characters or preserve -# whitespace. -func_run_hooks () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; - esac - - eval _G_hook_fns=\$$1_hooks; shift - - for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift - done - - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. Like this: -# -# my_options_prep () -# { -# $debug_cmd -# -# # Extend the existing usage message. -# usage_message=$usage_message' -# -s, --silent don'\''t print informational messages -# ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result -# } -# func_add_hook func_options_prep my_options_prep -# -# -# my_silent_option () -# { -# $debug_cmd -# -# # Note that for efficiency, we parse as many options as we can -# # recognise in a loop before passing the remainder back to the -# # caller on the first unrecognised argument we encounter. -# while test $# -gt 0; do -# opt=$1; shift -# case $opt in -# --silent|-s) opt_silent=: ;; -# # Separate non-argument short options: -# -s*) func_split_short_opt "$_G_opt" -# set dummy "$func_split_short_opt_name" \ -# "-$func_split_short_opt_arg" ${1+"$@"} -# shift -# ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; -# esac -# done -# -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result -# } -# func_add_hook func_parse_options my_silent_option -# -# -# my_option_validation () -# { -# $debug_cmd -# -# $opt_silent && $opt_verbose && func_fatal_help "\ -# '--silent' and '--verbose' options are mutually exclusive." -# -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result -# } -# func_add_hook func_validate_options my_option_validation -# -# You'll alse need to manually amend $usage_message to reflect the extra -# options you parse. It's preferable to append if you can, so that -# multiple option parsing hooks can be added safely. - - -# func_options [ARG]... -# --------------------- -# All the functions called inside func_options are hookable. See the -# individual implementations for details. -func_hookable func_options -func_options () -{ - $debug_cmd - - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} - - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} - - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result -} - - -# func_options_prep [ARG]... -# -------------------------- -# All initialisations required before starting the option parse loop. -# Note that when calling hook functions, we pass through the list of -# positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. -func_hookable func_options_prep -func_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_verbose=false - opt_warning_types= - - func_run_hooks func_options_prep ${1+"$@"} - - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result -} - - -# func_parse_options [ARG]... -# --------------------------- -# The main option parsing loop. -func_hookable func_parse_options -func_parse_options () -{ - $debug_cmd - - func_parse_options_result= - - # this just eases exit handling - while test $# -gt 0; do - # Defer to hook functions for initial option parsing, so they - # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift - - # Break out of the loop if we already parsed every option. - test $# -gt 0 || break - - _G_opt=$1 - shift - case $_G_opt in - --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" - $debug_cmd - ;; - - --no-warnings|--no-warning|--no-warn) - set dummy --warnings none ${1+"$@"} - shift - ;; - - --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break - case " $warning_categories $1" in - *" $1 "*) - # trailing space prevents matching last $1 above - func_append_uniq opt_warning_types " $1" - ;; - *all) - opt_warning_types=$warning_categories - ;; - *none) - opt_warning_types=none - warning_func=: - ;; - *error) - opt_warning_types=$warning_categories - warning_func=func_fatal_error - ;; - *) - func_fatal_error \ - "unsupported warning category: '$1'" - ;; - esac - shift - ;; - - --verbose|-v) opt_verbose=: ;; - --version) func_version ;; - -\?|-h) func_usage ;; - --help) func_help ;; - - # Separate optargs to long options (plugins may need this): - --*=*) func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - ;; - - # Separate optargs to short options: - -W*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-v*|-x*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result -} - - -# func_validate_options [ARG]... -# ------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -func_hookable func_validate_options -func_validate_options () -{ - $debug_cmd - - # Display all warnings if -W was not given. - test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - func_run_hooks func_validate_options ${1+"$@"} - - # Bail if the options were screwed! - $exit_cmd $EXIT_FAILURE - - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result -} - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of the -# hookable option parser framework in ascii-betical order. - - -# func_fatal_help ARG... -# ---------------------- -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - eval \$ECHO \""$fatal_help"\" - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - - -# func_help -# --------- -# Echo long help message to standard output and exit. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message" - exit 0 -} - - -# func_missing_arg ARGNAME -# ------------------------ -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $debug_cmd - - func_error "Missing argument for '$1'." - exit_cmd=exit -} - - -# func_split_equals STRING -# ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. -test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=${1%%=*} - func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` - func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ - || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` - } -fi #func_split_equals - - -# func_split_short_opt SHORTOPT -# ----------------------------- -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` - func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` - } -fi #func_split_short_opt - - -# func_usage -# ---------- -# Echo short help message to standard output and exit. -func_usage () -{ - $debug_cmd - - func_usage_message - $ECHO "Run '$progname --help |${PAGER-more}' for full usage" - exit 0 -} - - -# func_usage_message -# ------------------ -# Echo short help message to standard output. -func_usage_message () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - echo - $SED -n 's|^# || - /^Written by/{ - x;p;x - } - h - /^Written by/q' < "$progpath" - echo - eval \$ECHO \""$usage_message"\" -} - - -# func_version -# ------------ -# Echo version message to standard output and exit. -func_version () -{ - $debug_cmd - - printf '%s\n' "$progname $scriptversion" - $SED -n ' - /(C)/!b go - :more - /\./!{ - N - s|\n# | | - b more - } - :go - /^# Written by /,/# warranty; / { - s|^# || - s|^# *$|| - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - p - } - /^# Written by / { - s|^# || - p - } - /^warranty; /q' < "$progpath" - - exit $? -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: - -# Set a version string. -scriptversion='(GNU libtool) 2.4.6' - - -# func_echo ARG... -# ---------------- -# Libtool also displays the current mode in messages, so override -# funclib.sh func_echo with this custom definition. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_warning ARG... -# ------------------- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ - $debug_cmd - - $warning_func ${1+"$@"} -} - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]... [MODE-ARG]...' - -# Short help message in response to '-h'. -usage_message="Options: - --config show all configuration variables - --debug enable verbose shell tracing - -n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --mode=MODE use operation mode MODE - --no-warnings equivalent to '-Wnone' - --preserve-dup-deps don't remove duplicate dependency libraries - --quiet, --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - -v, --verbose print more informational messages than default - --version print version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message -" - -# Additional text appended to 'usage_message' in response to '--help'. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. When passed as first option, -'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. -Try '$progname --help --mode=MODE' for a more detailed description of MODE. - -When reporting a bug, please describe a test case to reproduce it and -include the following information: - - host-triplet: $host - shell: $SHELL - compiler: $LTCC - compiler flags: $LTCFLAGS - linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 - automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` - autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` - -Report bugs to . -GNU libtool home page: . -General help using GNU software: ." - exit 0 -} - - -# func_lo2o OBJECT-NAME -# --------------------- -# Transform OBJECT-NAME from a '.lo' suffix to the platform specific -# object suffix. - -lo2o=s/\\.lo\$/.$objext/ -o2lo=s/\\.$objext\$/.lo/ - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_lo2o () - { - case $1 in - *.lo) func_lo2o_result=${1%.lo}.$objext ;; - * ) func_lo2o_result=$1 ;; - esac - }' - - # func_xform LIBOBJ-OR-SOURCE - # --------------------------- - # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) - # suffix to a '.lo' libtool-object suffix. - eval 'func_xform () - { - func_xform_result=${1%.*}.lo - }' -else - # ...otherwise fall back to using sed. - func_lo2o () - { - func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` - } - - func_xform () - { - func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` - } -fi - - -# func_fatal_configuration ARG... -# ------------------------------- -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func__fatal_error ${1+"$@"} \ - "See the $PACKAGE documentation for more information." \ - "Fatal configuration error." -} - - -# func_config -# ----------- -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - - -# func_features -# ------------- -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test yes = "$build_libtool_libs"; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test yes = "$build_old_libs"; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - - -# func_enable_tag TAGNAME -# ----------------------- -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname=$1 - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf=/$re_begincf/,/$re_endcf/p - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - - -# func_check_version_match -# ------------------------ -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# libtool_options_prep [ARG]... -# ----------------------------- -# Preparation for options parsed by libtool. -libtool_options_prep () -{ - $debug_mode - - # Option defaults: - opt_config=false - opt_dlopen= - opt_dry_run=false - opt_help=false - opt_mode= - opt_preserve_dup_deps=false - opt_quiet=false - - nonopt= - preserve_args= - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - esac - - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result -} -func_add_hook func_options_prep libtool_options_prep - - -# libtool_parse_options [ARG]... -# --------------------------------- -# Provide handling for libtool specific options. -libtool_parse_options () -{ - $debug_cmd - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_opt=$1 - shift - case $_G_opt in - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - - --config) func_config ;; - - --dlopen|-dlopen) - opt_dlopen="${opt_dlopen+$opt_dlopen -}$1" - shift - ;; - - --preserve-dup-deps) - opt_preserve_dup_deps=: ;; - - --features) func_features ;; - - --finish) set dummy --mode finish ${1+"$@"}; shift ;; - - --help) opt_help=: ;; - - --help-all) opt_help=': help-all' ;; - - --mode) test $# = 0 && func_missing_arg $_G_opt && break - opt_mode=$1 - case $1 in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $_G_opt" - exit_cmd=exit - break - ;; - esac - shift - ;; - - --no-silent|--no-quiet) - opt_quiet=false - func_append preserve_args " $_G_opt" - ;; - - --no-warnings|--no-warning|--no-warn) - opt_warning=false - func_append preserve_args " $_G_opt" - ;; - - --no-verbose) - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --silent|--quiet) - opt_quiet=: - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --tag) test $# = 0 && func_missing_arg $_G_opt && break - opt_tag=$1 - func_append preserve_args " $_G_opt $1" - func_enable_tag "$1" - shift - ;; - - --verbose|-v) opt_quiet=false - opt_verbose=: - func_append preserve_args " $_G_opt" - ;; - - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result -} -func_add_hook func_parse_options libtool_parse_options - - - -# libtool_validate_options [ARG]... -# --------------------------------- -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -libtool_validate_options () -{ - # save first non-option argument - if test 0 -lt $#; then - nonopt=$1 - shift - fi - - # preserve --debug - test : = "$debug_cmd" || func_append preserve_args " --debug" - - case $host in - # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 - # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - test yes != "$build_libtool_libs" \ - && test yes != "$build_old_libs" \ - && func_fatal_configuration "not configured to build any kind of library" - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test execute != "$opt_mode"; then - func_error "unrecognized option '-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help=$help - help="Try '$progname --help --mode=$opt_mode' for more information." - } - - # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result -} -func_add_hook func_validate_options libtool_validate_options - - -# Process options as early as possible so that --help and --version -# can return quickly. -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - - -## ----------- ## -## Main. ## -## ----------- ## - -magic='%%%MAGIC variable%%%' -magic_exe='%%%MAGIC EXE variable%%%' - -# Global variables. -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# func_generated_by_libtool -# True iff stdin has been generated by Libtool. This function is only -# a basic sanity check; it will hardly flush out determined imposters. -func_generated_by_libtool_p () -{ - $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if 'file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case $lalib_p_line in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test yes = "$lalib_p" -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - test -f "$1" && - $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $debug_cmd - - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# 'FILE.' does not work on cygwin managed mounts. -func_source () -{ - $debug_cmd - - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result='='$func_stripname_result - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $debug_cmd - - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with '--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=$1 - if test yes = "$build_libtool_libs"; then - write_lobj=\'$2\' - else - write_lobj=none - fi - - if test yes = "$build_old_libs"; then - write_oldobj=\'$3\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $debug_cmd - - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result= - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result"; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $debug_cmd - - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $debug_cmd - - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $debug_cmd - - if test -z "$2" && test -n "$1"; then - func_error "Could not determine host file name corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result=$1 - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $debug_cmd - - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " '$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result=$3 - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $debug_cmd - - case $4 in - $1 ) func_to_host_path_result=$3$func_to_host_path_result - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via '$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $debug_cmd - - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $debug_cmd - - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result=$1 -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result=$func_convert_core_msys_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result=$func_convert_core_file_wine_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via '$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $debug_cmd - - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd=func_convert_path_$func_stripname_result - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $debug_cmd - - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result=$1 -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_msys_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_path_wine_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_dll_def_p FILE -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with _LT_DLL_DEF_P in libtool.m4 -func_dll_def_p () -{ - $debug_cmd - - func_dll_def_p_tmp=`$SED -n \ - -e 's/^[ ]*//' \ - -e '/^\(;.*\)*$/d' \ - -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ - -e q \ - "$1"` - test DEF = "$func_dll_def_p_tmp" -} - - -# func_mode_compile arg... -func_mode_compile () -{ - $debug_cmd - - # Get the compilation command and the source file. - base_compile= - srcfile=$nonopt # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg=$arg - arg_mode=normal - ;; - - target ) - libobj=$arg - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify '-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs=$IFS; IFS=, - for arg in $args; do - IFS=$save_ifs - func_append_quoted lastarg "$arg" - done - IFS=$save_ifs - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg=$srcfile - srcfile=$arg - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with '-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj=$func_basename_result - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from '$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test yes = "$build_libtool_libs" \ - || func_fatal_configuration "cannot build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name '$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname=$func_basename_result - xdir=$func_dirname_result - lobj=$xdir$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test yes = "$build_old_libs"; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test no = "$compiler_c_o"; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext - lockfile=$output_obj.lock - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test yes = "$need_locks"; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test warn = "$need_locks"; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test yes = "$build_libtool_libs"; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test no != "$pic_mode"; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test yes = "$suppress_opt"; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test yes = "$build_old_libs"; then - if test yes != "$pic_mode"; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test yes = "$compiler_c_o"; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test no != "$need_locks"; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test compile = "$opt_mode" && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a '.o' file suitable for static linking - -static only build a '.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a 'standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix '.c' with the -library object suffix, '.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to '-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the '--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the 'install' or 'cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE use a list of object files found in FILE to specify objects - -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with '-') are ignored. - -Every other argument is treated as a filename. Files ending in '.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in '.la', then a libtool library is created, -only library objects ('.lo' files) may be specified, and '-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created -using 'ar' and 'ranlib', or on Windows using 'lib'. - -If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode '$opt_mode'" - ;; - esac - - echo - $ECHO "Try '$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test : = "$opt_help"; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | $SED -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - $SED '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $debug_cmd - - # The first argument is the command name. - cmd=$nonopt - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "'$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "'$file' was not linked with '-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir=$func_dirname_result - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir=$func_dirname_result - ;; - - *) - func_warning "'-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir=$absdir - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic=$magic - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file=$progdir/$program - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file=$progdir/$program - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if $opt_dry_run; then - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - else - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd=\$cmd$args - fi -} - -test execute = "$opt_mode" && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $debug_cmd - - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "'$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument '$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and '=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_quiet && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the '-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the '$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the '$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the '$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test finish = "$opt_mode" && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $debug_cmd - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac - then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=false - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=: ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test X-m = "X$prev" && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - func_append install_shared_prog " $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the '$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=: - if $isdir; then - destdir=$dest - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir=$func_dirname_result - destname=$func_basename_result - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "'$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "'$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir=$func_dirname_result - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking '$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname=$1 - shift - - srcname=$realname - test -n "$relink_command" && srcname=${realname}T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme=$stripme - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme= - ;; - esac - ;; - os2*) - case $realname in - *_dll.a) - tstripme= - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try 'ln -sf' first, because the 'ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib=$destdir/$realname - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name=$func_basename_result - instname=$dir/${name}i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest=$destfile - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to '$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test yes = "$build_old_libs"; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext= - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=.exe - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script '$wrapper'" - - finalize=: - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "'$lib' has not been installed in '$libdir'" - finalize=false - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test no = "$fast_install" && test -n "$relink_command"; then - $opt_dry_run || { - if $finalize; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file=$func_basename_result - outputname=$tmpdir/$file - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink '$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file=$outputname - else - func_warning "cannot relink '$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name=$func_basename_result - - # Set up the ranlib parameters. - oldlib=$destdir/$name - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run '$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test install = "$opt_mode" && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $debug_cmd - - my_outputname=$1 - my_originator=$2 - my_pic_p=${3-false} - my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms=${my_outputname}S.c - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist=$output_objdir/$my_outputname.nm - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* External symbol declarations for the compiler. */\ -" - - if test yes = "$dlself"; then - func_verbose "generating symbol list for '$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from '$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols=$output_objdir/$outputname.exp - $opt_dry_run || { - $RM $export_symbols - eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from '$dlprefile'" - func_basename "$dlprefile" - name=$func_basename_result - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename= - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname"; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename=$func_basename_result - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename"; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - func_show_eval '$RM "${nlist}I"' - if test -n "$global_symbol_to_import"; then - eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[];\ -" - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ -static void lt_syminit(void) -{ - LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; - for (; symbol->name; ++symbol) - {" - $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" - echo >> "$output_objdir/$my_dlsyms" "\ - } -}" - fi - echo >> "$output_objdir/$my_dlsyms" "\ -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{ {\"$my_originator\", (void *) 0}," - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ - {\"@INIT@\", (void *) <_syminit}," - fi - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - $my_pic_p && pic_flag_for_symtable=" $pic_flag" - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' - - # Transform the symbol file into the correct name. - symfileobj=$output_objdir/${my_outputname}S.$objext - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for '$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $debug_cmd - - win32_libid_type=unknown - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - case $nm_interface in - "MS dumpbin") - if func_cygming_ms_implib_p "$1" || - func_cygming_gnu_implib_p "$1" - then - win32_nmres=import - else - win32_nmres= - fi - ;; - *) - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s|.*|import| - p - q - } - }'` - ;; - esac - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $debug_cmd - - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $debug_cmd - - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive that possess that section. Heuristic: eliminate - # all those that have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $debug_cmd - - if func_cygming_gnu_implib_p "$1"; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1"; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result= - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $debug_cmd - - f_ex_an_ar_dir=$1; shift - f_ex_an_ar_oldlib=$1 - if test yes = "$lock_old_archive_extraction"; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test yes = "$lock_old_archive_extraction"; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $debug_cmd - - my_gentop=$1; shift - my_oldlibs=${1+"$@"} - my_oldobjs= - my_xlib= - my_xabs= - my_xdir= - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib=$func_basename_result - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir=$my_gentop/$my_xlib_u - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - func_basename "$darwin_archive" - darwin_base_archive=$func_basename_result - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches; do - func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" - $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" - cd "unfat-$$/$darwin_base_archive-$darwin_arch" - func_extract_an_archive "`pwd`" "$darwin_base_archive" - cd "$darwin_curdir" - $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result=$my_oldobjs -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory where it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ that is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options that match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test yes = "$fast_install"; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - \$ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* declarations of non-ANSI functions */ -#if defined __MINGW32__ -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined __CYGWIN__ -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined other_platform || defined ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined _MSC_VER -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -#elif defined __MINGW32__ -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined __CYGWIN__ -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined other platforms ... */ -#endif - -#if defined PATH_MAX -# define LT_PATHMAX PATH_MAX -#elif defined MAXPATHLEN -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ - defined __OS2__ -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free (stale); stale = 0; } \ -} while (0) - -#if defined LT_DEBUGWRAPPER -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - size_t tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined HAVE_DOS_BASED_FILE_SYSTEM - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined HAVE_DOS_BASED_FILE_SYSTEM - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = (size_t) (q - p); - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (STREQ (str, pat)) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - size_t len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - size_t orig_value_len = strlen (orig_value); - size_t add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - size_t len = strlen (new_value); - while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[--len] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $debug_cmd - - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_suncc_cstd_abi -# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! -# Several compiler flags select an ABI that is incompatible with the -# Cstd library. Avoid specifying it if any are in CXXFLAGS. -func_suncc_cstd_abi () -{ - $debug_cmd - - case " $compile_command " in - *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) - suncc_use_cstd_abi=no - ;; - *) - suncc_use_cstd_abi=yes - ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $debug_cmd - - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # what system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll that has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - os2dllname= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=false - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module=$wl-single_module - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test yes != "$build_libtool_libs" \ - && func_fatal_configuration "cannot build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg=$1 - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir=$arg - prev= - continue - ;; - dlfiles|dlprefiles) - $preload || { - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=: - } - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test no = "$dlself"; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test dlprefiles = "$prev"; then - dlself=yes - elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test dlfiles = "$prev"; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols=$arg - test -f "$arg" \ - || func_fatal_error "symbol file '$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex=$arg - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir=$arg - prev= - continue - ;; - mllvm) - # Clang does not use LLVM to link, so we can simply discard any - # '-mllvm $arg' options when doing the link step. - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - if test none != "$pic_object"; then - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - fi - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file '$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - os2dllname) - os2dllname=$arg - prev= - continue - ;; - precious_regex) - precious_files_regex=$arg - prev= - continue - ;; - release) - release=-$arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test rpath = "$prev"; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds=$arg - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg=$arg - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "'-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test X-export-symbols = "X$arg"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between '-L' and '$1'" - else - func_fatal_error "need path for '-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of '$dir'" - dir=$absdir - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test X-lc = "X$arg" || test X-lm = "X$arg"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test X-lc = "X$arg" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc due to us having libc/libc_r. - test X-lc = "X$arg" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test X-lc = "X$arg" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test X-lc = "X$arg" && continue - ;; - esac - elif test X-lc_r = "X$arg"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -mllvm) - prev=mllvm - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module=$wl-multi_module - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "'-no-install' is ignored for $host" - func_warning "assuming '-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -os2dllname) - prev=os2dllname - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # -fstack-protector* stack protector flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - # -stdlib=* select c++ std lib with clang - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - -Z*) - if test os2 = "`expr $host : '.*\(os2\)'`"; then - # OS/2 uses -Zxxx to specify OS/2-specific options - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case $arg in - -Zlinker | -Zstack) - prev=xcompiler - ;; - esac - continue - else - # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - fi - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - test none = "$pic_object" || { - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - } - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test dlfiles = "$prev"; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test dlprefiles = "$prev"; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the '$prevarg' option requires an argument" - - if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname=$func_basename_result - libobjs_save=$libobjs - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - # Definition is injected by LT_CONFIG during libtool generation. - func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" - - func_dirname "$output" "/" "" - output_objdir=$func_dirname_result$objdir - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test lib = "$linkmode"; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=false - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test lib,link = "$linkmode,$pass"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs=$tmp_deplibs - fi - - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass"; then - libs=$deplibs - deplibs= - fi - if test prog = "$linkmode"; then - case $pass in - dlopen) libs=$dlfiles ;; - dlpreopen) libs=$dlprefiles ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test lib,dlpreopen = "$linkmode,$pass"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs=$dlprefiles - fi - if test dlopen = "$pass"; then - # Collect dlpreopened libraries - save_deplibs=$deplibs - deplibs= - fi - - for deplib in $libs; do - lib= - found=false - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test lib != "$linkmode" && test prog != "$linkmode"; then - func_warning "'-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test lib = "$linkmode"; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib=$searchdir/lib$name$search_ext - if test -f "$lib"; then - if test .la = "$search_ext"; then - found=: - else - found=false - fi - break 2 - fi - done - done - if $found; then - # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll=$l - done - if test "X$ll" = "X$old_library"; then # only static version available - found=false - func_dirname "$lib" "" "." - ladir=$func_dirname_result - lib=$ladir/$old_library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - else - # deplib doesn't seem to be a libtool library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - ;; # -l - *.ltframework) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test conv = "$pass" && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - if test scan = "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "'-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test link = "$pass"; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=false - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=: - fi - ;; - pass_all) - valid_a_lib=: - ;; - esac - if $valid_a_lib; then - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - else - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - fi - ;; - esac - continue - ;; - prog) - if test link != "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - elif test prog = "$linkmode"; then - if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=: - continue - ;; - esac # case $deplib - - $found || test -f "$lib" \ - || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "'$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir=$func_dirname_result - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass" || - { test prog != "$linkmode" && test lib != "$linkmode"; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test conv = "$pass"; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - elif test prog != "$linkmode" && test lib != "$linkmode"; then - func_fatal_error "'$lib' is not a convenience library" - fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test yes = "$prefer_static_libs" || - test built,no = "$prefer_static_libs,$installed"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib=$l - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - - # This library was specified with -dlopen. - if test dlopen = "$pass"; then - test -z "$libdir" \ - && func_fatal_error "cannot -dlopen a convenience library: '$lib'" - if test -z "$dlname" || - test yes != "$dlopen_support" || - test no = "$build_libtool_libs" - then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of '$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir=$ladir - fi - ;; - esac - func_basename "$lib" - laname=$func_basename_result - - # Find the relevant object directory and library name. - if test yes = "$installed"; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library '$lib' was moved." - dir=$ladir - absdir=$abs_ladir - libdir=$abs_ladir - else - dir=$lt_sysroot$libdir - absdir=$lt_sysroot$libdir - fi - test yes = "$hardcode_automatic" && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir=$ladir - absdir=$abs_ladir - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir=$ladir/$objdir - absdir=$abs_ladir/$objdir - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test dlpreopen = "$pass"; then - if test -z "$libdir" && test prog = "$linkmode"; then - func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" - fi - case $host in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test lib = "$linkmode"; then - deplibs="$dir/$old_library $deplibs" - elif test prog,link = "$linkmode,$pass"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test prog = "$linkmode" && test link != "$pass"; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=false - if test no != "$link_all_deplibs" || test -z "$library_names" || - test no = "$build_libtool_libs"; then - linkalldeplibs=: - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if $linkalldeplibs; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test prog,link = "$linkmode,$pass"; then - if test -n "$library_names" && - { { test no = "$prefer_static_libs" || - test built,yes = "$prefer_static_libs,$installed"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then - # Make sure the rpath contains only unique directories. - case $temp_rpath: in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if $alldeplibs && - { test pass_all = "$deplibs_check_method" || - { test yes = "$build_libtool_libs" && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test built = "$use_static_libs" && test yes = "$installed"; then - use_static_libs=no - fi - if test -n "$library_names" && - { test no = "$use_static_libs" || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc* | *os2*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test no = "$installed"; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule= - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule=$dlpremoduletest - break - fi - done - if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then - echo - if test prog = "$linkmode"; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test lib = "$linkmode" && - test yes = "$hardcode_into_libs"; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname=$1 - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname=$dlname - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc* | *os2*) - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - esac - eval soname=\"$soname_spec\" - else - soname=$realname - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot=$soname - func_basename "$soroot" - soname=$func_basename_result - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from '$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for '$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test prog = "$linkmode" || test relink != "$opt_mode"; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test no = "$hardcode_direct"; then - add=$dir/$linklib - case $host in - *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; - *-*-sysv4*uw2*) add_dir=-L$dir ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir=-L$dir ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we cannot - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library"; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add=$dir/$old_library - fi - elif test -n "$old_library"; then - add=$dir/$old_library - fi - fi - esac - elif test no = "$hardcode_minus_L"; then - case $host in - *-*-sunos*) add_shlibpath=$dir ;; - esac - add_dir=-L$dir - add=-l$name - elif test no = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - relink) - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$dir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$absdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test yes != "$lib_linked"; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test prog = "$linkmode"; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test yes != "$hardcode_direct" && - test yes != "$hardcode_minus_L" && - test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test prog = "$linkmode" || test relink = "$opt_mode"; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$libdir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$libdir - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add=-l$name - elif test yes = "$hardcode_automatic"; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib"; then - add=$inst_prefix_dir$libdir/$linklib - else - add=$libdir/$linklib - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir=-L$libdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - fi - - if test prog = "$linkmode"; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test prog = "$linkmode"; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test unsupported != "$hardcode_direct"; then - test -n "$old_library" && linklib=$old_library - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test yes = "$build_libtool_libs"; then - # Not a shared library - if test pass_all != "$deplibs_check_method"; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system cannot link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test yes = "$module"; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test lib = "$linkmode"; then - if test -n "$dependency_libs" && - { test yes != "$hardcode_into_libs" || - test yes = "$build_old_libs" || - test yes = "$link_static"; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs=$temp_deplibs - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test no != "$link_all_deplibs"; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path=$deplib ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of '$dir'" - absdir=$dir - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names"; then - for tmp in $deplibrary_names; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl"; then - depdepl=$absdir/$objdir/$depdepl - darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" - func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" - path= - fi - fi - ;; - *) - path=-L$absdir/$objdir - ;; - esac - else - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "'$deplib' seems to be moved" - - path=-L$absdir - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test link = "$pass"; then - if test prog = "$linkmode"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs=$newdependency_libs - if test dlpreopen = "$pass"; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test dlopen != "$pass"; then - test conv = "$pass" || { - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - } - - if test prog,link = "$linkmode,$pass"; then - vars="compile_deplibs finalize_deplibs" - else - vars=deplibs - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - - # Add Sun CC postdeps if required: - test CXX = "$tagname" && { - case $host_os in - linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C++ 5.9 - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - - solaris*) - func_cc_basename "$CC" - case $func_cc_basename_result in - CC* | sunCC*) - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - esac - } - - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i= - ;; - esac - if test -n "$i"; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test prog = "$linkmode"; then - dlfiles=$newdlfiles - fi - if test prog = "$linkmode" || test lib = "$linkmode"; then - dlprefiles=$newdlprefiles - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "'-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "'-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs=$output - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form 'libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test no = "$module" \ - && func_fatal_help "libtool library '$output' must begin with 'lib'" - - if test no != "$need_lib_prefix"; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test pass_all != "$deplibs_check_method"; then - func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test no = "$dlself" \ - || func_warning "'-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test 1 -lt "$#" \ - && func_warning "ignoring multiple '-rpath's for a libtool library" - - install_libdir=$1 - - oldlibs= - if test -z "$rpath"; then - if test yes = "$build_libtool_libs"; then - # Building a libtool convenience library. - # Some compilers have problems with a '.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "'-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs=$IFS; IFS=: - set dummy $vinfo 0 0 0 - shift - IFS=$save_ifs - - test -n "$7" && \ - func_fatal_help "too many parameters to '-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major=$1 - number_minor=$2 - number_revision=$3 - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # that has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_revision - ;; - freebsd-aout|qnx|sunos) - current=$number_major - revision=$number_minor - age=0 - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_minor - lt_irix_increment=no - ;; - esac - ;; - no) - current=$1 - revision=$2 - age=$3 - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT '$current' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION '$revision' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE '$age' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE '$age' is greater than the current interface number '$current'" - func_fatal_error "'$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers - case $CC in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; - *) - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - esac - ;; - - freebsd-aout) - major=.$current - versuffix=.$current.$revision - ;; - - freebsd-elf) - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - irix | nonstopux) - if test no = "$lt_irix_increment"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring=$verstring_prefix$major.$revision - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test 0 -ne "$loop"; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring_prefix$major.$iface:$verstring - done - - # Before this point, $major must not contain '.'. - major=.$major - versuffix=$major.$revision - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=.$current.$age.$revision - verstring=$current.$age.$revision - - # Add in all the interfaces that we are compatible with. - loop=$age - while test 0 -ne "$loop"; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring:$iface.0 - done - - # Make executables depend on our current version. - func_append verstring ":$current.0" - ;; - - qnx) - major=.$current - versuffix=.$current - ;; - - sco) - major=.$current - versuffix=.$current - ;; - - sunos) - major=.$current - versuffix=.$current.$revision - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 file systems. - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - - *) - func_fatal_configuration "unknown library version type '$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring=0.0 - ;; - esac - if test no = "$need_version"; then - versuffix= - else - versuffix=.0.0 - fi - fi - - # Remove version info from name if versioning should be avoided - if test yes,no = "$avoid_version,$need_version"; then - major= - versuffix= - verstring= - fi - - # Check to see if the archive will have undefined symbols. - if test yes = "$allow_undefined"; then - if test unsupported = "$allow_undefined_flag"; then - if test yes = "$build_old_libs"; then - func_warning "undefined symbols not allowed in $host shared libraries; building static only" - build_libtool_libs=no - else - func_fatal_error "can't build $host shared library unless -no-undefined is specified" - fi - fi - else - # Don't allow undefined symbols. - allow_undefined_flag=$no_undefined_flag - fi - - fi - - func_generate_dlsyms "$libname" "$libname" : - func_append libobjs " $symfileobj" - test " " = "$libobjs" && libobjs= - - if test relink != "$opt_mode"; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) - if test -n "$precious_files_regex"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles=$dlfiles - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles=$dlprefiles - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test yes = "$build_libtool_libs"; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test yes = "$build_libtool_need_lc"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release= - versuffix= - major= - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib=$potent_lib - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | $SED 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; - *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib=$potent_lib # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs= - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - for i in $predeps $postdeps; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test none = "$deplibs_check_method"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test yes = "$droppeddeps"; then - if test yes = "$module"; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test no = "$allow_undefined"; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs=$new_libs - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test yes = "$build_libtool_libs"; then - # Remove $wl instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test yes = "$hardcode_into_libs"; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath=$finalize_rpath - test relink = "$opt_mode" || rpath=$compile_rpath$rpath - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath=$finalize_shlibpath - test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname=$1 - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname=$realname - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib=$output_objdir/$realname - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols=$output_objdir/$libname.uexp - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - func_dll_def_p "$export_symbols" || { - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols=$export_symbols - export_symbols= - always_export_symbols=yes - } - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs=$IFS; IFS='~' - for cmd1 in $cmds; do - IFS=$save_ifs - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test yes = "$try_normal_branch" \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=$output_objdir/$output_la.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS=$save_ifs - if test -n "$export_symbols_regex" && test : != "$skipped_export"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test : != "$skipped_export" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs=$tmp_deplibs - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test yes = "$compiler_needs_object" && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test : != "$skipped_export" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then - output=$output_objdir/$output_la.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test yes = "$compiler_needs_object"; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-$k.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test -z "$objlist" || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test 1 -eq "$k"; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-$k.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-$k.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - ${skipped_export-false} && { - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - } - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs=$IFS; IFS='~' - for cmd in $concat_cmds; do - IFS=$save_ifs - $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - ${skipped_export-false} && { - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - } - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs=$IFS; IFS='~' - for cmd in $cmds; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test yes = "$module" || test yes = "$export_dynamic"; then - # On all known operating systems, these are identical. - dlname=$soname - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "'-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object '$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj=$output - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # if reload_cmds runs $LD directly, get rid of -Wl from - # whole_archive_flag_spec and hope we can get by with turning comma - # into space. - case $reload_cmds in - *\$LD[\ \$]*) wl= ;; - esac - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags - else - gentop=$output_objdir/${obj}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test yes = "$build_libtool_libs" || libobjs=$non_pic_objects - - # Create the old-style object. - reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs - - output=$obj - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - test yes = "$build_libtool_libs" || { - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - } - - if test -n "$pic_flag" || test default != "$pic_mode"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output=$libobj - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "'-release' is ignored for programs" - - $preload \ - && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ - && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test CXX = "$tagname"; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " $wl-bind_at_load" - func_append finalize_command " $wl-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs=$new_libs - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath=$rpath - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath=$rpath - - if test -n "$libobjs" && test yes = "$build_old_libs"; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" false - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=: - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=false - ;; - *cygwin* | *mingw* ) - test yes = "$build_libtool_libs" || wrappers_required=false - ;; - *) - if test no = "$need_relink" || test yes != "$build_libtool_libs"; then - wrappers_required=false - fi - ;; - esac - $wrappers_required || { - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command=$compile_command$compile_rpath - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.$objext"; then - func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' - fi - - exit $exit_status - } - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test yes = "$no_install"; then - # We don't need to create a wrapper script. - link_command=$compile_var$compile_command$compile_rpath - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - case $hardcode_action,$fast_install in - relink,*) - # Fast installation is not supported - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "'$output' will be relinked during installation" - ;; - *,yes) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - ;; - *,no) - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - ;; - *,needless) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command= - ;; - esac - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource=$output_path/$objdir/lt-$output_name.c - cwrapper=$output_path/$output_name.exe - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host"; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - case $build_libtool_libs in - convenience) - oldobjs="$libobjs_save $symfileobj" - addlibs=$convenience - build_libtool_libs=no - ;; - module) - oldobjs=$libobjs_save - addlibs=$old_convenience - build_libtool_libs=no - ;; - *) - oldobjs="$old_deplibs $non_pic_objects" - $preload && test -f "$symfileobj" \ - && func_append oldobjs " $symfileobj" - addlibs=$old_convenience - ;; - esac - - if test -n "$addlibs"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase=$func_basename_result - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj"; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test -z "$oldobjs"; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test yes = "$build_old_libs" && old_library=$libname.$libext - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test yes = "$hardcode_automatic"; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test yes = "$installed"; then - if test -z "$install_libdir"; then - break - fi - output=$output_objdir/${outputname}i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name=$func_basename_result - func_resolve_sysroot "$deplib" - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs=$newdependency_libs - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles=$newdlprefiles - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles=$newdlprefiles - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test -n "$bindir"; then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result/$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test no,yes = "$installed,$need_relink"; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -if test link = "$opt_mode" || test relink = "$opt_mode"; then - func_mode_link ${1+"$@"} -fi - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $debug_cmd - - RM=$nonopt - files= - rmforce=false - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=: ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir=$func_dirname_result - if test . = "$dir"; then - odir=$objdir - else - odir=$dir/$objdir - fi - func_basename "$file" - name=$func_basename_result - test uninstall = "$opt_mode" && odir=$dir - - # Remember odir for removal later, being careful to avoid duplicates - if test clean = "$opt_mode"; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif $rmforce; then - continue - fi - - rmfiles=$file - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case $opt_mode in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && test none != "$pic_object"; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && test none != "$non_pic_object"; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test clean = "$opt_mode"; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.$objext" - if test yes = "$fast_install" && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name"; then - func_append rmfiles " $odir/lt-$noexename.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the $objdir's in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then - func_mode_uninstall ${1+"$@"} -fi - -test -z "$opt_mode" && { - help=$generic_help - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode '$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# where we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/m4/libtool.m4 mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/m4/libtool.m4 --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/m4/libtool.m4 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/m4/libtool.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,8369 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -]) - -# serial 58 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_PREPARE_CC_BASENAME -# ----------------------- -m4_defun([_LT_PREPARE_CC_BASENAME], [ -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} -])# _LT_PREPARE_CC_BASENAME - - -# _LT_CC_BASENAME(CC) -# ------------------- -# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, -# but that macro is also expanded into generated libtool script, which -# arranges for $SED and $ECHO to be set by different means. -m4_defun([_LT_CC_BASENAME], -[m4_require([_LT_PREPARE_CC_BASENAME])dnl -AC_REQUIRE([_LT_DECL_SED])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl -func_cc_basename $1 -cc_basename=$func_cc_basename_result -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl -m4_require([_LT_CMD_TRUNCATE])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from 'configure', and 'config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# 'config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain=$ac_aux_dir/ltmain.sh -])# _LT_PROG_LTMAIN - - -## ------------------------------------- ## -## Accumulate code for creating libtool. ## -## ------------------------------------- ## - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the 'libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - -## ------------------------ ## -## FIXME: Eliminate VARNAME ## -## ------------------------ ## - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to 'config.status' so that its -# declaration there will have the same value as in 'configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags='_LT_TAGS'dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into 'config.status', and then the shell code to quote escape them in -# for loops in 'config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# '#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test 0 = "$lt_write_fail" && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -'$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test 0 != $[#] -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try '$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try '$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test yes = "$silent" && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -_LT_COPYING -_LT_LIBTOOL_TAGS - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -_LT_PREPARE_MUNGE_PATH_LIST -_LT_PREPARE_CC_BASENAME - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS=$save_LDFLAGS - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[[012]][[,.]]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test yes = "$lt_cv_ld_force_load"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" - m4_if([$1], [CXX], -[ if test yes != "$lt_cv_apple_cc_single_mod"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script that will find a shell with a builtin -# printf (that we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case $ECHO in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], - [Search for dependent libraries within DIR (or the compiler's sysroot - if not specified).])], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([$with_sysroot]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and where our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - emul=elf - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test yes = "[$]$2"; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS -]) - -if test yes = "[$]$2"; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n "$lt_cv_sys_max_cmd_len"; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test yes = "$cross_compiling"; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen=shl_load], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen=dlopen], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links=nottested -if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test no = "$hard_links"; then - AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", - [Define to the sub-directory where libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then - - # We can hardcode non-existent directories. - if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && - test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || - test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_PREPARE_MUNGE_PATH_LIST -# --------------------------- -# Make sure func_munge_path_list() is defined correctly. -m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], -[[# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} -]])# _LT_PREPARE_PATH_LIST - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -AC_ARG_VAR([LT_SYS_LIBRARY_PATH], -[User-defined run-time library search path.]) - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a[(]lib.so.V[)]' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], - [Detected run-time system search path for libraries]) -_LT_DECL([], [configure_time_lt_sys_library_path], [2], - [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program that can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$1"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac]) -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program that can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test no = "$withval" || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], -[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi]) -rm -f conftest.i conftest2.i conftest.out]) -])# _LT_PATH_DD - - -# _LT_CMD_TRUNCATE -# ---------------- -# find command to truncate a binary pipe -m4_defun([_LT_CMD_TRUNCATE], -[m4_require([_LT_PATH_DD]) -AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], -[printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) -_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], - [Command to truncate a binary pipe]) -])# _LT_CMD_TRUNCATE - - -# _LT_CHECK_MAGIC_METHOD -# ---------------------- -# how to check for library dependencies -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_MAGIC_METHOD], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -AC_CACHE_CHECK([how to recognize dependent libraries], -lt_cv_deplibs_check_method, -[lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[[4-9]]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[[45]]*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi]) -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# _LT_DLL_DEF_P([FILE]) -# --------------------- -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with func_dll_def_p in the libtool script -AC_DEFUN([_LT_DLL_DEF_P], -[dnl - test DEF = "`$SED -n dnl - -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace - -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments - -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl - -e q dnl Only consider the first "real" line - $1`" dnl -])# _LT_DLL_DEF_P - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM=-lm) - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], - [Transform the output of nm into a list of symbols to manually relocate]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], - [The name lister interface]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - if test ia64 != "$host_cpu"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64, which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test yes = "$GCC"; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS=$save_LDFLAGS]) - if test yes = "$lt_cv_irix_exported_symbol"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' - fi - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - _LT_TAGVAR(ld_shlibs, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - osf3*) - if test yes = "$GCC"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting $shlibpath_var if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC=$CC -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report what library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC=$lt_save_CC -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_caught_CXX_error"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test yes = "$GXX"; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test yes = "$GXX"; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test yes = "$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='$wl' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - ;; - esac - - if test yes = "$GXX"; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test yes,no = "$GXX,$with_gnu_ld"; then - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no - - _LT_TAGVAR(GCC, $1)=$GXX - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test yes != "$_lt_caught_CXX_error" - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case @S|@2 in - .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; - *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)=$prev$p - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)=$p - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)=$p - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test no = "$F77"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_F77"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)=$G77 - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_F77" - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test no = "$FC"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_FC"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_FC" - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)=$LD -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)=$LD -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code=$lt_simple_compile_test_code - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f "$lt_ac_sed" && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test 10 -lt "$lt_ac_count" && break - lt_ac_count=`expr $lt_ac_count + 1` - if test "$lt_ac_count" -gt "$lt_ac_max"; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine what file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltoptions.m4 mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltoptions.m4 --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltoptions.m4 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltoptions.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,437 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 8 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option '$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl 'shared' nor 'disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], - [_LT_WITH_AIX_SONAME([aix])]) - ]) -])# _LT_SET_OPTIONS - - -## --------------------------------- ## -## Macros to handle LT_INIT options. ## -## --------------------------------- ## - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the 'shared' and -# 'disable-shared' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the 'static' and -# 'disable-static' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the 'fast-install' -# and 'disable-fast-install' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_AIX_SONAME([DEFAULT]) -# ---------------------------------- -# implement the --with-aix-soname flag, and support the `aix-soname=aix' -# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT -# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. -m4_define([_LT_WITH_AIX_SONAME], -[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl -shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[[5-9]]*,yes) - AC_MSG_CHECKING([which variant of shared library versioning to provide]) - AC_ARG_WITH([aix-soname], - [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], - [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], - [case $withval in - aix|svr4|both) - ;; - *) - AC_MSG_ERROR([Unknown argument to --with-aix-soname]) - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname], - [AC_CACHE_VAL([lt_cv_with_aix_soname], - [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) - with_aix_soname=$lt_cv_with_aix_soname]) - AC_MSG_RESULT([$with_aix_soname]) - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - -_LT_DECL([], [shared_archive_member_spec], [0], - [Shared archive member basename, for filename based shared library versioning on AIX])dnl -])# _LT_WITH_AIX_SONAME - -LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) -LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) -LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' -# LT_INIT options. -# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [pic_mode=m4_default([$1], [default])]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - -## ----------------- ## -## LTDL_INIT Options ## -## ----------------- ## - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltsugar.m4 mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltsugar.m4 --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltsugar.m4 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltsugar.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,124 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59, which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltversion.m4 mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltversion.m4 --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltversion.m4 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/m4/ltversion.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 4179 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.6]) -m4_define([LT_PACKAGE_REVISION], [2.4.6]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.6' -macro_revision='2.4.6' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/Makefile.am mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/Makefile.am --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/Makefile.am 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ - -AUTOMAKE_OPTIONS = foreign -ACLOCAL_AMFLAGS = -I m4 - -if ENABLE_EXAMPLES - EXAMPLES_DIR=examples -endif - -SUBDIRS = src $(EXAMPLES_DIR) doc - -EXTRA_DIST = libedit.pc.in -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libedit.pc diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/Makefile.in mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/Makefile.in --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/Makefile.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,877 +0,0 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2018 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = libedit.pc -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(pkgconfigdir)" -DATA = $(pkgconfig_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir distdir-am dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = src examples doc -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(srcdir)/libedit.pc.in COPYING ChangeLog INSTALL THANKS \ - compile config.guess config.sub install-sh ltmain.sh missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -LT_VERSION = @LT_VERSION@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MANTYPE = @MANTYPE@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = foreign -ACLOCAL_AMFLAGS = -I m4 -@ENABLE_EXAMPLES_TRUE@EXAMPLES_DIR = examples -SUBDIRS = src $(EXAMPLES_DIR) doc -EXTRA_DIST = libedit.pc.in -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libedit.pc -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -libedit.pc: $(top_builddir)/config.status $(srcdir)/libedit.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) config.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-pkgconfigDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-pkgconfigDATA - -.MAKE: $(am__recursive_targets) all install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-data install-data-am \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-pkgconfigDATA \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-pkgconfigDATA - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/missing mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/missing --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/missing 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/missing 1970-01-01 00:00:00.000000000 +0000 @@ -1,215 +0,0 @@ -#! /bin/sh -# Common wrapper for a few potentially missing GNU programs. - -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. -# Originally written by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try '$0 --help' for more information" - exit 1 -fi - -case $1 in - - --is-lightweight) - # Used by our autoconf macros to check whether the available missing - # script is modern enough. - exit 0 - ;; - - --run) - # Back-compat with the calling convention used by older automake. - shift - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due -to PROGRAM being missing or too old. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man - -Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and -'g' are ignored when checking the name. - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: unknown '$1' option" - echo 1>&2 "Try '$0 --help' for more information" - exit 1 - ;; - -esac - -# Run the given program, remember its exit status. -"$@"; st=$? - -# If it succeeded, we are done. -test $st -eq 0 && exit 0 - -# Also exit now if we it failed (or wasn't found), and '--version' was -# passed; such an option is passed most likely to detect whether the -# program is present and works. -case $2 in --version|--help) exit $st;; esac - -# Exit code 63 means version mismatch. This often happens when the user -# tries to use an ancient version of a tool on a file that requires a -# minimum version. -if test $st -eq 63; then - msg="probably too old" -elif test $st -eq 127; then - # Program was missing. - msg="missing on your system" -else - # Program was found and executed, but failed. Give up. - exit $st -fi - -perl_URL=https://www.perl.org/ -flex_URL=https://github.com/westes/flex -gnu_software_URL=https://www.gnu.org/software - -program_details () -{ - case $1 in - aclocal|automake) - echo "The '$1' program is part of the GNU Automake package:" - echo "<$gnu_software_URL/automake>" - echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/autoconf>" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - autoconf|autom4te|autoheader) - echo "The '$1' program is part of the GNU Autoconf package:" - echo "<$gnu_software_URL/autoconf/>" - echo "It also requires GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - esac -} - -give_advice () -{ - # Normalize program name to check for. - normalized_program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - - printf '%s\n' "'$1' is $msg." - - configure_deps="'configure.ac' or m4 files included by 'configure.ac'" - case $normalized_program in - autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' - ;; - autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" - echo "$configure_deps." - program_details 'autoheader' - ;; - automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" - echo "$configure_deps." - program_details 'aclocal' - ;; - autom4te*) - echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' - ;; - bison*|yacc*) - echo "You should only need it if you modified a '.y' file." - echo "You may want to install the GNU Bison package:" - echo "<$gnu_software_URL/bison/>" - ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; - help2man*) - echo "You should only need it if you modified a dependency" \ - "of a man page." - echo "You may want to install the GNU Help2man package:" - echo "<$gnu_software_URL/help2man/>" - ;; - makeinfo*) - echo "You should only need it if you modified a '.texi' file, or" - echo "any other file indirectly affecting the aspect of the manual." - echo "You might want to install the Texinfo package:" - echo "<$gnu_software_URL/texinfo/>" - echo "The spurious makeinfo call might also be the consequence of" - echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" - echo "want to install GNU make:" - echo "<$gnu_software_URL/make/>" - ;; - *) - echo "You might have modified some files without having the proper" - echo "tools for further handling them. Check the 'README' file, it" - echo "often tells you about the needed prerequisites for installing" - echo "this package. You may also peek at any GNU archive site, in" - echo "case some other package contains this missing '$1' program." - ;; - esac -} - -give_advice "$1" | sed -e '1s/^/WARNING: /' \ - -e '2,$s/^/ /' >&2 - -# Propagate the correct exit status (expected to be 127 for a program -# not found, 63 for a program that failed due to version mismatch). -exit $st - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/chared.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/chared.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/chared.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/chared.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,753 +0,0 @@ -/* $NetBSD: chared.c,v 1.57 2017/10/11 06:49:03 abhinav Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)chared.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: chared.c,v 1.57 2017/10/11 06:49:03 abhinav Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * chared.c: Character editor utilities - */ -#include -#include -#include - -#include "el.h" -#include "common.h" -#include "fcns.h" - -/* value to leave unused in line buffer */ -#define EL_LEAVE 2 - -/* cv_undo(): - * Handle state for the vi undo command - */ -libedit_private void -cv_undo(EditLine *el) -{ - c_undo_t *vu = &el->el_chared.c_undo; - c_redo_t *r = &el->el_chared.c_redo; - size_t size; - - /* Save entire line for undo */ - size = (size_t)(el->el_line.lastchar - el->el_line.buffer); - vu->len = (ssize_t)size; - vu->cursor = (int)(el->el_line.cursor - el->el_line.buffer); - (void)memcpy(vu->buf, el->el_line.buffer, size * sizeof(*vu->buf)); - - /* save command info for redo */ - r->count = el->el_state.doingarg ? el->el_state.argument : 0; - r->action = el->el_chared.c_vcmd.action; - r->pos = r->buf; - r->cmd = el->el_state.thiscmd; - r->ch = el->el_state.thisch; -} - -/* cv_yank(): - * Save yank/delete data for paste - */ -libedit_private void -cv_yank(EditLine *el, const wchar_t *ptr, int size) -{ - c_kill_t *k = &el->el_chared.c_kill; - - (void)memcpy(k->buf, ptr, (size_t)size * sizeof(*k->buf)); - k->last = k->buf + size; -} - - -/* c_insert(): - * Insert num characters - */ -libedit_private void -c_insert(EditLine *el, int num) -{ - wchar_t *cp; - - if (el->el_line.lastchar + num >= el->el_line.limit) { - if (!ch_enlargebufs(el, (size_t)num)) - return; /* can't go past end of buffer */ - } - - if (el->el_line.cursor < el->el_line.lastchar) { - /* if I must move chars */ - for (cp = el->el_line.lastchar; cp >= el->el_line.cursor; cp--) - cp[num] = *cp; - } - el->el_line.lastchar += num; -} - - -/* c_delafter(): - * Delete num characters after the cursor - */ -libedit_private void -c_delafter(EditLine *el, int num) -{ - - if (el->el_line.cursor + num > el->el_line.lastchar) - num = (int)(el->el_line.lastchar - el->el_line.cursor); - - if (el->el_map.current != el->el_map.emacs) { - cv_undo(el); - cv_yank(el, el->el_line.cursor, num); - } - - if (num > 0) { - wchar_t *cp; - - for (cp = el->el_line.cursor; cp <= el->el_line.lastchar; cp++) - *cp = cp[num]; - - el->el_line.lastchar -= num; - } -} - - -/* c_delafter1(): - * Delete the character after the cursor, do not yank - */ -libedit_private void -c_delafter1(EditLine *el) -{ - wchar_t *cp; - - for (cp = el->el_line.cursor; cp <= el->el_line.lastchar; cp++) - *cp = cp[1]; - - el->el_line.lastchar--; -} - - -/* c_delbefore(): - * Delete num characters before the cursor - */ -libedit_private void -c_delbefore(EditLine *el, int num) -{ - - if (el->el_line.cursor - num < el->el_line.buffer) - num = (int)(el->el_line.cursor - el->el_line.buffer); - - if (el->el_map.current != el->el_map.emacs) { - cv_undo(el); - cv_yank(el, el->el_line.cursor - num, num); - } - - if (num > 0) { - wchar_t *cp; - - for (cp = el->el_line.cursor - num; - cp <= el->el_line.lastchar; - cp++) - *cp = cp[num]; - - el->el_line.lastchar -= num; - } -} - - -/* c_delbefore1(): - * Delete the character before the cursor, do not yank - */ -libedit_private void -c_delbefore1(EditLine *el) -{ - wchar_t *cp; - - for (cp = el->el_line.cursor - 1; cp <= el->el_line.lastchar; cp++) - *cp = cp[1]; - - el->el_line.lastchar--; -} - - -/* ce__isword(): - * Return if p is part of a word according to emacs - */ -libedit_private int -ce__isword(wint_t p) -{ - return iswalnum(p) || wcschr(L"*?_-.[]~=", p) != NULL; -} - - -/* cv__isword(): - * Return if p is part of a word according to vi - */ -libedit_private int -cv__isword(wint_t p) -{ - if (iswalnum(p) || p == L'_') - return 1; - if (iswgraph(p)) - return 2; - return 0; -} - - -/* cv__isWord(): - * Return if p is part of a big word according to vi - */ -libedit_private int -cv__isWord(wint_t p) -{ - return !iswspace(p); -} - - -/* c__prev_word(): - * Find the previous word - */ -libedit_private wchar_t * -c__prev_word(wchar_t *p, wchar_t *low, int n, int (*wtest)(wint_t)) -{ - p--; - - while (n--) { - while ((p >= low) && !(*wtest)(*p)) - p--; - while ((p >= low) && (*wtest)(*p)) - p--; - } - - /* cp now points to one character before the word */ - p++; - if (p < low) - p = low; - /* cp now points where we want it */ - return p; -} - - -/* c__next_word(): - * Find the next word - */ -libedit_private wchar_t * -c__next_word(wchar_t *p, wchar_t *high, int n, int (*wtest)(wint_t)) -{ - while (n--) { - while ((p < high) && !(*wtest)(*p)) - p++; - while ((p < high) && (*wtest)(*p)) - p++; - } - if (p > high) - p = high; - /* p now points where we want it */ - return p; -} - -/* cv_next_word(): - * Find the next word vi style - */ -libedit_private wchar_t * -cv_next_word(EditLine *el, wchar_t *p, wchar_t *high, int n, - int (*wtest)(wint_t)) -{ - int test; - - while (n--) { - test = (*wtest)(*p); - while ((p < high) && (*wtest)(*p) == test) - p++; - /* - * vi historically deletes with cw only the word preserving the - * trailing whitespace! This is not what 'w' does.. - */ - if (n || el->el_chared.c_vcmd.action != (DELETE|INSERT)) - while ((p < high) && iswspace(*p)) - p++; - } - - /* p now points where we want it */ - if (p > high) - return high; - else - return p; -} - - -/* cv_prev_word(): - * Find the previous word vi style - */ -libedit_private wchar_t * -cv_prev_word(wchar_t *p, wchar_t *low, int n, int (*wtest)(wint_t)) -{ - int test; - - p--; - while (n--) { - while ((p > low) && iswspace(*p)) - p--; - test = (*wtest)(*p); - while ((p >= low) && (*wtest)(*p) == test) - p--; - } - p++; - - /* p now points where we want it */ - if (p < low) - return low; - else - return p; -} - - -/* cv_delfini(): - * Finish vi delete action - */ -libedit_private void -cv_delfini(EditLine *el) -{ - int size; - int action = el->el_chared.c_vcmd.action; - - if (action & INSERT) - el->el_map.current = el->el_map.key; - - if (el->el_chared.c_vcmd.pos == 0) - /* sanity */ - return; - - size = (int)(el->el_line.cursor - el->el_chared.c_vcmd.pos); - if (size == 0) - size = 1; - el->el_line.cursor = el->el_chared.c_vcmd.pos; - if (action & YANK) { - if (size > 0) - cv_yank(el, el->el_line.cursor, size); - else - cv_yank(el, el->el_line.cursor + size, -size); - } else { - if (size > 0) { - c_delafter(el, size); - re_refresh_cursor(el); - } else { - c_delbefore(el, -size); - el->el_line.cursor += size; - } - } - el->el_chared.c_vcmd.action = NOP; -} - - -/* cv__endword(): - * Go to the end of this word according to vi - */ -libedit_private wchar_t * -cv__endword(wchar_t *p, wchar_t *high, int n, int (*wtest)(wint_t)) -{ - int test; - - p++; - - while (n--) { - while ((p < high) && iswspace(*p)) - p++; - - test = (*wtest)(*p); - while ((p < high) && (*wtest)(*p) == test) - p++; - } - p--; - return p; -} - -/* ch_init(): - * Initialize the character editor - */ -libedit_private int -ch_init(EditLine *el) -{ - el->el_line.buffer = el_malloc(EL_BUFSIZ * - sizeof(*el->el_line.buffer)); - if (el->el_line.buffer == NULL) - return -1; - - (void) memset(el->el_line.buffer, 0, EL_BUFSIZ * - sizeof(*el->el_line.buffer)); - el->el_line.cursor = el->el_line.buffer; - el->el_line.lastchar = el->el_line.buffer; - el->el_line.limit = &el->el_line.buffer[EL_BUFSIZ - EL_LEAVE]; - - el->el_chared.c_undo.buf = el_malloc(EL_BUFSIZ * - sizeof(*el->el_chared.c_undo.buf)); - if (el->el_chared.c_undo.buf == NULL) - return -1; - (void) memset(el->el_chared.c_undo.buf, 0, EL_BUFSIZ * - sizeof(*el->el_chared.c_undo.buf)); - el->el_chared.c_undo.len = -1; - el->el_chared.c_undo.cursor = 0; - el->el_chared.c_redo.buf = el_malloc(EL_BUFSIZ * - sizeof(*el->el_chared.c_redo.buf)); - if (el->el_chared.c_redo.buf == NULL) - return -1; - el->el_chared.c_redo.pos = el->el_chared.c_redo.buf; - el->el_chared.c_redo.lim = el->el_chared.c_redo.buf + EL_BUFSIZ; - el->el_chared.c_redo.cmd = ED_UNASSIGNED; - - el->el_chared.c_vcmd.action = NOP; - el->el_chared.c_vcmd.pos = el->el_line.buffer; - - el->el_chared.c_kill.buf = el_malloc(EL_BUFSIZ * - sizeof(*el->el_chared.c_kill.buf)); - if (el->el_chared.c_kill.buf == NULL) - return -1; - (void) memset(el->el_chared.c_kill.buf, 0, EL_BUFSIZ * - sizeof(*el->el_chared.c_kill.buf)); - el->el_chared.c_kill.mark = el->el_line.buffer; - el->el_chared.c_kill.last = el->el_chared.c_kill.buf; - el->el_chared.c_resizefun = NULL; - el->el_chared.c_resizearg = NULL; - el->el_chared.c_aliasfun = NULL; - el->el_chared.c_aliasarg = NULL; - - el->el_map.current = el->el_map.key; - - el->el_state.inputmode = MODE_INSERT; /* XXX: save a default */ - el->el_state.doingarg = 0; - el->el_state.metanext = 0; - el->el_state.argument = 1; - el->el_state.lastcmd = ED_UNASSIGNED; - - return 0; -} - -/* ch_reset(): - * Reset the character editor - */ -libedit_private void -ch_reset(EditLine *el) -{ - el->el_line.cursor = el->el_line.buffer; - el->el_line.lastchar = el->el_line.buffer; - - el->el_chared.c_undo.len = -1; - el->el_chared.c_undo.cursor = 0; - - el->el_chared.c_vcmd.action = NOP; - el->el_chared.c_vcmd.pos = el->el_line.buffer; - - el->el_chared.c_kill.mark = el->el_line.buffer; - - el->el_map.current = el->el_map.key; - - el->el_state.inputmode = MODE_INSERT; /* XXX: save a default */ - el->el_state.doingarg = 0; - el->el_state.metanext = 0; - el->el_state.argument = 1; - el->el_state.lastcmd = ED_UNASSIGNED; - - el->el_history.eventno = 0; -} - -/* ch_enlargebufs(): - * Enlarge line buffer to be able to hold twice as much characters. - * Returns 1 if successful, 0 if not. - */ -libedit_private int -ch_enlargebufs(EditLine *el, size_t addlen) -{ - size_t sz, newsz; - wchar_t *newbuffer, *oldbuf, *oldkbuf; - - sz = (size_t)(el->el_line.limit - el->el_line.buffer + EL_LEAVE); - newsz = sz * 2; - /* - * If newly required length is longer than current buffer, we need - * to make the buffer big enough to hold both old and new stuff. - */ - if (addlen > sz) { - while(newsz - sz < addlen) - newsz *= 2; - } - - /* - * Reallocate line buffer. - */ - newbuffer = el_realloc(el->el_line.buffer, newsz * sizeof(*newbuffer)); - if (!newbuffer) - return 0; - - /* zero the newly added memory, leave old data in */ - (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); - - oldbuf = el->el_line.buffer; - - el->el_line.buffer = newbuffer; - el->el_line.cursor = newbuffer + (el->el_line.cursor - oldbuf); - el->el_line.lastchar = newbuffer + (el->el_line.lastchar - oldbuf); - /* don't set new size until all buffers are enlarged */ - el->el_line.limit = &newbuffer[sz - EL_LEAVE]; - - /* - * Reallocate kill buffer. - */ - newbuffer = el_realloc(el->el_chared.c_kill.buf, newsz * - sizeof(*newbuffer)); - if (!newbuffer) - return 0; - - /* zero the newly added memory, leave old data in */ - (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); - - oldkbuf = el->el_chared.c_kill.buf; - - el->el_chared.c_kill.buf = newbuffer; - el->el_chared.c_kill.last = newbuffer + - (el->el_chared.c_kill.last - oldkbuf); - el->el_chared.c_kill.mark = el->el_line.buffer + - (el->el_chared.c_kill.mark - oldbuf); - - /* - * Reallocate undo buffer. - */ - newbuffer = el_realloc(el->el_chared.c_undo.buf, - newsz * sizeof(*newbuffer)); - if (!newbuffer) - return 0; - - /* zero the newly added memory, leave old data in */ - (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); - el->el_chared.c_undo.buf = newbuffer; - - newbuffer = el_realloc(el->el_chared.c_redo.buf, - newsz * sizeof(*newbuffer)); - if (!newbuffer) - return 0; - el->el_chared.c_redo.pos = newbuffer + - (el->el_chared.c_redo.pos - el->el_chared.c_redo.buf); - el->el_chared.c_redo.lim = newbuffer + - (el->el_chared.c_redo.lim - el->el_chared.c_redo.buf); - el->el_chared.c_redo.buf = newbuffer; - - if (!hist_enlargebuf(el, sz, newsz)) - return 0; - - /* Safe to set enlarged buffer size */ - el->el_line.limit = &el->el_line.buffer[newsz - EL_LEAVE]; - if (el->el_chared.c_resizefun) - (*el->el_chared.c_resizefun)(el, el->el_chared.c_resizearg); - return 1; -} - -/* ch_end(): - * Free the data structures used by the editor - */ -libedit_private void -ch_end(EditLine *el) -{ - el_free(el->el_line.buffer); - el->el_line.buffer = NULL; - el->el_line.limit = NULL; - el_free(el->el_chared.c_undo.buf); - el->el_chared.c_undo.buf = NULL; - el_free(el->el_chared.c_redo.buf); - el->el_chared.c_redo.buf = NULL; - el->el_chared.c_redo.pos = NULL; - el->el_chared.c_redo.lim = NULL; - el->el_chared.c_redo.cmd = ED_UNASSIGNED; - el_free(el->el_chared.c_kill.buf); - el->el_chared.c_kill.buf = NULL; - ch_reset(el); -} - - -/* el_insertstr(): - * Insert string at cursor - */ -int -el_winsertstr(EditLine *el, const wchar_t *s) -{ - size_t len; - - if (s == NULL || (len = wcslen(s)) == 0) - return -1; - if (el->el_line.lastchar + len >= el->el_line.limit) { - if (!ch_enlargebufs(el, len)) - return -1; - } - - c_insert(el, (int)len); - while (*s) - *el->el_line.cursor++ = *s++; - return 0; -} - - -/* el_deletestr(): - * Delete num characters before the cursor - */ -void -el_deletestr(EditLine *el, int n) -{ - if (n <= 0) - return; - - if (el->el_line.cursor < &el->el_line.buffer[n]) - return; - - c_delbefore(el, n); /* delete before dot */ - el->el_line.cursor -= n; - if (el->el_line.cursor < el->el_line.buffer) - el->el_line.cursor = el->el_line.buffer; -} - -/* el_cursor(): - * Move the cursor to the left or the right of the current position - */ -int -el_cursor(EditLine *el, int n) -{ - if (n == 0) - goto out; - - el->el_line.cursor += n; - - if (el->el_line.cursor < el->el_line.buffer) - el->el_line.cursor = el->el_line.buffer; - if (el->el_line.cursor > el->el_line.lastchar) - el->el_line.cursor = el->el_line.lastchar; -out: - return (int)(el->el_line.cursor - el->el_line.buffer); -} - -/* c_gets(): - * Get a string - */ -libedit_private int -c_gets(EditLine *el, wchar_t *buf, const wchar_t *prompt) -{ - ssize_t len; - wchar_t *cp = el->el_line.buffer, ch; - - if (prompt) { - len = (ssize_t)wcslen(prompt); - (void)memcpy(cp, prompt, (size_t)len * sizeof(*cp)); - cp += len; - } - len = 0; - - for (;;) { - el->el_line.cursor = cp; - *cp = ' '; - el->el_line.lastchar = cp + 1; - re_refresh(el); - - if (el_wgetc(el, &ch) != 1) { - ed_end_of_file(el, 0); - len = -1; - break; - } - - switch (ch) { - - case L'\b': /* Delete and backspace */ - case 0177: - if (len == 0) { - len = -1; - break; - } - len--; - cp--; - continue; - - case 0033: /* ESC */ - case L'\r': /* Newline */ - case L'\n': - buf[len] = ch; - break; - - default: - if (len >= (ssize_t)(EL_BUFSIZ - 16)) - terminal_beep(el); - else { - buf[len++] = ch; - *cp++ = ch; - } - continue; - } - break; - } - - el->el_line.buffer[0] = '\0'; - el->el_line.lastchar = el->el_line.buffer; - el->el_line.cursor = el->el_line.buffer; - return (int)len; -} - - -/* c_hpos(): - * Return the current horizontal position of the cursor - */ -libedit_private int -c_hpos(EditLine *el) -{ - wchar_t *ptr; - - /* - * Find how many characters till the beginning of this line. - */ - if (el->el_line.cursor == el->el_line.buffer) - return 0; - else { - for (ptr = el->el_line.cursor - 1; - ptr >= el->el_line.buffer && *ptr != '\n'; - ptr--) - continue; - return (int)(el->el_line.cursor - ptr - 1); - } -} - -libedit_private int -ch_resizefun(EditLine *el, el_zfunc_t f, void *a) -{ - el->el_chared.c_resizefun = f; - el->el_chared.c_resizearg = a; - return 0; -} - -libedit_private int -ch_aliasfun(EditLine *el, el_afunc_t f, void *a) -{ - el->el_chared.c_aliasfun = f; - el->el_chared.c_aliasarg = a; - return 0; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/chared.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/chared.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/chared.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/chared.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,155 +0,0 @@ -/* $NetBSD: chared.h,v 1.30 2016/05/22 19:44:26 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)chared.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.chared.h: Character editor interface - */ -#ifndef _h_el_chared -#define _h_el_chared - -/* - * This is an issue of basic "vi" look-and-feel. Defining VI_MOVE works - * like real vi: i.e. the transition from command<->insert modes moves - * the cursor. - * - * On the other hand we really don't want to move the cursor, because - * all the editing commands don't include the character under the cursor. - * Probably the best fix is to make all the editing commands aware of - * this fact. - */ -#define VI_MOVE - -/* - * Undo information for vi - no undo in emacs (yet) - */ -typedef struct c_undo_t { - ssize_t len; /* length of saved line */ - int cursor; /* position of saved cursor */ - wchar_t *buf; /* full saved text */ -} c_undo_t; - -/* redo for vi */ -typedef struct c_redo_t { - wchar_t *buf; /* redo insert key sequence */ - wchar_t *pos; - wchar_t *lim; - el_action_t cmd; /* command to redo */ - wchar_t ch; /* char that invoked it */ - int count; - int action; /* from cv_action() */ -} c_redo_t; - -/* - * Current action information for vi - */ -typedef struct c_vcmd_t { - int action; - wchar_t *pos; -} c_vcmd_t; - -/* - * Kill buffer for emacs - */ -typedef struct c_kill_t { - wchar_t *buf; - wchar_t *last; - wchar_t *mark; -} c_kill_t; - -typedef void (*el_zfunc_t)(EditLine *, void *); -typedef const char *(*el_afunc_t)(void *, const char *); - -/* - * Note that we use both data structures because the user can bind - * commands from both editors! - */ -typedef struct el_chared_t { - c_undo_t c_undo; - c_kill_t c_kill; - c_redo_t c_redo; - c_vcmd_t c_vcmd; - el_zfunc_t c_resizefun; - el_afunc_t c_aliasfun; - void * c_resizearg; - void * c_aliasarg; -} el_chared_t; - - -#define STRQQ "\"\"" - -#define isglob(a) (strchr("*[]?", (a)) != NULL) - -#define NOP 0x00 -#define DELETE 0x01 -#define INSERT 0x02 -#define YANK 0x04 - -#define CHAR_FWD (+1) -#define CHAR_BACK (-1) - -#define MODE_INSERT 0 -#define MODE_REPLACE 1 -#define MODE_REPLACE_1 2 - - -libedit_private int cv__isword(wint_t); -libedit_private int cv__isWord(wint_t); -libedit_private void cv_delfini(EditLine *); -libedit_private wchar_t *cv__endword(wchar_t *, wchar_t *, int, int (*)(wint_t)); -libedit_private int ce__isword(wint_t); -libedit_private void cv_undo(EditLine *); -libedit_private void cv_yank(EditLine *, const wchar_t *, int); -libedit_private wchar_t *cv_next_word(EditLine*, wchar_t *, wchar_t *, int, - int (*)(wint_t)); -libedit_private wchar_t *cv_prev_word(wchar_t *, wchar_t *, int, int (*)(wint_t)); -libedit_private wchar_t *c__next_word(wchar_t *, wchar_t *, int, int (*)(wint_t)); -libedit_private wchar_t *c__prev_word(wchar_t *, wchar_t *, int, int (*)(wint_t)); -libedit_private void c_insert(EditLine *, int); -libedit_private void c_delbefore(EditLine *, int); -libedit_private void c_delbefore1(EditLine *); -libedit_private void c_delafter(EditLine *, int); -libedit_private void c_delafter1(EditLine *); -libedit_private int c_gets(EditLine *, wchar_t *, const wchar_t *); -libedit_private int c_hpos(EditLine *); - -libedit_private int ch_init(EditLine *); -libedit_private void ch_reset(EditLine *); -libedit_private int ch_resizefun(EditLine *, el_zfunc_t, void *); -libedit_private int ch_aliasfun(EditLine *, el_afunc_t, void *); -libedit_private int ch_enlargebufs(EditLine *, size_t); -libedit_private void ch_end(EditLine *); - -#endif /* _h_el_chared */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/chartype.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/chartype.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/chartype.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/chartype.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,339 +0,0 @@ -/* $NetBSD: chartype.c,v 1.34 2018/11/25 16:20:28 christos Exp $ */ - -/*- - * Copyright (c) 2009 The NetBSD Foundation, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * chartype.c: character classification and meta information - */ -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: chartype.c,v 1.34 2018/11/25 16:20:28 christos Exp $"); -#endif /* not lint && not SCCSID */ - -#include -#include -#include -#include - -#include "el.h" - -#define CT_BUFSIZ ((size_t)1024) - -static int ct_conv_cbuff_resize(ct_buffer_t *, size_t); -static int ct_conv_wbuff_resize(ct_buffer_t *, size_t); - -static int -ct_conv_cbuff_resize(ct_buffer_t *conv, size_t csize) -{ - void *p; - - if (csize <= conv->csize) - return 0; - - conv->csize = csize; - - p = el_realloc(conv->cbuff, conv->csize * sizeof(*conv->cbuff)); - if (p == NULL) { - conv->csize = 0; - el_free(conv->cbuff); - conv->cbuff = NULL; - return -1; - } - conv->cbuff = p; - return 0; -} - -static int -ct_conv_wbuff_resize(ct_buffer_t *conv, size_t wsize) -{ - void *p; - - if (wsize <= conv->wsize) - return 0; - - conv->wsize = wsize; - - p = el_realloc(conv->wbuff, conv->wsize * sizeof(*conv->wbuff)); - if (p == NULL) { - conv->wsize = 0; - el_free(conv->wbuff); - conv->wbuff = NULL; - return -1; - } - conv->wbuff = p; - return 0; -} - - -char * -ct_encode_string(const wchar_t *s, ct_buffer_t *conv) -{ - char *dst; - ssize_t used; - - if (!s) - return NULL; - - dst = conv->cbuff; - for (;;) { - used = (ssize_t)(dst - conv->cbuff); - if ((conv->csize - (size_t)used) < 5) { - if (ct_conv_cbuff_resize(conv, - conv->csize + CT_BUFSIZ) == -1) - return NULL; - dst = conv->cbuff + used; - } - if (!*s) - break; - used = ct_encode_char(dst, (size_t)5, *s); - if (used == -1) /* failed to encode, need more buffer space */ - abort(); - ++s; - dst += used; - } - *dst = '\0'; - return conv->cbuff; -} - -wchar_t * -ct_decode_string(const char *s, ct_buffer_t *conv) -{ - size_t len; - - if (!s) - return NULL; - - len = mbstowcs(NULL, s, (size_t)0); - if (len == (size_t)-1) - return NULL; - - if (conv->wsize < ++len) - if (ct_conv_wbuff_resize(conv, len + CT_BUFSIZ) == -1) - return NULL; - - mbstowcs(conv->wbuff, s, conv->wsize); - return conv->wbuff; -} - - -libedit_private wchar_t ** -ct_decode_argv(int argc, const char *argv[], ct_buffer_t *conv) -{ - size_t bufspace; - int i; - wchar_t *p; - wchar_t **wargv; - ssize_t bytes; - - /* Make sure we have enough space in the conversion buffer to store all - * the argv strings. */ - for (i = 0, bufspace = 0; i < argc; ++i) - bufspace += argv[i] ? strlen(argv[i]) + 1 : 0; - if (conv->wsize < ++bufspace) - if (ct_conv_wbuff_resize(conv, bufspace + CT_BUFSIZ) == -1) - return NULL; - - wargv = el_malloc((size_t)(argc + 1) * sizeof(*wargv)); - - for (i = 0, p = conv->wbuff; i < argc; ++i) { - if (!argv[i]) { /* don't pass null pointers to mbstowcs */ - wargv[i] = NULL; - continue; - } else { - wargv[i] = p; - bytes = (ssize_t)mbstowcs(p, argv[i], bufspace); - } - if (bytes == -1) { - el_free(wargv); - return NULL; - } else - bytes++; /* include '\0' in the count */ - bufspace -= (size_t)bytes; - p += bytes; - } - wargv[i] = NULL; - - return wargv; -} - - -libedit_private size_t -ct_enc_width(wchar_t c) -{ - mbstate_t mbs; - char buf[MB_LEN_MAX]; - size_t size; - memset(&mbs, 0, sizeof(mbs)); - - if ((size = wcrtomb(buf, c, &mbs)) == (size_t)-1) - return 0; - return size; -} - -libedit_private ssize_t -ct_encode_char(char *dst, size_t len, wchar_t c) -{ - ssize_t l = 0; - if (len < ct_enc_width(c)) - return -1; - l = wctomb(dst, c); - - if (l < 0) { - wctomb(NULL, L'\0'); - l = 0; - } - return l; -} - -libedit_private const wchar_t * -ct_visual_string(const wchar_t *s, ct_buffer_t *conv) -{ - wchar_t *dst; - ssize_t used; - - if (!s) - return NULL; - - if (ct_conv_wbuff_resize(conv, CT_BUFSIZ) == -1) - return NULL; - - used = 0; - dst = conv->wbuff; - while (*s) { - used = ct_visual_char(dst, - conv->wsize - (size_t)(dst - conv->wbuff), *s); - if (used != -1) { - ++s; - dst += used; - continue; - } - - /* failed to encode, need more buffer space */ - used = dst - conv->wbuff; - if (ct_conv_wbuff_resize(conv, conv->wsize + CT_BUFSIZ) == -1) - return NULL; - dst = conv->wbuff + used; - } - - if (dst >= (conv->wbuff + conv->wsize)) { /* sigh */ - used = dst - conv->wbuff; - if (ct_conv_wbuff_resize(conv, conv->wsize + CT_BUFSIZ) == -1) - return NULL; - dst = conv->wbuff + used; - } - - *dst = L'\0'; - return conv->wbuff; -} - - - -libedit_private int -ct_visual_width(wchar_t c) -{ - int t = ct_chr_class(c); - switch (t) { - case CHTYPE_ASCIICTL: - return 2; /* ^@ ^? etc. */ - case CHTYPE_TAB: - return 1; /* Hmm, this really need to be handled outside! */ - case CHTYPE_NL: - return 0; /* Should this be 1 instead? */ - case CHTYPE_PRINT: - return wcwidth(c); - case CHTYPE_NONPRINT: - if (c > 0xffff) /* prefer standard 4-byte display over 5-byte */ - return 8; /* \U+12345 */ - else - return 7; /* \U+1234 */ - default: - return 0; /* should not happen */ - } -} - - -libedit_private ssize_t -ct_visual_char(wchar_t *dst, size_t len, wchar_t c) -{ - int t = ct_chr_class(c); - switch (t) { - case CHTYPE_TAB: - case CHTYPE_NL: - case CHTYPE_ASCIICTL: - if (len < 2) - return -1; /* insufficient space */ - *dst++ = '^'; - if (c == '\177') - *dst = '?'; /* DEL -> ^? */ - else - *dst = c | 0100; /* uncontrolify it */ - return 2; - case CHTYPE_PRINT: - if (len < 1) - return -1; /* insufficient space */ - *dst = c; - return 1; - case CHTYPE_NONPRINT: - /* we only use single-width glyphs for display, - * so this is right */ - if ((ssize_t)len < ct_visual_width(c)) - return -1; /* insufficient space */ - *dst++ = '\\'; - *dst++ = 'U'; - *dst++ = '+'; -#define tohexdigit(v) "0123456789ABCDEF"[v] - if (c > 0xffff) /* prefer standard 4-byte display over 5-byte */ - *dst++ = tohexdigit(((unsigned int) c >> 16) & 0xf); - *dst++ = tohexdigit(((unsigned int) c >> 12) & 0xf); - *dst++ = tohexdigit(((unsigned int) c >> 8) & 0xf); - *dst++ = tohexdigit(((unsigned int) c >> 4) & 0xf); - *dst = tohexdigit(((unsigned int) c ) & 0xf); - return c > 0xffff ? 8 : 7; - /*FALLTHROUGH*/ - /* these two should be handled outside this function */ - default: /* we should never hit the default */ - return 0; - } -} - - - - -libedit_private int -ct_chr_class(wchar_t c) -{ - if (c == '\t') - return CHTYPE_TAB; - else if (c == '\n') - return CHTYPE_NL; - else if (c < 0x100 && iswcntrl(c)) - return CHTYPE_ASCIICTL; - else if (iswprint(c)) - return CHTYPE_PRINT; - else - return CHTYPE_NONPRINT; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/chartype.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/chartype.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/chartype.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/chartype.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,119 +0,0 @@ -/* $NetBSD: chartype.h,v 1.35 2017/05/22 19:16:25 christos Exp $ */ - -/*- - * Copyright (c) 2009 The NetBSD Foundation, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _h_chartype_f -#define _h_chartype_f - -/* Ideally we should also test the value of the define to see if it - * supports non-BMP code points without requiring UTF-16, but nothing - * seems to actually advertise this properly, despite Unicode 3.1 having - * been around since 2001... */ -#if !defined(__NetBSD__) && \ - !defined(__sun) && \ - !(defined(__APPLE__) && defined(__MACH__)) && \ - !defined(__OpenBSD__) && \ - !defined(__FreeBSD__) && \ - !defined(__DragonFly__) -#ifndef __STDC_ISO_10646__ -/* In many places it is assumed that the first 127 code points are ASCII - * compatible, so ensure wchar_t indeed does ISO 10646 and not some other - * funky encoding that could break us in weird and wonderful ways. */ - #error wchar_t must store ISO 10646 characters -#endif -#endif - -/* Oh for a with char32_t and __STDC_UTF_32__ in it... - * ref: ISO/IEC DTR 19769 - */ -#if WCHAR_MAX < INT32_MAX -#warning Build environment does not support non-BMP characters -#endif - -/* - * Conversion buffer - */ -typedef struct ct_buffer_t { - char *cbuff; - size_t csize; - wchar_t *wbuff; - size_t wsize; -} ct_buffer_t; - -/* Encode a wide-character string and return the UTF-8 encoded result. */ -char *ct_encode_string(const wchar_t *, ct_buffer_t *); - -/* Decode a (multi)?byte string and return the wide-character string result. */ -wchar_t *ct_decode_string(const char *, ct_buffer_t *); - -/* Decode a (multi)?byte argv string array. - * The pointer returned must be free()d when done. */ -libedit_private wchar_t **ct_decode_argv(int, const char *[], ct_buffer_t *); - -/* Encode a character into the destination buffer, provided there is sufficient - * buffer space available. Returns the number of bytes used up (zero if the - * character cannot be encoded, -1 if there was not enough space available). */ -libedit_private ssize_t ct_encode_char(char *, size_t, wchar_t); -libedit_private size_t ct_enc_width(wchar_t); - -/* The maximum buffer size to hold the most unwieldy visual representation, - * in this case \U+nnnnn. */ -#define VISUAL_WIDTH_MAX ((size_t)8) - -/* The terminal is thought of in terms of X columns by Y lines. In the cases - * where a wide character takes up more than one column, the adjacent - * occupied column entries will contain this faux character. */ -#define MB_FILL_CHAR ((wchar_t)-1) - -/* Visual width of character c, taking into account ^? , \0177 and \U+nnnnn - * style visual expansions. */ -libedit_private int ct_visual_width(wchar_t); - -/* Turn the given character into the appropriate visual format, matching - * the width given by ct_visual_width(). Returns the number of characters used - * up, or -1 if insufficient space. Buffer length is in count of wchar_t's. */ -libedit_private ssize_t ct_visual_char(wchar_t *, size_t, wchar_t); - -/* Convert the given string into visual format, using the ct_visual_char() - * function. Uses a static buffer, so not threadsafe. */ -libedit_private const wchar_t *ct_visual_string(const wchar_t *, ct_buffer_t *); - - -/* printable character, use ct_visual_width() to find out display width */ -#define CHTYPE_PRINT ( 0) -/* control character found inside the ASCII portion of the charset */ -#define CHTYPE_ASCIICTL (-1) -/* a \t */ -#define CHTYPE_TAB (-2) -/* a \n */ -#define CHTYPE_NL (-3) -/* non-printable character */ -#define CHTYPE_NONPRINT (-4) -/* classification of character c, as one of the above defines */ -libedit_private int ct_chr_class(wchar_t c); - -#endif /* _chartype_f */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/CMakeLists.txt mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/CMakeLists.txt --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,154 +0,0 @@ -# See src/Makefile.am for original build dependencies. - -INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ) -INCLUDE(CheckIncludeFile) -include(CheckFunctionExists) - -CHECK_INCLUDE_FILES (sys/cdefs.h HAVE_SYS_CDEFS_H) -CHECK_INCLUDE_FILES(term.h HAVE_TERM_H) - -IF(SOLARIS) - #On Solaris, default awk is next to unusable while the xpg4 one is ok. - IF(EXISTS /usr/xpg4/bin/awk) - SET(AWK_EXECUTABLE /usr/xpg4/bin/awk) - ENDIF() -ENDIF() - -IF(NOT AWK_EXECUTABLE) - FIND_PROGRAM(AWK_EXECUTABLE NAMES gawk awk DOC "path to the awk executable") -ENDIF() -MESSAGE(STATUS "AWK_EXECUTABLE is ${AWK_EXECUTABLE}") - -MARK_AS_ADVANCED(AWK_EXECUTABLE) -SET(AWK ${AWK_EXECUTABLE}) -CONFIGURE_FILE(makelist.in ${CMAKE_CURRENT_BINARY_DIR}/makelist @ONLY) - -SET(MAKELIST ${CMAKE_CURRENT_BINARY_DIR}/makelist) - -CHECK_C_SOURCE_COMPILES(" - #include - #include - #include - int main() { - int ret = getpwnam_r(NULL, NULL, NULL, (size_t)0, NULL); - return ret; - }" - HAVE_GETPW_R_POSIX - ) - -# POSIX.1c Draft 6 -CHECK_C_SOURCE_COMPILES(" - #include - #include - #include - int main() { - struct passwd *pwd = getpwnam_r(NULL, NULL, NULL, 0); - return pwd != NULL; - }" - HAVE_GETPW_R_DRAFT -) - -CHECK_FUNCTION_EXISTS(getline HAVE_GETLINE) -# _FUNCTION_EXISTS(strlcpy HAVE_STRLCPY) in configure.cmake -# _FUNCTION_EXISTS(strlcat HAVE_STRLCAT) in configure.cmake -CHECK_FUNCTION_EXISTS(vis HAVE_VIS) -CHECK_FUNCTION_EXISTS(unvis HAVE_UNVIS) -CHECK_FUNCTION_EXISTS(__secure_getenv HAVE___SECURE_GETENV) -CHECK_FUNCTION_EXISTS(secure_getenv HAVE_SECURE_GETENV) - -FUNCTION(MAKELIST_TARGET target outfile options infiles) - STRING(REPLACE ";" " " infile_string "${infiles}") - ADD_CUSTOM_COMMAND( - OUTPUT ${outfile} - COMMAND sh ${MAKELIST} ${options} ${infile_string} > ${outfile} - COMMENT "makelist ${options} ${infile_string} > ${outfile}" - DEPENDS ${infiles} - ) - ADD_CUSTOM_TARGET(${target} DEPENDS ${outfile}) -ENDFUNCTION() - -SET(BUILT_SOURCES vi.h emacs.h common.h fcns.h help.h func.h) -SET(AHDR vi.h emacs.h common.h) -SET(ASRC - ${CMAKE_CURRENT_SOURCE_DIR}/vi.c - ${CMAKE_CURRENT_SOURCE_DIR}/emacs.c - ${CMAKE_CURRENT_SOURCE_DIR}/common.c - ) - -MAKELIST_TARGET(libedit_vi vi.h -h ${CMAKE_CURRENT_SOURCE_DIR}/vi.c) -MAKELIST_TARGET(libedit_emacs emacs.h -h ${CMAKE_CURRENT_SOURCE_DIR}/emacs.c) -MAKELIST_TARGET(libedit_common common.h -h ${CMAKE_CURRENT_SOURCE_DIR}/common.c) -MAKELIST_TARGET(libedit_fcns fcns.h -fh "${AHDR}") -MAKELIST_TARGET(libedit_help help.h -bh "${ASRC}") -MAKELIST_TARGET(libedit_func func.h -fc "${AHDR}") - -INCLUDE_DIRECTORIES( - ${CMAKE_CURRENT_BINARY_DIR} - ${CURSES_INCLUDE_PATH} -) - -SET(LIBEDIT_SOURCES - chared.c - chartype.c - common.c - el.c - eln.c - emacs.c - filecomplete.c - hist.c - history.c - historyn.c - keymacro.c - literal.c - map.c - parse.c - prompt.c - read.c - readline.c - refresh.c - search.c - sig.c - terminal.c - tokenizer.c - tokenizern.c - tty.c - vi.c - ${BUILT_SOURCES} - ${LIBEDIT_EXTRA_SOURCES} - ) - -IF(NOT HAVE_STRLCPY) - LIST(APPEND LIBEDIT_SOURCES strlcpy.c) -ENDIF() -IF(NOT HAVE_STRLCAT) - LIST(APPEND LIBEDIT_SOURCES strlcat.c) -ENDIF() -IF(NOT HAVE_VIS) - LIST(APPEND LIBEDIT_SOURCES vis.c) -ENDIF() -IF(NOT HAVE_UNVIS) - LIST(APPEND LIBEDIT_SOURCES unvis.c) -ENDIF() -IF(FREEBSD AND HAVE_GETLINE) - ADD_DEFINITIONS(-D_WITH_GETLINE=1) -ENDIF() - -ADD_LIBRARY(edit STATIC ${LIBEDIT_SOURCES}) -TARGET_LINK_LIBRARIES(edit ${CURSES_LIBRARY}) - -# clang may complain: -# converts between pointers to integer types with different sign -MY_CHECK_C_COMPILER_FLAG("-Wpointer-sign" HAVE_POINTER_SIGN) -IF(HAVE_POINTER_SIGN) - STRING_APPEND(CMAKE_C_FLAGS " -Wno-pointer-sign") -ENDIF() - -MY_CHECK_C_COMPILER_FLAG("-Wstringop-overflow" HAVE_STRINGOP_OVERFLOW) -IF(HAVE_STRINGOP_OVERFLOW) - STRING_APPEND(CMAKE_C_FLAGS " -Wno-stringop-overflow") -ENDIF() - -MY_CHECK_C_COMPILER_FLAG("-Wunused-result" HAVE_UNUSED_RESULT) -IF(HAVE_UNUSED_RESULT) - STRING_APPEND(CMAKE_C_FLAGS " -Wno-unused-result") -ENDIF() diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/common.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/common.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/common.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/common.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,837 +0,0 @@ -/* $NetBSD: common.c,v 1.48 2018/02/26 17:36:14 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)common.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: common.c,v 1.48 2018/02/26 17:36:14 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * common.c: Common Editor functions - */ -#include -#include - -#include "el.h" -#include "common.h" -#include "fcns.h" -#include "parse.h" -#include "vi.h" - -/* ed_end_of_file(): - * Indicate end of file - * [^D] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_end_of_file(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - re_goto_bottom(el); - *el->el_line.lastchar = '\0'; - return CC_EOF; -} - - -/* ed_insert(): - * Add character to the line - * Insert a character [bound to all insert keys] - */ -libedit_private el_action_t -ed_insert(EditLine *el, wint_t c) -{ - int count = el->el_state.argument; - - if (c == '\0') - return CC_ERROR; - - if (el->el_line.lastchar + el->el_state.argument >= - el->el_line.limit) { - /* end of buffer space, try to allocate more */ - if (!ch_enlargebufs(el, (size_t) count)) - return CC_ERROR; /* error allocating more */ - } - - if (count == 1) { - if (el->el_state.inputmode == MODE_INSERT - || el->el_line.cursor >= el->el_line.lastchar) - c_insert(el, 1); - - *el->el_line.cursor++ = c; - re_fastaddc(el); /* fast refresh for one char. */ - } else { - if (el->el_state.inputmode != MODE_REPLACE_1) - c_insert(el, el->el_state.argument); - - while (count-- && el->el_line.cursor < el->el_line.lastchar) - *el->el_line.cursor++ = c; - re_refresh(el); - } - - if (el->el_state.inputmode == MODE_REPLACE_1) - return vi_command_mode(el, 0); - - return CC_NORM; -} - - -/* ed_delete_prev_word(): - * Delete from beginning of current word to cursor - * [M-^?] [^W] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_delete_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *cp, *p, *kp; - - if (el->el_line.cursor == el->el_line.buffer) - return CC_ERROR; - - cp = c__prev_word(el->el_line.cursor, el->el_line.buffer, - el->el_state.argument, ce__isword); - - for (p = cp, kp = el->el_chared.c_kill.buf; p < el->el_line.cursor; p++) - *kp++ = *p; - el->el_chared.c_kill.last = kp; - - c_delbefore(el, (int)(el->el_line.cursor - cp));/* delete before dot */ - el->el_line.cursor = cp; - if (el->el_line.cursor < el->el_line.buffer) - el->el_line.cursor = el->el_line.buffer; /* bounds check */ - return CC_REFRESH; -} - - -/* ed_delete_next_char(): - * Delete character under cursor - * [^D] [x] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_delete_next_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ -#ifdef DEBUG_EDIT -#define EL el->el_line - (void) fprintf(el->el_errfile, - "\nD(b: %p(%ls) c: %p(%ls) last: %p(%ls) limit: %p(%ls)\n", - EL.buffer, EL.buffer, EL.cursor, EL.cursor, EL.lastchar, - EL.lastchar, EL.limit, EL.limit); -#endif - if (el->el_line.cursor == el->el_line.lastchar) { - /* if I'm at the end */ - if (el->el_map.type == MAP_VI) { - if (el->el_line.cursor == el->el_line.buffer) { - /* if I'm also at the beginning */ -#ifdef KSHVI - return CC_ERROR; -#else - /* then do an EOF */ - terminal_writec(el, c); - return CC_EOF; -#endif - } else { -#ifdef KSHVI - el->el_line.cursor--; -#else - return CC_ERROR; -#endif - } - } else - return CC_ERROR; - } - c_delafter(el, el->el_state.argument); /* delete after dot */ - if (el->el_map.type == MAP_VI && - el->el_line.cursor >= el->el_line.lastchar && - el->el_line.cursor > el->el_line.buffer) - /* bounds check */ - el->el_line.cursor = el->el_line.lastchar - 1; - return CC_REFRESH; -} - - -/* ed_kill_line(): - * Cut to the end of line - * [^K] [^K] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_kill_line(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *kp, *cp; - - cp = el->el_line.cursor; - kp = el->el_chared.c_kill.buf; - while (cp < el->el_line.lastchar) - *kp++ = *cp++; /* copy it */ - el->el_chared.c_kill.last = kp; - /* zap! -- delete to end */ - el->el_line.lastchar = el->el_line.cursor; - return CC_REFRESH; -} - - -/* ed_move_to_end(): - * Move cursor to the end of line - * [^E] [^E] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_move_to_end(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_line.cursor = el->el_line.lastchar; - if (el->el_map.type == MAP_VI) { - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } -#ifdef VI_MOVE - el->el_line.cursor--; -#endif - } - return CC_CURSOR; -} - - -/* ed_move_to_beg(): - * Move cursor to the beginning of line - * [^A] [^A] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_move_to_beg(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_line.cursor = el->el_line.buffer; - - if (el->el_map.type == MAP_VI) { - /* We want FIRST non space character */ - while (iswspace(*el->el_line.cursor)) - el->el_line.cursor++; - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } - } - return CC_CURSOR; -} - - -/* ed_transpose_chars(): - * Exchange the character to the left of the cursor with the one under it - * [^T] [^T] - */ -libedit_private el_action_t -ed_transpose_chars(EditLine *el, wint_t c) -{ - - if (el->el_line.cursor < el->el_line.lastchar) { - if (el->el_line.lastchar <= &el->el_line.buffer[1]) - return CC_ERROR; - else - el->el_line.cursor++; - } - if (el->el_line.cursor > &el->el_line.buffer[1]) { - /* must have at least two chars entered */ - c = el->el_line.cursor[-2]; - el->el_line.cursor[-2] = el->el_line.cursor[-1]; - el->el_line.cursor[-1] = c; - return CC_REFRESH; - } else - return CC_ERROR; -} - - -/* ed_next_char(): - * Move to the right one character - * [^F] [^F] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_next_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *lim = el->el_line.lastchar; - - if (el->el_line.cursor >= lim || - (el->el_line.cursor == lim - 1 && - el->el_map.type == MAP_VI && - el->el_chared.c_vcmd.action == NOP)) - return CC_ERROR; - - el->el_line.cursor += el->el_state.argument; - if (el->el_line.cursor > lim) - el->el_line.cursor = lim; - - if (el->el_map.type == MAP_VI) - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - - -/* ed_prev_word(): - * Move to the beginning of the current word - * [M-b] [b] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor == el->el_line.buffer) - return CC_ERROR; - - el->el_line.cursor = c__prev_word(el->el_line.cursor, - el->el_line.buffer, - el->el_state.argument, - ce__isword); - - if (el->el_map.type == MAP_VI) - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - - -/* ed_prev_char(): - * Move to the left one character - * [^B] [^B] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor > el->el_line.buffer) { - el->el_line.cursor -= el->el_state.argument; - if (el->el_line.cursor < el->el_line.buffer) - el->el_line.cursor = el->el_line.buffer; - - if (el->el_map.type == MAP_VI) - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; - } else - return CC_ERROR; -} - - -/* ed_quoted_insert(): - * Add the next character typed verbatim - * [^V] [^V] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_quoted_insert(EditLine *el, wint_t c __attribute__((__unused__))) -{ - int num; - wchar_t ch; - - tty_quotemode(el); - num = el_wgetc(el, &ch); - tty_noquotemode(el); - if (num == 1) - return ed_insert(el, ch); - else - return ed_end_of_file(el, 0); -} - - -/* ed_digit(): - * Adds to argument or enters a digit - */ -libedit_private el_action_t -ed_digit(EditLine *el, wint_t c) -{ - - if (!iswdigit(c)) - return CC_ERROR; - - if (el->el_state.doingarg) { - /* if doing an arg, add this in... */ - if (el->el_state.lastcmd == EM_UNIVERSAL_ARGUMENT) - el->el_state.argument = c - '0'; - else { - if (el->el_state.argument > 1000000) - return CC_ERROR; - el->el_state.argument = - (el->el_state.argument * 10) + (c - '0'); - } - return CC_ARGHACK; - } - - return ed_insert(el, c); -} - - -/* ed_argument_digit(): - * Digit that starts argument - * For ESC-n - */ -libedit_private el_action_t -ed_argument_digit(EditLine *el, wint_t c) -{ - - if (!iswdigit(c)) - return CC_ERROR; - - if (el->el_state.doingarg) { - if (el->el_state.argument > 1000000) - return CC_ERROR; - el->el_state.argument = (el->el_state.argument * 10) + - (c - '0'); - } else { /* else starting an argument */ - el->el_state.argument = c - '0'; - el->el_state.doingarg = 1; - } - return CC_ARGHACK; -} - - -/* ed_unassigned(): - * Indicates unbound character - * Bound to keys that are not assigned - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_unassigned(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) -{ - - return CC_ERROR; -} - - -/* ed_ignore(): - * Input characters that have no effect - * [^C ^O ^Q ^S ^Z ^\ ^]] [^C ^O ^Q ^S ^\] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_ignore(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) -{ - - return CC_NORM; -} - - -/* ed_newline(): - * Execute command - * [^J] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_newline(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - re_goto_bottom(el); - *el->el_line.lastchar++ = '\n'; - *el->el_line.lastchar = '\0'; - return CC_NEWLINE; -} - - -/* ed_delete_prev_char(): - * Delete the character to the left of the cursor - * [^?] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor <= el->el_line.buffer) - return CC_ERROR; - - c_delbefore(el, el->el_state.argument); - el->el_line.cursor -= el->el_state.argument; - if (el->el_line.cursor < el->el_line.buffer) - el->el_line.cursor = el->el_line.buffer; - return CC_REFRESH; -} - - -/* ed_clear_screen(): - * Clear screen leaving current line at the top - * [^L] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_clear_screen(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - terminal_clear_screen(el); /* clear the whole real screen */ - re_clear_display(el); /* reset everything */ - return CC_REFRESH; -} - - -/* ed_redisplay(): - * Redisplay everything - * ^R - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_redisplay(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) -{ - - return CC_REDISPLAY; -} - - -/* ed_start_over(): - * Erase current line and start from scratch - * [^G] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_start_over(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - ch_reset(el); - return CC_REFRESH; -} - - -/* ed_sequence_lead_in(): - * First character in a bound sequence - * Placeholder for external keys - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) -{ - - return CC_NORM; -} - - -/* ed_prev_history(): - * Move to the previous history line - * [^P] [k] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) -{ - char beep = 0; - int sv_event = el->el_history.eventno; - - el->el_chared.c_undo.len = -1; - *el->el_line.lastchar = '\0'; /* just in case */ - - if (el->el_history.eventno == 0) { /* save the current buffer - * away */ - (void) wcsncpy(el->el_history.buf, el->el_line.buffer, - EL_BUFSIZ); - el->el_history.last = el->el_history.buf + - (el->el_line.lastchar - el->el_line.buffer); - } - el->el_history.eventno += el->el_state.argument; - - if (hist_get(el) == CC_ERROR) { - if (el->el_map.type == MAP_VI) { - el->el_history.eventno = sv_event; - } - beep = 1; - /* el->el_history.eventno was fixed by first call */ - (void) hist_get(el); - } - if (beep) - return CC_REFRESH_BEEP; - return CC_REFRESH; -} - - -/* ed_next_history(): - * Move to the next history line - * [^N] [j] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_next_history(EditLine *el, wint_t c __attribute__((__unused__))) -{ - el_action_t beep = CC_REFRESH, rval; - - el->el_chared.c_undo.len = -1; - *el->el_line.lastchar = '\0'; /* just in case */ - - el->el_history.eventno -= el->el_state.argument; - - if (el->el_history.eventno < 0) { - el->el_history.eventno = 0; - beep = CC_REFRESH_BEEP; - } - rval = hist_get(el); - if (rval == CC_REFRESH) - return beep; - return rval; - -} - - -/* ed_search_prev_history(): - * Search previous in history for a line matching the current - * next search history [M-P] [K] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_search_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) -{ - const wchar_t *hp; - int h; - int found = 0; - - el->el_chared.c_vcmd.action = NOP; - el->el_chared.c_undo.len = -1; - *el->el_line.lastchar = '\0'; /* just in case */ - if (el->el_history.eventno < 0) { -#ifdef DEBUG_EDIT - (void) fprintf(el->el_errfile, - "e_prev_search_hist(): eventno < 0;\n"); -#endif - el->el_history.eventno = 0; - return CC_ERROR; - } - if (el->el_history.eventno == 0) { - (void) wcsncpy(el->el_history.buf, el->el_line.buffer, - EL_BUFSIZ); - el->el_history.last = el->el_history.buf + - (el->el_line.lastchar - el->el_line.buffer); - } - if (el->el_history.ref == NULL) - return CC_ERROR; - - hp = HIST_FIRST(el); - if (hp == NULL) - return CC_ERROR; - - c_setpat(el); /* Set search pattern !! */ - - for (h = 1; h <= el->el_history.eventno; h++) - hp = HIST_NEXT(el); - - while (hp != NULL) { -#ifdef SDEBUG - (void) fprintf(el->el_errfile, "Comparing with \"%s\"\n", hp); -#endif - if ((wcsncmp(hp, el->el_line.buffer, (size_t) - (el->el_line.lastchar - el->el_line.buffer)) || - hp[el->el_line.lastchar - el->el_line.buffer]) && - c_hmatch(el, hp)) { - found = 1; - break; - } - h++; - hp = HIST_NEXT(el); - } - - if (!found) { -#ifdef SDEBUG - (void) fprintf(el->el_errfile, "not found\n"); -#endif - return CC_ERROR; - } - el->el_history.eventno = h; - - return hist_get(el); -} - - -/* ed_search_next_history(): - * Search next in history for a line matching the current - * [M-N] [J] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_search_next_history(EditLine *el, wint_t c __attribute__((__unused__))) -{ - const wchar_t *hp; - int h; - int found = 0; - - el->el_chared.c_vcmd.action = NOP; - el->el_chared.c_undo.len = -1; - *el->el_line.lastchar = '\0'; /* just in case */ - - if (el->el_history.eventno == 0) - return CC_ERROR; - - if (el->el_history.ref == NULL) - return CC_ERROR; - - hp = HIST_FIRST(el); - if (hp == NULL) - return CC_ERROR; - - c_setpat(el); /* Set search pattern !! */ - - for (h = 1; h < el->el_history.eventno && hp; h++) { -#ifdef SDEBUG - (void) fprintf(el->el_errfile, "Comparing with \"%s\"\n", hp); -#endif - if ((wcsncmp(hp, el->el_line.buffer, (size_t) - (el->el_line.lastchar - el->el_line.buffer)) || - hp[el->el_line.lastchar - el->el_line.buffer]) && - c_hmatch(el, hp)) - found = h; - hp = HIST_NEXT(el); - } - - if (!found) { /* is it the current history number? */ - if (!c_hmatch(el, el->el_history.buf)) { -#ifdef SDEBUG - (void) fprintf(el->el_errfile, "not found\n"); -#endif - return CC_ERROR; - } - } - el->el_history.eventno = found; - - return hist_get(el); -} - - -/* ed_prev_line(): - * Move up one line - * Could be [k] [^p] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_prev_line(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *ptr; - int nchars = c_hpos(el); - - /* - * Move to the line requested - */ - if (*(ptr = el->el_line.cursor) == '\n') - ptr--; - - for (; ptr >= el->el_line.buffer; ptr--) - if (*ptr == '\n' && --el->el_state.argument <= 0) - break; - - if (el->el_state.argument > 0) - return CC_ERROR; - - /* - * Move to the beginning of the line - */ - for (ptr--; ptr >= el->el_line.buffer && *ptr != '\n'; ptr--) - continue; - - /* - * Move to the character requested - */ - for (ptr++; - nchars-- > 0 && ptr < el->el_line.lastchar && *ptr != '\n'; - ptr++) - continue; - - el->el_line.cursor = ptr; - return CC_CURSOR; -} - - -/* ed_next_line(): - * Move down one line - * Could be [j] [^n] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_next_line(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *ptr; - int nchars = c_hpos(el); - - /* - * Move to the line requested - */ - for (ptr = el->el_line.cursor; ptr < el->el_line.lastchar; ptr++) - if (*ptr == '\n' && --el->el_state.argument <= 0) - break; - - if (el->el_state.argument > 0) - return CC_ERROR; - - /* - * Move to the character requested - */ - for (ptr++; - nchars-- > 0 && ptr < el->el_line.lastchar && *ptr != '\n'; - ptr++) - continue; - - el->el_line.cursor = ptr; - return CC_CURSOR; -} - - -/* ed_command(): - * Editline extended command - * [M-X] [:] - */ -libedit_private el_action_t -/*ARGSUSED*/ -ed_command(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t tmpbuf[EL_BUFSIZ]; - int tmplen; - - tmplen = c_gets(el, tmpbuf, L"\n: "); - terminal__putc(el, '\n'); - - if (tmplen < 0 || (tmpbuf[tmplen] = 0, parse_line(el, tmpbuf)) == -1) - terminal_beep(el); - - el->el_map.current = el->el_map.key; - re_clear_display(el); - return CC_REFRESH; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/config.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/config.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/config.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/config.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -/* - To minimize source code changes, we add this source file - and forward to my_config.h instead. - See AH_BOTTOM in configure.ac for the rest. -*/ -#include "my_config.h" -#include "sys.h" -#define SCCSID -/* #undef LIBC_SCCS */ -#define lint diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/editline/readline.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/editline/readline.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/editline/readline.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/editline/readline.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,234 +0,0 @@ -/* $NetBSD: readline.h,v 1.45 2019/02/15 23:20:35 christos Exp $ */ - -/*- - * Copyright (c) 1997 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Jaromir Dolecek. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -#ifndef _READLINE_H_ -#define _READLINE_H_ - -#include -#include - -/* list of readline stuff supported by editline library's readline wrapper */ - -/* typedefs */ -typedef int Function(const char *, int); -typedef char *CPFunction(const char *, int); -typedef void VFunction(void); -typedef void rl_vcpfunc_t(char *); -typedef char **rl_completion_func_t(const char *, int, int); -typedef char *rl_compentry_func_t(const char *, int); -typedef int rl_command_func_t(int, int); -typedef int rl_hook_func_t(void); - -/* only supports length */ -typedef struct { - int length; -} HISTORY_STATE; - -typedef void *histdata_t; - -typedef struct _hist_entry { - const char *line; - histdata_t data; -} HIST_ENTRY; - -typedef struct _keymap_entry { - char type; -#define ISFUNC 0 -#define ISKMAP 1 -#define ISMACR 2 - Function *function; -} KEYMAP_ENTRY; - -#define KEYMAP_SIZE 256 - -typedef KEYMAP_ENTRY KEYMAP_ENTRY_ARRAY[KEYMAP_SIZE]; -typedef KEYMAP_ENTRY *Keymap; - -#define control_character_threshold 0x20 -#define control_character_bit 0x40 - -#ifndef CTRL -#include -#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) -#include -#endif -#ifndef CTRL -#define CTRL(c) ((c) & 037) -#endif -#endif -#ifndef UNCTRL -#define UNCTRL(c) (((c) - 'a' + 'A')|control_character_bit) -#endif - -#define RUBOUT 0x7f -#define ABORT_CHAR CTRL('G') -#define RL_READLINE_VERSION 0x0402 -#define RL_PROMPT_START_IGNORE '\1' -#define RL_PROMPT_END_IGNORE '\2' - -/* global variables used by readline enabled applications */ -#ifdef __cplusplus -extern "C" { -#endif -extern const char *rl_library_version; -extern int rl_readline_version; -extern const char *rl_readline_name; -extern FILE *rl_instream; -extern FILE *rl_outstream; -extern char *rl_line_buffer; -extern int rl_point, rl_end; -extern int history_base, history_length; -extern int max_input_history; -extern const char *rl_basic_word_break_characters; -extern char *rl_completer_word_break_characters; -extern char *rl_completer_quote_characters; -extern rl_compentry_func_t *rl_completion_entry_function; -extern char *(*rl_completion_word_break_hook)(void); -extern rl_completion_func_t *rl_attempted_completion_function; -extern int rl_attempted_completion_over; -extern int rl_completion_type; -extern int rl_completion_query_items; -extern const char *rl_special_prefixes; -extern int rl_completion_append_character; -extern int rl_inhibit_completion; -extern Function *rl_pre_input_hook; -extern Function *rl_startup_hook; -extern char *rl_terminal_name; -extern int rl_already_prompted; -extern char *rl_prompt; -extern int rl_done; -/* - * The following is not implemented - */ -extern int rl_catch_signals; -extern int rl_catch_sigwinch; -extern KEYMAP_ENTRY_ARRAY emacs_standard_keymap, - emacs_meta_keymap, - emacs_ctlx_keymap; -extern int rl_filename_completion_desired; -extern int rl_ignore_completion_duplicates; -extern int (*rl_getc_function)(FILE *); -extern VFunction *rl_redisplay_function; -extern VFunction *rl_completion_display_matches_hook; -extern VFunction *rl_prep_term_function; -extern VFunction *rl_deprep_term_function; -extern rl_hook_func_t *rl_event_hook; -extern int readline_echoing_p; -extern int _rl_print_completions_horizontally; - -/* supported functions */ -char *readline(const char *); -int rl_initialize(void); - -void using_history(void); -int add_history(const char *); -void clear_history(void); -int append_history(int, const char *); -void stifle_history(int); -int unstifle_history(void); -int history_is_stifled(void); -int where_history(void); -HIST_ENTRY *current_history(void); -HIST_ENTRY *history_get(int); -HIST_ENTRY *remove_history(int); -HIST_ENTRY *replace_history_entry(int, const char *, histdata_t); -int history_total_bytes(void); -int history_set_pos(int); -HIST_ENTRY *previous_history(void); -HIST_ENTRY *next_history(void); -HIST_ENTRY **history_list(void); -int history_search(const char *, int); -int history_search_prefix(const char *, int); -int history_search_pos(const char *, int, int); -int read_history(const char *); -int write_history(const char *); -int history_truncate_file (const char *, int); -int history_expand(char *, char **); -char **history_tokenize(const char *); -const char *get_history_event(const char *, int *, int); -char *history_arg_extract(int, int, const char *); - -char *tilde_expand(char *); -char *filename_completion_function(const char *, int); -char *username_completion_function(const char *, int); -int rl_complete(int, int); -int rl_read_key(void); -char **completion_matches(/* const */ char *, rl_compentry_func_t *); -void rl_display_match_list(char **, int, int); - -int rl_insert(int, int); -int rl_insert_text(const char *); -int rl_reset_terminal(const char *); -void rl_resize_terminal(void); -int rl_bind_key(int, rl_command_func_t *); -int rl_newline(int, int); -void rl_callback_read_char(void); -void rl_callback_handler_install(const char *, rl_vcpfunc_t *); -void rl_callback_handler_remove(void); -void rl_redisplay(void); -int rl_get_previous_history(int, int); -void rl_prep_terminal(int); -void rl_deprep_terminal(void); -int rl_read_init_file(const char *); -int rl_parse_and_bind(const char *); -int rl_variable_bind(const char *, const char *); -int rl_stuff_char(int); -int rl_add_defun(const char *, rl_command_func_t *, int); -HISTORY_STATE *history_get_history_state(void); -void rl_get_screen_size(int *, int *); -void rl_set_screen_size(int, int); -char *rl_filename_completion_function (const char *, int); -int _rl_abort_internal(void); -int _rl_qsort_string_compare(char **, char **); -char **rl_completion_matches(const char *, rl_compentry_func_t *); -void rl_forced_update_display(void); -int rl_set_prompt(const char *); -int rl_on_new_line(void); -void rl_reset_after_signal(void); -void rl_echo_signal_char(int); - -/* - * The following are not implemented - */ -int rl_kill_text(int, int); -Keymap rl_get_keymap(void); -void rl_set_keymap(Keymap); -Keymap rl_make_bare_keymap(void); -int rl_generic_bind(int, const char *, const char *, Keymap); -int rl_bind_key_in_map(int, rl_command_func_t *, Keymap); -void rl_cleanup_after_signal(void); -void rl_free_line_state(void); -int rl_set_keyboard_input_timeout(int); - -#ifdef __cplusplus -} -#endif - -#endif /* _READLINE_H_ */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/el.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/el.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/el.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/el.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,690 +0,0 @@ -/* $NetBSD: el.c,v 1.97 2018/11/18 17:09:39 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)el.c 8.2 (Berkeley) 1/3/94"; -#else -__RCSID("$NetBSD: el.c,v 1.97 2018/11/18 17:09:39 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -#ifndef MAXPATHLEN -#define MAXPATHLEN 4096 -#endif - -/* - * el.c: EditLine interface functions - */ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "el.h" -#include "parse.h" -#include "read.h" - -#ifndef HAVE_SECURE_GETENV -# ifdef HAVE___SECURE_GETENV -# define secure_getenv __secure_getenv -# define HAVE_SECURE_GETENV 1 -# else -# ifdef HAVE_ISSETUGID -# include -# else -# undef issetugid -# define issetugid() 1 -# endif -# endif -#endif - -#ifndef HAVE_SECURE_GETENV -char *secure_getenv(char const *name) -{ - if (issetugid()) - return 0; - return getenv(name); -} -#endif - -#if defined(HAVE_GETUID) && defined(HAVE_GETEUID) && \ - defined(HAVE_GETGID) && defined(HAVE_GETEGID) -#define HAVE_IDENTITY_FUNCS 1 - -#ifndef HAVE_ISSETUGID -static int issetugid(void) { - return (getuid() != geteuid() || getgid() != getegid()); -} -#endif - -#endif - -/* el_init(): - * Initialize editline and set default parameters. - */ -EditLine * -el_init(const char *prog, FILE *fin, FILE *fout, FILE *ferr) -{ - return el_init_fd(prog, fin, fout, ferr, fileno(fin), fileno(fout), - fileno(ferr)); -} - -libedit_private EditLine * -el_init_internal(const char *prog, FILE *fin, FILE *fout, FILE *ferr, - int fdin, int fdout, int fderr, int flags) -{ - EditLine *el = el_malloc(sizeof(*el)); - - if (el == NULL) - return NULL; - - memset(el, 0, sizeof(EditLine)); - - el->el_infile = fin; - el->el_outfile = fout; - el->el_errfile = ferr; - - el->el_infd = fdin; - el->el_outfd = fdout; - el->el_errfd = fderr; - - el->el_prog = wcsdup(ct_decode_string(prog, &el->el_scratch)); - if (el->el_prog == NULL) { - el_free(el); - return NULL; - } - - /* - * Initialize all the modules. Order is important!!! - */ - el->el_flags = flags; - - if (terminal_init(el) == -1) { - el_free(el->el_prog); - el_free(el); - return NULL; - } - (void) keymacro_init(el); - (void) map_init(el); - if (tty_init(el) == -1) - el->el_flags |= NO_TTY; - (void) ch_init(el); - (void) search_init(el); - (void) hist_init(el); - (void) prompt_init(el); - (void) sig_init(el); - (void) literal_init(el); - if (read_init(el) == -1) { - el_end(el); - return NULL; - } - return el; -} - -EditLine * -el_init_fd(const char *prog, FILE *fin, FILE *fout, FILE *ferr, - int fdin, int fdout, int fderr) -{ - return el_init_internal(prog, fin, fout, ferr, fdin, fdout, fderr, 0); -} - -/* el_end(): - * Clean up. - */ -void -el_end(EditLine *el) -{ - - if (el == NULL) - return; - - el_reset(el); - - terminal_end(el); - keymacro_end(el); - map_end(el); - if (!(el->el_flags & NO_TTY)) - tty_end(el, TCSAFLUSH); - ch_end(el); - read_end(el->el_read); - search_end(el); - hist_end(el); - prompt_end(el); - sig_end(el); - literal_end(el); - - el_free(el->el_prog); - el_free(el->el_visual.cbuff); - el_free(el->el_visual.wbuff); - el_free(el->el_scratch.cbuff); - el_free(el->el_scratch.wbuff); - el_free(el->el_lgcyconv.cbuff); - el_free(el->el_lgcyconv.wbuff); - el_free(el); -} - - -/* el_reset(): - * Reset the tty and the parser - */ -void -el_reset(EditLine *el) -{ - - tty_cookedmode(el); - ch_reset(el); /* XXX: Do we want that? */ -} - - -/* el_set(): - * set the editline parameters - */ -int -el_wset(EditLine *el, int op, ...) -{ - va_list ap; - int rv = 0; - - if (el == NULL) - return -1; - va_start(ap, op); - - switch (op) { - case EL_PROMPT: - case EL_RPROMPT: { - el_pfunc_t p = va_arg(ap, el_pfunc_t); - - rv = prompt_set(el, p, 0, op, 1); - break; - } - - case EL_RESIZE: { - el_zfunc_t p = va_arg(ap, el_zfunc_t); - void *arg = va_arg(ap, void *); - rv = ch_resizefun(el, p, arg); - break; - } - - case EL_ALIAS_TEXT: { - el_afunc_t p = va_arg(ap, el_afunc_t); - void *arg = va_arg(ap, void *); - rv = ch_aliasfun(el, p, arg); - break; - } - - case EL_PROMPT_ESC: - case EL_RPROMPT_ESC: { - el_pfunc_t p = va_arg(ap, el_pfunc_t); - int c = va_arg(ap, int); - - rv = prompt_set(el, p, (wchar_t)c, op, 1); - break; - } - - case EL_TERMINAL: - rv = terminal_set(el, va_arg(ap, char *)); - break; - - case EL_EDITOR: - rv = map_set_editor(el, va_arg(ap, wchar_t *)); - break; - - case EL_SIGNAL: - if (va_arg(ap, int)) - el->el_flags |= HANDLE_SIGNALS; - else - el->el_flags &= ~HANDLE_SIGNALS; - break; - - case EL_BIND: - case EL_TELLTC: - case EL_SETTC: - case EL_ECHOTC: - case EL_SETTY: - { - const wchar_t *argv[20]; - int i; - - for (i = 1; i < (int)__arraycount(argv); i++) - if ((argv[i] = va_arg(ap, wchar_t *)) == NULL) - break; - - switch (op) { - case EL_BIND: - argv[0] = L"bind"; - rv = map_bind(el, i, argv); - break; - - case EL_TELLTC: - argv[0] = L"telltc"; - rv = terminal_telltc(el, i, argv); - break; - - case EL_SETTC: - argv[0] = L"settc"; - rv = terminal_settc(el, i, argv); - break; - - case EL_ECHOTC: - argv[0] = L"echotc"; - rv = terminal_echotc(el, i, argv); - break; - - case EL_SETTY: - argv[0] = L"setty"; - rv = tty_stty(el, i, argv); - break; - - default: - rv = -1; - EL_ABORT((el->el_errfile, "Bad op %d\n", op)); - break; - } - break; - } - - case EL_ADDFN: - { - wchar_t *name = va_arg(ap, wchar_t *); - wchar_t *help = va_arg(ap, wchar_t *); - el_func_t func = va_arg(ap, el_func_t); - - rv = map_addfunc(el, name, help, func); - break; - } - - case EL_HIST: - { - hist_fun_t func = va_arg(ap, hist_fun_t); - void *ptr = va_arg(ap, void *); - - rv = hist_set(el, func, ptr); - if (MB_CUR_MAX == 1) - el->el_flags &= ~NARROW_HISTORY; - break; - } - - case EL_EDITMODE: - if (va_arg(ap, int)) - el->el_flags &= ~EDIT_DISABLED; - else - el->el_flags |= EDIT_DISABLED; - rv = 0; - break; - - case EL_GETCFN: - { - el_rfunc_t rc = va_arg(ap, el_rfunc_t); - rv = el_read_setfn(el->el_read, rc); - break; - } - - case EL_CLIENTDATA: - el->el_data = va_arg(ap, void *); - break; - - case EL_UNBUFFERED: - rv = va_arg(ap, int); - if (rv && !(el->el_flags & UNBUFFERED)) { - el->el_flags |= UNBUFFERED; - read_prepare(el); - } else if (!rv && (el->el_flags & UNBUFFERED)) { - el->el_flags &= ~UNBUFFERED; - read_finish(el); - } - rv = 0; - break; - - case EL_PREP_TERM: - rv = va_arg(ap, int); - if (rv) - (void) tty_rawmode(el); - else - (void) tty_cookedmode(el); - rv = 0; - break; - - case EL_SETFP: - { - FILE *fp; - int what; - - what = va_arg(ap, int); - fp = va_arg(ap, FILE *); - - rv = 0; - switch (what) { - case 0: - el->el_infile = fp; - el->el_infd = fileno(fp); - break; - case 1: - el->el_outfile = fp; - el->el_outfd = fileno(fp); - break; - case 2: - el->el_errfile = fp; - el->el_errfd = fileno(fp); - break; - default: - rv = -1; - break; - } - break; - } - - case EL_REFRESH: - re_clear_display(el); - re_refresh(el); - terminal__flush(el); - break; - - default: - rv = -1; - break; - } - - va_end(ap); - return rv; -} - - -/* el_get(): - * retrieve the editline parameters - */ -int -el_wget(EditLine *el, int op, ...) -{ - va_list ap; - int rv; - - if (el == NULL) - return -1; - - va_start(ap, op); - - switch (op) { - case EL_PROMPT: - case EL_RPROMPT: { - el_pfunc_t *p = va_arg(ap, el_pfunc_t *); - rv = prompt_get(el, p, 0, op); - break; - } - case EL_PROMPT_ESC: - case EL_RPROMPT_ESC: { - el_pfunc_t *p = va_arg(ap, el_pfunc_t *); - wchar_t *c = va_arg(ap, wchar_t *); - - rv = prompt_get(el, p, c, op); - break; - } - - case EL_EDITOR: - rv = map_get_editor(el, va_arg(ap, const wchar_t **)); - break; - - case EL_SIGNAL: - *va_arg(ap, int *) = (el->el_flags & HANDLE_SIGNALS); - rv = 0; - break; - - case EL_EDITMODE: - *va_arg(ap, int *) = !(el->el_flags & EDIT_DISABLED); - rv = 0; - break; - - case EL_TERMINAL: - terminal_get(el, va_arg(ap, const char **)); - rv = 0; - break; - - case EL_GETTC: - { - static char name[] = "gettc"; - char *argv[20]; - int i; - - for (i = 1; i < (int)__arraycount(argv); i++) - if ((argv[i] = va_arg(ap, char *)) == NULL) - break; - - argv[0] = name; - rv = terminal_gettc(el, i, argv); - break; - } - - case EL_GETCFN: - *va_arg(ap, el_rfunc_t *) = el_read_getfn(el->el_read); - rv = 0; - break; - - case EL_CLIENTDATA: - *va_arg(ap, void **) = el->el_data; - rv = 0; - break; - - case EL_UNBUFFERED: - *va_arg(ap, int *) = (el->el_flags & UNBUFFERED) != 0; - rv = 0; - break; - - case EL_GETFP: - { - int what; - FILE **fpp; - - what = va_arg(ap, int); - fpp = va_arg(ap, FILE **); - rv = 0; - switch (what) { - case 0: - *fpp = el->el_infile; - break; - case 1: - *fpp = el->el_outfile; - break; - case 2: - *fpp = el->el_errfile; - break; - default: - rv = -1; - break; - } - break; - } - default: - rv = -1; - break; - } - va_end(ap); - - return rv; -} - - -/* el_line(): - * Return editing info - */ -const LineInfoW * -el_wline(EditLine *el) -{ - - return (const LineInfoW *)(void *)&el->el_line; -} - - -/* el_source(): - * Source a file - */ -int -el_source(EditLine *el, const char *fname) -{ - FILE *fp; - size_t len; - ssize_t slen; - char *ptr; - char *path = NULL; - const wchar_t *dptr; - int error = 0; - - fp = NULL; - if (fname == NULL) { -#if defined(HAVE_ISSETUGID) || defined(HAVE_IDENTITY_FUNCS) - if (issetugid()) - return -1; - - if ((fname = getenv("EDITRC")) == NULL) { - static const char elpath[] = "/.editrc"; - size_t plen = sizeof(elpath); - - if ((ptr = getenv("HOME")) == NULL) - return -1; - plen += strlen(ptr); - if ((path = el_malloc(plen * sizeof(*path))) == NULL) - return -1; - (void)snprintf(path, plen, "%s%s", ptr, - elpath + (*ptr == '\0')); - fname = path; - } -#else - /* - * If issetugid() is missing, always return an error, in order - * to keep from inadvertently opening up the user to a security - * hole. - */ - return -1; -#endif - } - if (fname[0] == '\0') - return -1; - - if (fp == NULL) - fp = fopen(fname, "r"); - if (fp == NULL) { - el_free(path); - return -1; - } - - ptr = NULL; - len = 0; - while ((slen = getline(&ptr, &len, fp)) != -1) { - if (*ptr == '\n') - continue; /* Empty line. */ - if (slen > 0 && ptr[--slen] == '\n') - ptr[slen] = '\0'; - - dptr = ct_decode_string(ptr, &el->el_scratch); - if (!dptr) - continue; - /* loop until first non-space char or EOL */ - while (*dptr != '\0' && iswspace(*dptr)) - dptr++; - if (*dptr == '#') - continue; /* ignore, this is a comment line */ - if ((error = parse_line(el, dptr)) == -1) - break; - } - free(ptr); - - el_free(path); - (void) fclose(fp); - return error; -} - - -/* el_resize(): - * Called from program when terminal is resized - */ -void -el_resize(EditLine *el) -{ - int lins, cols; - sigset_t oset, nset; - - (void) sigemptyset(&nset); - (void) sigaddset(&nset, SIGWINCH); - (void) sigprocmask(SIG_BLOCK, &nset, &oset); - - /* get the correct window size */ - if (terminal_get_size(el, &lins, &cols)) - terminal_change_size(el, lins, cols); - - (void) sigprocmask(SIG_SETMASK, &oset, NULL); -} - - -/* el_beep(): - * Called from the program to beep - */ -void -el_beep(EditLine *el) -{ - - terminal_beep(el); -} - - -/* el_editmode() - * Set the state of EDIT_DISABLED from the `edit' command. - */ -libedit_private int -/*ARGSUSED*/ -el_editmode(EditLine *el, int argc, const wchar_t **argv) -{ - const wchar_t *how; - - if (argv == NULL || argc != 2 || argv[1] == NULL) - return -1; - - how = argv[1]; - if (wcscmp(how, L"on") == 0) { - el->el_flags &= ~EDIT_DISABLED; - tty_rawmode(el); - } else if (wcscmp(how, L"off") == 0) { - tty_cookedmode(el); - el->el_flags |= EDIT_DISABLED; - } - else { - (void) fprintf(el->el_errfile, "edit: Bad value `%ls'.\n", - how); - return -1; - } - return 0; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/el.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/el.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/el.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/el.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,157 +0,0 @@ -/* $NetBSD: el.h,v 1.44 2018/11/18 17:09:39 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)el.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.h: Internal structures. - */ -#ifndef _h_el -#define _h_el -/* - * Local defaults - */ -#define KSHVI -#define VIDEFAULT -#define ANCHOR - -#include "histedit.h" -#include "chartype.h" - -#define EL_BUFSIZ ((size_t)1024) /* Maximum line size */ - -#define HANDLE_SIGNALS 0x01 -#define NO_TTY 0x02 -#define EDIT_DISABLED 0x04 -#define UNBUFFERED 0x08 -#define NARROW_HISTORY 0x40 -#define NO_RESET 0x80 - -typedef unsigned char el_action_t; /* Index to command array */ - -typedef struct coord_t { /* Position on the screen */ - int h; - int v; -} coord_t; - -typedef struct el_line_t { - wchar_t *buffer; /* Input line */ - wchar_t *cursor; /* Cursor position */ - wchar_t *lastchar; /* Last character */ - const wchar_t *limit; /* Max position */ -} el_line_t; - -/* - * Editor state - */ -typedef struct el_state_t { - int inputmode; /* What mode are we in? */ - int doingarg; /* Are we getting an argument? */ - int argument; /* Numeric argument */ - int metanext; /* Is the next char a meta char */ - el_action_t lastcmd; /* Previous command */ - el_action_t thiscmd; /* this command */ - wchar_t thisch; /* char that generated it */ -} el_state_t; - -/* - * Until we come up with something better... - */ -#define el_malloc(a) malloc(a) -#define el_realloc(a,b) realloc(a, b) -#define el_free(a) free(a) - -#include "tty.h" -#include "prompt.h" -#include "literal.h" -#include "keymacro.h" -#include "terminal.h" -#include "refresh.h" -#include "chared.h" -#include "search.h" -#include "hist.h" -#include "map.h" -#include "sig.h" - -struct el_read_t; - -struct editline { - wchar_t *el_prog; /* the program name */ - FILE *el_infile; /* Stdio stuff */ - FILE *el_outfile; /* Stdio stuff */ - FILE *el_errfile; /* Stdio stuff */ - int el_infd; /* Input file descriptor */ - int el_outfd; /* Output file descriptor */ - int el_errfd; /* Error file descriptor */ - int el_flags; /* Various flags. */ - coord_t el_cursor; /* Cursor location */ - wint_t **el_display; /* Real screen image = what is there */ - wint_t **el_vdisplay; /* Virtual screen image = what we see */ - void *el_data; /* Client data */ - el_line_t el_line; /* The current line information */ - el_state_t el_state; /* Current editor state */ - el_terminal_t el_terminal; /* Terminal dependent stuff */ - el_tty_t el_tty; /* Tty dependent stuff */ - el_refresh_t el_refresh; /* Refresh stuff */ - el_prompt_t el_prompt; /* Prompt stuff */ - el_prompt_t el_rprompt; /* Prompt stuff */ - el_literal_t el_literal; /* prompt literal bits */ - el_chared_t el_chared; /* Characted editor stuff */ - el_map_t el_map; /* Key mapping stuff */ - el_keymacro_t el_keymacro; /* Key binding stuff */ - el_history_t el_history; /* History stuff */ - el_search_t el_search; /* Search stuff */ - el_signal_t el_signal; /* Signal handling stuff */ - struct el_read_t *el_read; /* Character reading stuff */ - ct_buffer_t el_visual; /* Buffer for displayable str */ - ct_buffer_t el_scratch; /* Scratch conversion buffer */ - ct_buffer_t el_lgcyconv; /* Buffer for legacy wrappers */ - LineInfo el_lgcylinfo; /* Legacy LineInfo buffer */ -}; - -libedit_private int el_editmode(EditLine *, int, const wchar_t **); -libedit_private EditLine *el_init_internal(const char *, FILE *, FILE *, - FILE *, int, int, int, int); - -#ifdef DEBUG -#define EL_ABORT(a) do { \ - fprintf(el->el_errfile, "%s, %d: ", \ - __FILE__, __LINE__); \ - fprintf a; \ - abort(); \ - } while( /*CONSTCOND*/0); -#else -#define EL_ABORT(a) abort() -#endif -#endif /* _h_el */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/eln.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/eln.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/eln.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/eln.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,388 +0,0 @@ -/* $NetBSD: eln.c,v 1.34 2016/05/09 21:37:34 christos Exp $ */ - -/*- - * Copyright (c) 2009 The NetBSD Foundation, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: eln.c,v 1.34 2016/05/09 21:37:34 christos Exp $"); -#endif /* not lint && not SCCSID */ - -#include -#include -#include -#include - -#include "el.h" - -int -el_getc(EditLine *el, char *cp) -{ - int num_read; - wchar_t wc = 0; - - num_read = el_wgetc(el, &wc); - *cp = '\0'; - if (num_read <= 0) - return num_read; - num_read = wctob(wc); - if (num_read == EOF) { - errno = ERANGE; - return -1; - } else { - *cp = (char)num_read; - return 1; - } -} - - -void -el_push(EditLine *el, const char *str) -{ - /* Using multibyte->wide string decoding works fine under single-byte - * character sets too, and Does The Right Thing. */ - el_wpush(el, ct_decode_string(str, &el->el_lgcyconv)); -} - - -const char * -el_gets(EditLine *el, int *nread) -{ - const wchar_t *tmp; - - tmp = el_wgets(el, nread); - if (tmp != NULL) { - int i; - size_t nwread = 0; - - for (i = 0; i < *nread; i++) - nwread += ct_enc_width(tmp[i]); - *nread = (int)nwread; - } - return ct_encode_string(tmp, &el->el_lgcyconv); -} - - -int -el_parse(EditLine *el, int argc, const char *argv[]) -{ - int ret; - const wchar_t **wargv; - - wargv = (void *)ct_decode_argv(argc, argv, &el->el_lgcyconv); - if (!wargv) - return -1; - ret = el_wparse(el, argc, wargv); - el_free(wargv); - - return ret; -} - - -int -el_set(EditLine *el, int op, ...) -{ - va_list ap; - int ret; - - if (!el) - return -1; - va_start(ap, op); - - switch (op) { - case EL_PROMPT: /* el_pfunc_t */ - case EL_RPROMPT: { - el_pfunc_t p = va_arg(ap, el_pfunc_t); - ret = prompt_set(el, p, 0, op, 0); - break; - } - - case EL_RESIZE: { - el_zfunc_t p = va_arg(ap, el_zfunc_t); - void *arg = va_arg(ap, void *); - ret = ch_resizefun(el, p, arg); - break; - } - - case EL_ALIAS_TEXT: { - el_afunc_t p = va_arg(ap, el_afunc_t); - void *arg = va_arg(ap, void *); - ret = ch_aliasfun(el, p, arg); - break; - } - - case EL_PROMPT_ESC: - case EL_RPROMPT_ESC: { - el_pfunc_t p = va_arg(ap, el_pfunc_t); - int c = va_arg(ap, int); - - ret = prompt_set(el, p, c, op, 0); - break; - } - - case EL_TERMINAL: /* const char * */ - ret = el_wset(el, op, va_arg(ap, char *)); - break; - - case EL_EDITOR: /* const wchar_t * */ - ret = el_wset(el, op, ct_decode_string(va_arg(ap, char *), - &el->el_lgcyconv)); - break; - - case EL_SIGNAL: /* int */ - case EL_EDITMODE: - case EL_UNBUFFERED: - case EL_PREP_TERM: - ret = el_wset(el, op, va_arg(ap, int)); - break; - - case EL_BIND: /* const char * list -> const wchar_t * list */ - case EL_TELLTC: - case EL_SETTC: - case EL_ECHOTC: - case EL_SETTY: { - const char *argv[20]; - int i; - const wchar_t **wargv; - for (i = 1; i < (int)__arraycount(argv) - 1; ++i) - if ((argv[i] = va_arg(ap, const char *)) == NULL) - break; - argv[0] = argv[i] = NULL; - wargv = (void *)ct_decode_argv(i + 1, argv, &el->el_lgcyconv); - if (!wargv) { - ret = -1; - goto out; - } - /* - * AFAIK we can't portably pass through our new wargv to - * el_wset(), so we have to reimplement the body of - * el_wset() for these ops. - */ - switch (op) { - case EL_BIND: - wargv[0] = L"bind"; - ret = map_bind(el, i, wargv); - break; - case EL_TELLTC: - wargv[0] = L"telltc"; - ret = terminal_telltc(el, i, wargv); - break; - case EL_SETTC: - wargv[0] = L"settc"; - ret = terminal_settc(el, i, wargv); - break; - case EL_ECHOTC: - wargv[0] = L"echotc"; - ret = terminal_echotc(el, i, wargv); - break; - case EL_SETTY: - wargv[0] = L"setty"; - ret = tty_stty(el, i, wargv); - break; - default: - ret = -1; - } - el_free(wargv); - break; - } - - /* XXX: do we need to change el_func_t too? */ - case EL_ADDFN: { /* const char *, const char *, el_func_t */ - const char *args[2]; - el_func_t func; - wchar_t **wargv; - - args[0] = va_arg(ap, const char *); - args[1] = va_arg(ap, const char *); - func = va_arg(ap, el_func_t); - - wargv = ct_decode_argv(2, args, &el->el_lgcyconv); - if (!wargv) { - ret = -1; - goto out; - } - /* XXX: The two strdup's leak */ - ret = map_addfunc(el, wcsdup(wargv[0]), wcsdup(wargv[1]), - func); - el_free(wargv); - break; - } - case EL_HIST: { /* hist_fun_t, const char * */ - hist_fun_t fun = va_arg(ap, hist_fun_t); - void *ptr = va_arg(ap, void *); - ret = hist_set(el, fun, ptr); - el->el_flags |= NARROW_HISTORY; - break; - } - - case EL_GETCFN: /* el_rfunc_t */ - ret = el_wset(el, op, va_arg(ap, el_rfunc_t)); - break; - - case EL_CLIENTDATA: /* void * */ - ret = el_wset(el, op, va_arg(ap, void *)); - break; - - case EL_SETFP: { /* int, FILE * */ - int what = va_arg(ap, int); - FILE *fp = va_arg(ap, FILE *); - ret = el_wset(el, op, what, fp); - break; - } - - case EL_REFRESH: - re_clear_display(el); - re_refresh(el); - terminal__flush(el); - ret = 0; - break; - - default: - ret = -1; - break; - } - -out: - va_end(ap); - return ret; -} - - -int -el_get(EditLine *el, int op, ...) -{ - va_list ap; - int ret; - - if (!el) - return -1; - - va_start(ap, op); - - switch (op) { - case EL_PROMPT: /* el_pfunc_t * */ - case EL_RPROMPT: { - el_pfunc_t *p = va_arg(ap, el_pfunc_t *); - ret = prompt_get(el, p, 0, op); - break; - } - - case EL_PROMPT_ESC: /* el_pfunc_t *, char **/ - case EL_RPROMPT_ESC: { - el_pfunc_t *p = va_arg(ap, el_pfunc_t *); - char *c = va_arg(ap, char *); - wchar_t wc = 0; - ret = prompt_get(el, p, &wc, op); - *c = (char)wc; - break; - } - - case EL_EDITOR: { - const char **p = va_arg(ap, const char **); - const wchar_t *pw; - ret = el_wget(el, op, &pw); - *p = ct_encode_string(pw, &el->el_lgcyconv); - if (!el->el_lgcyconv.csize) - ret = -1; - break; - } - - case EL_TERMINAL: /* const char ** */ - ret = el_wget(el, op, va_arg(ap, const char **)); - break; - - case EL_SIGNAL: /* int * */ - case EL_EDITMODE: - case EL_UNBUFFERED: - case EL_PREP_TERM: - ret = el_wget(el, op, va_arg(ap, int *)); - break; - - case EL_GETTC: { - char *argv[20]; - static char gettc[] = "gettc"; - int i; - for (i = 1; i < (int)__arraycount(argv); ++i) - if ((argv[i] = va_arg(ap, char *)) == NULL) - break; - argv[0] = gettc; - ret = terminal_gettc(el, i, argv); - break; - } - - case EL_GETCFN: /* el_rfunc_t */ - ret = el_wget(el, op, va_arg(ap, el_rfunc_t *)); - break; - - case EL_CLIENTDATA: /* void ** */ - ret = el_wget(el, op, va_arg(ap, void **)); - break; - - case EL_GETFP: { /* int, FILE ** */ - int what = va_arg(ap, int); - FILE **fpp = va_arg(ap, FILE **); - ret = el_wget(el, op, what, fpp); - break; - } - - default: - ret = -1; - break; - } - - va_end(ap); - return ret; -} - - -const LineInfo * -el_line(EditLine *el) -{ - const LineInfoW *winfo = el_wline(el); - LineInfo *info = &el->el_lgcylinfo; - size_t offset; - const wchar_t *p; - - info->buffer = ct_encode_string(winfo->buffer, &el->el_lgcyconv); - - offset = 0; - for (p = winfo->buffer; p < winfo->cursor; p++) - offset += ct_enc_width(*p); - info->cursor = info->buffer + offset; - - offset = 0; - for (p = winfo->buffer; p < winfo->lastchar; p++) - offset += ct_enc_width(*p); - info->lastchar = info->buffer + offset; - - return info; -} - - -int -el_insertstr(EditLine *el, const char *str) -{ - return el_winsertstr(el, ct_decode_string(str, &el->el_lgcyconv)); -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/emacs.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/emacs.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/emacs.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/emacs.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,512 +0,0 @@ -/* $NetBSD: emacs.c,v 1.36 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)emacs.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: emacs.c,v 1.36 2016/05/09 21:46:56 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * emacs.c: Emacs functions - */ -#include - -#include "el.h" -#include "emacs.h" -#include "fcns.h" - -/* em_delete_or_list(): - * Delete character under cursor or list completions if at end of line - * [^D] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_delete_or_list(EditLine *el, wint_t c) -{ - - if (el->el_line.cursor == el->el_line.lastchar) { - /* if I'm at the end */ - if (el->el_line.cursor == el->el_line.buffer) { - /* and the beginning */ - terminal_writec(el, c); /* then do an EOF */ - return CC_EOF; - } else { - /* - * Here we could list completions, but it is an - * error right now - */ - terminal_beep(el); - return CC_ERROR; - } - } else { - if (el->el_state.doingarg) - c_delafter(el, el->el_state.argument); - else - c_delafter1(el); - if (el->el_line.cursor > el->el_line.lastchar) - el->el_line.cursor = el->el_line.lastchar; - /* bounds check */ - return CC_REFRESH; - } -} - - -/* em_delete_next_word(): - * Cut from cursor to end of current word - * [M-d] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_delete_next_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *cp, *p, *kp; - - if (el->el_line.cursor == el->el_line.lastchar) - return CC_ERROR; - - cp = c__next_word(el->el_line.cursor, el->el_line.lastchar, - el->el_state.argument, ce__isword); - - for (p = el->el_line.cursor, kp = el->el_chared.c_kill.buf; p < cp; p++) - /* save the text */ - *kp++ = *p; - el->el_chared.c_kill.last = kp; - - c_delafter(el, (int)(cp - el->el_line.cursor)); /* delete after dot */ - if (el->el_line.cursor > el->el_line.lastchar) - el->el_line.cursor = el->el_line.lastchar; - /* bounds check */ - return CC_REFRESH; -} - - -/* em_yank(): - * Paste cut buffer at cursor position - * [^Y] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_yank(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *kp, *cp; - - if (el->el_chared.c_kill.last == el->el_chared.c_kill.buf) - return CC_NORM; - - if (el->el_line.lastchar + - (el->el_chared.c_kill.last - el->el_chared.c_kill.buf) >= - el->el_line.limit) - return CC_ERROR; - - el->el_chared.c_kill.mark = el->el_line.cursor; - cp = el->el_line.cursor; - - /* open the space, */ - c_insert(el, - (int)(el->el_chared.c_kill.last - el->el_chared.c_kill.buf)); - /* copy the chars */ - for (kp = el->el_chared.c_kill.buf; kp < el->el_chared.c_kill.last; kp++) - *cp++ = *kp; - - /* if an arg, cursor at beginning else cursor at end */ - if (el->el_state.argument == 1) - el->el_line.cursor = cp; - - return CC_REFRESH; -} - - -/* em_kill_line(): - * Cut the entire line and save in cut buffer - * [^U] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_kill_line(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *kp, *cp; - - cp = el->el_line.buffer; - kp = el->el_chared.c_kill.buf; - while (cp < el->el_line.lastchar) - *kp++ = *cp++; /* copy it */ - el->el_chared.c_kill.last = kp; - /* zap! -- delete all of it */ - el->el_line.lastchar = el->el_line.buffer; - el->el_line.cursor = el->el_line.buffer; - return CC_REFRESH; -} - - -/* em_kill_region(): - * Cut area between mark and cursor and save in cut buffer - * [^W] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_kill_region(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *kp, *cp; - - if (!el->el_chared.c_kill.mark) - return CC_ERROR; - - if (el->el_chared.c_kill.mark > el->el_line.cursor) { - cp = el->el_line.cursor; - kp = el->el_chared.c_kill.buf; - while (cp < el->el_chared.c_kill.mark) - *kp++ = *cp++; /* copy it */ - el->el_chared.c_kill.last = kp; - c_delafter(el, (int)(cp - el->el_line.cursor)); - } else { /* mark is before cursor */ - cp = el->el_chared.c_kill.mark; - kp = el->el_chared.c_kill.buf; - while (cp < el->el_line.cursor) - *kp++ = *cp++; /* copy it */ - el->el_chared.c_kill.last = kp; - c_delbefore(el, (int)(cp - el->el_chared.c_kill.mark)); - el->el_line.cursor = el->el_chared.c_kill.mark; - } - return CC_REFRESH; -} - - -/* em_copy_region(): - * Copy area between mark and cursor to cut buffer - * [M-W] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_copy_region(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *kp, *cp; - - if (!el->el_chared.c_kill.mark) - return CC_ERROR; - - if (el->el_chared.c_kill.mark > el->el_line.cursor) { - cp = el->el_line.cursor; - kp = el->el_chared.c_kill.buf; - while (cp < el->el_chared.c_kill.mark) - *kp++ = *cp++; /* copy it */ - el->el_chared.c_kill.last = kp; - } else { - cp = el->el_chared.c_kill.mark; - kp = el->el_chared.c_kill.buf; - while (cp < el->el_line.cursor) - *kp++ = *cp++; /* copy it */ - el->el_chared.c_kill.last = kp; - } - return CC_NORM; -} - - -/* em_gosmacs_transpose(): - * Exchange the two characters before the cursor - * Gosling emacs transpose chars [^T] - */ -libedit_private el_action_t -em_gosmacs_transpose(EditLine *el, wint_t c) -{ - - if (el->el_line.cursor > &el->el_line.buffer[1]) { - /* must have at least two chars entered */ - c = el->el_line.cursor[-2]; - el->el_line.cursor[-2] = el->el_line.cursor[-1]; - el->el_line.cursor[-1] = c; - return CC_REFRESH; - } else - return CC_ERROR; -} - - -/* em_next_word(): - * Move next to end of current word - * [M-f] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_next_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - if (el->el_line.cursor == el->el_line.lastchar) - return CC_ERROR; - - el->el_line.cursor = c__next_word(el->el_line.cursor, - el->el_line.lastchar, - el->el_state.argument, - ce__isword); - - if (el->el_map.type == MAP_VI) - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - - -/* em_upper_case(): - * Uppercase the characters from cursor to end of current word - * [M-u] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_upper_case(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *cp, *ep; - - ep = c__next_word(el->el_line.cursor, el->el_line.lastchar, - el->el_state.argument, ce__isword); - - for (cp = el->el_line.cursor; cp < ep; cp++) - if (iswlower(*cp)) - *cp = towupper(*cp); - - el->el_line.cursor = ep; - if (el->el_line.cursor > el->el_line.lastchar) - el->el_line.cursor = el->el_line.lastchar; - return CC_REFRESH; -} - - -/* em_capitol_case(): - * Capitalize the characters from cursor to end of current word - * [M-c] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_capitol_case(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *cp, *ep; - - ep = c__next_word(el->el_line.cursor, el->el_line.lastchar, - el->el_state.argument, ce__isword); - - for (cp = el->el_line.cursor; cp < ep; cp++) { - if (iswalpha(*cp)) { - if (iswlower(*cp)) - *cp = towupper(*cp); - cp++; - break; - } - } - for (; cp < ep; cp++) - if (iswupper(*cp)) - *cp = towlower(*cp); - - el->el_line.cursor = ep; - if (el->el_line.cursor > el->el_line.lastchar) - el->el_line.cursor = el->el_line.lastchar; - return CC_REFRESH; -} - - -/* em_lower_case(): - * Lowercase the characters from cursor to end of current word - * [M-l] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_lower_case(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *cp, *ep; - - ep = c__next_word(el->el_line.cursor, el->el_line.lastchar, - el->el_state.argument, ce__isword); - - for (cp = el->el_line.cursor; cp < ep; cp++) - if (iswupper(*cp)) - *cp = towlower(*cp); - - el->el_line.cursor = ep; - if (el->el_line.cursor > el->el_line.lastchar) - el->el_line.cursor = el->el_line.lastchar; - return CC_REFRESH; -} - - -/* em_set_mark(): - * Set the mark at cursor - * [^@] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_set_mark(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_chared.c_kill.mark = el->el_line.cursor; - return CC_NORM; -} - - -/* em_exchange_mark(): - * Exchange the cursor and mark - * [^X^X] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_exchange_mark(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *cp; - - cp = el->el_line.cursor; - el->el_line.cursor = el->el_chared.c_kill.mark; - el->el_chared.c_kill.mark = cp; - return CC_CURSOR; -} - - -/* em_universal_argument(): - * Universal argument (argument times 4) - * [^U] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_universal_argument(EditLine *el, wint_t c __attribute__((__unused__))) -{ /* multiply current argument by 4 */ - - if (el->el_state.argument > 1000000) - return CC_ERROR; - el->el_state.doingarg = 1; - el->el_state.argument *= 4; - return CC_ARGHACK; -} - - -/* em_meta_next(): - * Add 8th bit to next character typed - * [] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_meta_next(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_state.metanext = 1; - return CC_ARGHACK; -} - - -/* em_toggle_overwrite(): - * Switch from insert to overwrite mode or vice versa - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_toggle_overwrite(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_state.inputmode = (el->el_state.inputmode == MODE_INSERT) ? - MODE_REPLACE : MODE_INSERT; - return CC_NORM; -} - - -/* em_copy_prev_word(): - * Copy current word to cursor - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_copy_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *cp, *oldc, *dp; - - if (el->el_line.cursor == el->el_line.buffer) - return CC_ERROR; - - oldc = el->el_line.cursor; - /* does a bounds check */ - cp = c__prev_word(el->el_line.cursor, el->el_line.buffer, - el->el_state.argument, ce__isword); - - c_insert(el, (int)(oldc - cp)); - for (dp = oldc; cp < oldc && dp < el->el_line.lastchar; cp++) - *dp++ = *cp; - - el->el_line.cursor = dp;/* put cursor at end */ - - return CC_REFRESH; -} - - -/* em_inc_search_next(): - * Emacs incremental next search - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_inc_search_next(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_search.patlen = 0; - return ce_inc_search(el, ED_SEARCH_NEXT_HISTORY); -} - - -/* em_inc_search_prev(): - * Emacs incremental reverse search - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_inc_search_prev(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_search.patlen = 0; - return ce_inc_search(el, ED_SEARCH_PREV_HISTORY); -} - - -/* em_delete_prev_char(): - * Delete the character to the left of the cursor - * [^?] - */ -libedit_private el_action_t -/*ARGSUSED*/ -em_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor <= el->el_line.buffer) - return CC_ERROR; - - if (el->el_state.doingarg) - c_delbefore(el, el->el_state.argument); - else - c_delbefore1(el); - el->el_line.cursor -= el->el_state.argument; - if (el->el_line.cursor < el->el_line.buffer) - el->el_line.cursor = el->el_line.buffer; - return CC_REFRESH; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/filecomplete.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/filecomplete.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/filecomplete.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/filecomplete.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,752 +0,0 @@ -/* $NetBSD: filecomplete.c,v 1.51 2018/05/04 20:38:26 christos Exp $ */ - -/*- - * Copyright (c) 1997 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Jaromir Dolecek. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: filecomplete.c,v 1.51 2018/05/04 20:38:26 christos Exp $"); -#endif /* not lint && not SCCSID */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "el.h" -#include "filecomplete.h" - -static const wchar_t break_chars[] = L" \t\n\"\\'`@$><=;|&{("; - -/********************************/ -/* completion functions */ - -/* - * does tilde expansion of strings of type ``~user/foo'' - * if ``user'' isn't valid user name or ``txt'' doesn't start - * w/ '~', returns pointer to strdup()ed copy of ``txt'' - * - * it's the caller's responsibility to free() the returned string - */ -char * -fn_tilde_expand(const char *txt) -{ -#if defined(HAVE_GETPW_R_POSIX) || defined(HAVE_GETPW_R_DRAFT) - struct passwd pwres; - char pwbuf[1024]; -#endif - struct passwd *pass; - char *temp; - size_t len = 0; - - if (txt[0] != '~') - return strdup(txt); - - temp = strchr(txt + 1, '/'); - if (temp == NULL) { - temp = strdup(txt + 1); - if (temp == NULL) - return NULL; - } else { - /* text until string after slash */ - len = (size_t)(temp - txt + 1); - temp = el_malloc(len * sizeof(*temp)); - if (temp == NULL) - return NULL; - (void)strncpy(temp, txt + 1, len - 2); - temp[len - 2] = '\0'; - } - if (temp[0] == 0) { -#ifdef HAVE_GETPW_R_POSIX - if (getpwuid_r(getuid(), &pwres, pwbuf, sizeof(pwbuf), - &pass) != 0) - pass = NULL; -#elif HAVE_GETPW_R_DRAFT - pass = getpwuid_r(getuid(), &pwres, pwbuf, sizeof(pwbuf)); -#else - pass = getpwuid(getuid()); -#endif - } else { -#ifdef HAVE_GETPW_R_POSIX - if (getpwnam_r(temp, &pwres, pwbuf, sizeof(pwbuf), &pass) != 0) - pass = NULL; -#elif HAVE_GETPW_R_DRAFT - pass = getpwnam_r(temp, &pwres, pwbuf, sizeof(pwbuf)); -#else - pass = getpwnam(temp); -#endif - } - el_free(temp); /* value no more needed */ - if (pass == NULL) - return strdup(txt); - - /* update pointer txt to point at string immedially following */ - /* first slash */ - txt += len; - - len = strlen(pass->pw_dir) + 1 + strlen(txt) + 1; - temp = el_malloc(len * sizeof(*temp)); - if (temp == NULL) - return NULL; - (void)snprintf(temp, len, "%s/%s", pass->pw_dir, txt); - - return temp; -} - -static int -needs_escaping(char c) -{ - switch (c) { - case '\'': - case '"': - case '(': - case ')': - case '\\': - case '<': - case '>': - case '$': - case '#': - case ' ': - case '\n': - case '\t': - case '?': - case ';': - case '`': - case '@': - case '=': - case '|': - case '{': - case '}': - case '&': - case '*': - case '[': - return 1; - default: - return 0; - } -} - -static char * -escape_filename(EditLine * el, const char *filename) -{ - size_t original_len = 0; - size_t escaped_character_count = 0; - size_t offset = 0; - size_t newlen; - const char *s; - char c; - size_t s_quoted = 0; /* does the input contain a single quote */ - size_t d_quoted = 0; /* does the input contain a double quote */ - char *escaped_str; - wchar_t *temp = el->el_line.buffer; - - while (temp != el->el_line.cursor) { - /* - * If we see a single quote but have not seen a double quote so far - * set/unset s_quote - */ - if (temp[0] == '\'' && !d_quoted) - s_quoted = !s_quoted; - /* - * vice versa to the above condition - */ - else if (temp[0] == '"' && !s_quoted) - d_quoted = !d_quoted; - temp++; - } - - /* Count number of special characters so that we can calculate - * number of extra bytes needed in the new string - */ - for (s = filename; *s; s++, original_len++) { - c = *s; - /* Inside a single quote only single quotes need escaping */ - if (s_quoted && c == '\'') { - escaped_character_count += 3; - continue; - } - /* Inside double quotes only ", \, ` and $ need escaping */ - if (d_quoted && (c == '"' || c == '\\' || c == '`' || c == '$')) { - escaped_character_count++; - continue; - } - if (!s_quoted && !d_quoted && needs_escaping(c)) - escaped_character_count++; - } - - newlen = original_len + escaped_character_count + 1; - if ((escaped_str = el_malloc(newlen)) == NULL) - return NULL; - - for (s = filename; *s; s++) { - c = *s; - if (!needs_escaping(c)) { - /* no escaping is required continue as usual */ - escaped_str[offset++] = c; - continue; - } - - /* single quotes inside single quotes require special handling */ - if (c == '\'' && s_quoted) { - escaped_str[offset++] = '\''; - escaped_str[offset++] = '\\'; - escaped_str[offset++] = '\''; - escaped_str[offset++] = '\''; - continue; - } - - /* Otherwise no escaping needed inside single quotes */ - if (s_quoted) { - escaped_str[offset++] = c; - continue; - } - - /* No escaping needed inside a double quoted string either - * unless we see a '$', '\', '`', or '"' (itself) - */ - if (d_quoted && c != '"' && c != '$' && c != '\\' && c != '`') { - escaped_str[offset++] = c; - continue; - } - - /* If we reach here that means escaping is actually needed */ - escaped_str[offset++] = '\\'; - escaped_str[offset++] = c; - } - - /* close the quotes */ - if (s_quoted) - escaped_str[offset++] = '\''; - else if (d_quoted) - escaped_str[offset++] = '"'; - - escaped_str[offset] = 0; - return escaped_str; -} - -/* - * return first found file name starting by the ``text'' or NULL if no - * such file can be found - * value of ``state'' is ignored - * - * it's the caller's responsibility to free the returned string - */ -char * -fn_filename_completion_function(const char *text, int state) -{ - static DIR *dir = NULL; - static char *filename = NULL, *dirname = NULL, *dirpath = NULL; - static size_t filename_len = 0; - struct dirent *entry; - char *temp; - size_t len; - - if (state == 0 || dir == NULL) { - temp = strrchr(text, '/'); - if (temp) { - char *nptr; - temp++; - nptr = el_realloc(filename, (strlen(temp) + 1) * - sizeof(*nptr)); - if (nptr == NULL) { - el_free(filename); - filename = NULL; - return NULL; - } - filename = nptr; - (void)strcpy(filename, temp); - len = (size_t)(temp - text); /* including last slash */ - - nptr = el_realloc(dirname, (len + 1) * - sizeof(*nptr)); - if (nptr == NULL) { - el_free(dirname); - dirname = NULL; - return NULL; - } - dirname = nptr; - (void)strncpy(dirname, text, len); - dirname[len] = '\0'; - } else { - el_free(filename); - if (*text == 0) - filename = NULL; - else { - filename = strdup(text); - if (filename == NULL) - return NULL; - } - el_free(dirname); - dirname = NULL; - } - - if (dir != NULL) { - (void)closedir(dir); - dir = NULL; - } - - /* support for ``~user'' syntax */ - - el_free(dirpath); - dirpath = NULL; - if (dirname == NULL) { - if ((dirname = strdup("")) == NULL) - return NULL; - dirpath = strdup("./"); - } else if (*dirname == '~') - dirpath = fn_tilde_expand(dirname); - else - dirpath = strdup(dirname); - - if (dirpath == NULL) - return NULL; - - dir = opendir(dirpath); - if (!dir) - return NULL; /* cannot open the directory */ - - /* will be used in cycle */ - filename_len = filename ? strlen(filename) : 0; - } - - /* find the match */ - while ((entry = readdir(dir)) != NULL) { - /* skip . and .. */ - if (entry->d_name[0] == '.' && (!entry->d_name[1] - || (entry->d_name[1] == '.' && !entry->d_name[2]))) - continue; - if (filename_len == 0) - break; - /* otherwise, get first entry where first */ - /* filename_len characters are equal */ - if (entry->d_name[0] == filename[0] - /* Some dirents have d_namlen, but it is not portable. */ - && strlen(entry->d_name) >= filename_len - && strncmp(entry->d_name, filename, - filename_len) == 0) - break; - } - - if (entry) { /* match found */ - - /* Some dirents have d_namlen, but it is not portable. */ - len = strlen(entry->d_name); - - len = strlen(dirname) + len + 1; - temp = el_malloc(len * sizeof(*temp)); - if (temp == NULL) - return NULL; - (void)snprintf(temp, len, "%s%s", dirname, entry->d_name); - } else { - (void)closedir(dir); - dir = NULL; - temp = NULL; - } - - return temp; -} - - -static const char * -append_char_function(const char *name) -{ - struct stat stbuf; - char *expname = *name == '~' ? fn_tilde_expand(name) : NULL; - const char *rs = " "; - - if (stat(expname ? expname : name, &stbuf) == -1) - goto out; - if (S_ISDIR(stbuf.st_mode)) - rs = "/"; -out: - if (expname) - el_free(expname); - return rs; -} -/* - * returns list of completions for text given - * non-static for readline. - */ -char ** completion_matches(const char *, char *(*)(const char *, int)); -char ** -completion_matches(const char *text, char *(*genfunc)(const char *, int)) -{ - char **match_list = NULL, *retstr, *prevstr; - size_t match_list_len, max_equal, which, i; - size_t matches; - - matches = 0; - match_list_len = 1; - while ((retstr = (*genfunc) (text, (int)matches)) != NULL) { - /* allow for list terminator here */ - if (matches + 3 >= match_list_len) { - char **nmatch_list; - while (matches + 3 >= match_list_len) - match_list_len <<= 1; - nmatch_list = el_realloc(match_list, - match_list_len * sizeof(*nmatch_list)); - if (nmatch_list == NULL) { - el_free(match_list); - return NULL; - } - match_list = nmatch_list; - - } - match_list[++matches] = retstr; - } - - if (!match_list) - return NULL; /* nothing found */ - - /* find least denominator and insert it to match_list[0] */ - which = 2; - prevstr = match_list[1]; - max_equal = strlen(prevstr); - for (; which <= matches; which++) { - for (i = 0; i < max_equal && - prevstr[i] == match_list[which][i]; i++) - continue; - max_equal = i; - } - - retstr = el_malloc((max_equal + 1) * sizeof(*retstr)); - if (retstr == NULL) { - el_free(match_list); - return NULL; - } - (void)strncpy(retstr, match_list[1], max_equal); - retstr[max_equal] = '\0'; - match_list[0] = retstr; - - /* add NULL as last pointer to the array */ - match_list[matches + 1] = NULL; - - return match_list; -} - -/* - * Sort function for qsort(). Just wrapper around strcasecmp(). - */ -static int -_fn_qsort_string_compare(const void *i1, const void *i2) -{ - const char *s1 = ((const char * const *)i1)[0]; - const char *s2 = ((const char * const *)i2)[0]; - - return strcasecmp(s1, s2); -} - -/* - * Display list of strings in columnar format on readline's output stream. - * 'matches' is list of strings, 'num' is number of strings in 'matches', - * 'width' is maximum length of string in 'matches'. - * - * matches[0] is not one of the match strings, but it is counted in - * num, so the strings are matches[1] *through* matches[num-1]. - */ -void -fn_display_match_list(EditLine * el, char **matches, size_t num, size_t width, - const char *(*app_func) (const char *)) -{ - size_t line, lines, col, cols, thisguy; - int screenwidth = el->el_terminal.t_size.h; - if (app_func == NULL) - app_func = append_char_function; - - /* Ignore matches[0]. Avoid 1-based array logic below. */ - matches++; - num--; - - /* - * Find out how many entries can be put on one line; count - * with one space between strings the same way it's printed. - */ - cols = (size_t)screenwidth / (width + 1); - if (cols == 0) - cols = 1; - - /* how many lines of output, rounded up */ - lines = (num + cols - 1) / cols; - - /* Sort the items. */ - qsort(matches, num, sizeof(char *), _fn_qsort_string_compare); - - /* - * On the ith line print elements i, i+lines, i+lines*2, etc. - */ - for (line = 0; line < lines; line++) { - for (col = 0; col < cols; col++) { - thisguy = line + col * lines; - if (thisguy >= num) - break; - (void)fprintf(el->el_outfile, "%s%s%s", - col == 0 ? "" : " ", matches[thisguy], - append_char_function(matches[thisguy])); - (void)fprintf(el->el_outfile, "%-*s", - (int) (width - strlen(matches[thisguy])), ""); - } - (void)fprintf(el->el_outfile, "\n"); - } -} - -static wchar_t * -find_word_to_complete(const wchar_t * cursor, const wchar_t * buffer, - const wchar_t * word_break, const wchar_t * special_prefixes, size_t * length) -{ - /* We now look backwards for the start of a filename/variable word */ - const wchar_t *ctemp = cursor; - int cursor_at_quote; - size_t len; - wchar_t *temp; - - /* if the cursor is placed at a slash or a quote, we need to find the - * word before it - */ - if (ctemp > buffer) { - switch (ctemp[-1]) { - case '\\': - case '\'': - case '"': - cursor_at_quote = 1; - ctemp--; - break; - default: - cursor_at_quote = 0; - } - } else - cursor_at_quote = 0; - - while (ctemp > buffer - && !wcschr(word_break, ctemp[-1]) - && (!special_prefixes || !wcschr(special_prefixes, ctemp[-1]))) - ctemp--; - - len = (size_t) (cursor - ctemp - cursor_at_quote); - temp = el_malloc((len + 1) * sizeof(*temp)); - if (temp == NULL) - return NULL; - (void) wcsncpy(temp, ctemp, len); - temp[len] = '\0'; - if (cursor_at_quote) - len++; - *length = len; - return temp; -} - -/* - * Complete the word at or before point, - * 'what_to_do' says what to do with the completion. - * \t means do standard completion. - * `?' means list the possible completions. - * `*' means insert all of the possible completions. - * `!' means to do standard completion, and list all possible completions if - * there is more than one. - * - * Note: '*' support is not implemented - * '!' could never be invoked - */ -int -fn_complete(EditLine *el, - char *(*complet_func)(const char *, int), - char **(*attempted_completion_function)(const char *, int, int), - const wchar_t *word_break, const wchar_t *special_prefixes, - const char *(*app_func)(const char *), size_t query_items, - int *completion_type, int *over, int *point, int *end) -{ - const LineInfoW *li; - wchar_t *temp; - char **matches; - size_t len; - int what_to_do = '\t'; - int retval = CC_NORM; - - if (el->el_state.lastcmd == el->el_state.thiscmd) - what_to_do = '?'; - - /* readline's rl_complete() has to be told what we did... */ - if (completion_type != NULL) - *completion_type = what_to_do; - - if (!complet_func) - complet_func = fn_filename_completion_function; - if (!app_func) - app_func = append_char_function; - - li = el_wline(el); - temp = find_word_to_complete(li->cursor, - li->buffer, word_break, special_prefixes, &len); - if (temp == NULL) - goto out; - - /* these can be used by function called in completion_matches() */ - /* or (*attempted_completion_function)() */ - if (point != NULL) - *point = (int)(li->cursor - li->buffer); - if (end != NULL) - *end = (int)(li->lastchar - li->buffer); - - if (attempted_completion_function) { - int cur_off = (int)(li->cursor - li->buffer); - matches = (*attempted_completion_function)( - ct_encode_string(temp, &el->el_scratch), - cur_off - (int)len, cur_off); - } else - matches = NULL; - if (!attempted_completion_function || - (over != NULL && !*over && !matches)) - matches = completion_matches( - ct_encode_string(temp, &el->el_scratch), complet_func); - - if (over != NULL) - *over = 0; - - if (matches) { - int i; - size_t matches_num, maxlen, match_len, match_display=1; - int single_match = matches[2] == NULL && - (matches[1] == NULL || strcmp(matches[0], matches[1]) == 0); - - retval = CC_REFRESH; - - if (matches[0][0] != '\0') { - el_deletestr(el, (int) len); - if (single_match) { - /* - * We found exact match. Add a space after - * it, unless we do filename completion and the - * object is a directory. Also do necessary escape quoting - */ - char *escaped_completion = escape_filename(el, matches[0]); - if (escaped_completion == NULL) - goto out; - el_winsertstr(el, - ct_decode_string(escaped_completion, &el->el_scratch)); - el_winsertstr(el, - ct_decode_string((*app_func)(escaped_completion), - &el->el_scratch)); - free(escaped_completion); - } else { - /* - * Only replace the completed string with common part of - * possible matches if there is possible completion. - */ - el_winsertstr(el, - ct_decode_string(matches[0], &el->el_scratch)); - } - } - - - if (!single_match && (what_to_do == '!' || what_to_do == '?')) { - /* - * More than one match and requested to list possible - * matches. - */ - - for(i = 1, maxlen = 0; matches[i]; i++) { - match_len = strlen(matches[i]); - if (match_len > maxlen) - maxlen = match_len; - } - /* matches[1] through matches[i-1] are available */ - matches_num = (size_t)(i - 1); - - /* newline to get on next line from command line */ - (void)fprintf(el->el_outfile, "\n"); - - /* - * If there are too many items, ask user for display - * confirmation. - */ - if (matches_num > query_items) { - (void)fprintf(el->el_outfile, - "Display all %zu possibilities? (y or n) ", - matches_num); - (void)fflush(el->el_outfile); - if (getc(stdin) != 'y') - match_display = 0; - (void)fprintf(el->el_outfile, "\n"); - } - - if (match_display) { - /* - * Interface of this function requires the - * strings be matches[1..num-1] for compat. - * We have matches_num strings not counting - * the prefix in matches[0], so we need to - * add 1 to matches_num for the call. - */ - fn_display_match_list(el, matches, - matches_num+1, maxlen, app_func); - } - retval = CC_REDISPLAY; - } else if (matches[0][0]) { - /* - * There was some common match, but the name was - * not complete enough. Next tab will print possible - * completions. - */ - el_beep(el); - } else { - /* lcd is not a valid object - further specification */ - /* is needed */ - el_beep(el); - retval = CC_NORM; - } - - /* free elements of array and the array itself */ - for (i = 0; matches[i]; i++) - el_free(matches[i]); - el_free(matches); - matches = NULL; - } - -out: - el_free(temp); - return retval; -} - -/* - * el-compatible wrapper around rl_complete; needed for key binding - */ -/* ARGSUSED */ -unsigned char -_el_fn_complete(EditLine *el, int ch __attribute__((__unused__))) -{ - return (unsigned char)fn_complete(el, NULL, NULL, - break_chars, NULL, NULL, (size_t)100, - NULL, NULL, NULL, NULL); -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/filecomplete.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/filecomplete.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/filecomplete.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/filecomplete.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -/* $NetBSD: filecomplete.h,v 1.11 2017/04/21 05:38:03 abhinav Exp $ */ - -/*- - * Copyright (c) 1997 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Jaromir Dolecek. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -#ifndef _FILECOMPLETE_H_ -#define _FILECOMPLETE_H_ - -int fn_complete(EditLine *, - char *(*)(const char *, int), - char **(*)(const char *, int, int), - const wchar_t *, const wchar_t *, const char *(*)(const char *), size_t, - int *, int *, int *, int *); - -void fn_display_match_list(EditLine *, char **, size_t, size_t, - const char *(*)(const char *)); -char *fn_tilde_expand(const char *); -char *fn_filename_completion_function(const char *, int); - -#endif diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/hist.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/hist.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/hist.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/hist.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,252 +0,0 @@ -/* $NetBSD: hist.c,v 1.32 2017/03/05 19:23:58 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)hist.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: hist.c,v 1.32 2017/03/05 19:23:58 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * hist.c: History access functions - */ -#include -#include -#include - -#include "el.h" - -/* hist_init(): - * Initialization function. - */ -libedit_private int -hist_init(EditLine *el) -{ - - el->el_history.fun = NULL; - el->el_history.ref = NULL; - el->el_history.buf = el_malloc(EL_BUFSIZ * sizeof(*el->el_history.buf)); - el->el_history.sz = EL_BUFSIZ; - if (el->el_history.buf == NULL) - return -1; - el->el_history.last = el->el_history.buf; - return 0; -} - - -/* hist_end(): - * clean up history; - */ -libedit_private void -hist_end(EditLine *el) -{ - - el_free(el->el_history.buf); - el->el_history.buf = NULL; -} - - -/* hist_set(): - * Set new history interface - */ -libedit_private int -hist_set(EditLine *el, hist_fun_t fun, void *ptr) -{ - - el->el_history.ref = ptr; - el->el_history.fun = fun; - return 0; -} - - -/* hist_get(): - * Get a history line and update it in the buffer. - * eventno tells us the event to get. - */ -libedit_private el_action_t -hist_get(EditLine *el) -{ - const wchar_t *hp; - int h; - size_t blen, hlen; - - if (el->el_history.eventno == 0) { /* if really the current line */ - (void) wcsncpy(el->el_line.buffer, el->el_history.buf, - el->el_history.sz); - el->el_line.lastchar = el->el_line.buffer + - (el->el_history.last - el->el_history.buf); - -#ifdef KSHVI - if (el->el_map.type == MAP_VI) - el->el_line.cursor = el->el_line.buffer; - else -#endif /* KSHVI */ - el->el_line.cursor = el->el_line.lastchar; - - return CC_REFRESH; - } - if (el->el_history.ref == NULL) - return CC_ERROR; - - hp = HIST_FIRST(el); - - if (hp == NULL) - return CC_ERROR; - - for (h = 1; h < el->el_history.eventno; h++) - if ((hp = HIST_NEXT(el)) == NULL) - goto out; - - hlen = wcslen(hp) + 1; - blen = (size_t)(el->el_line.limit - el->el_line.buffer); - if (hlen > blen && !ch_enlargebufs(el, hlen)) - goto out; - - memcpy(el->el_line.buffer, hp, hlen * sizeof(*hp)); - el->el_line.lastchar = el->el_line.buffer + hlen - 1; - - if (el->el_line.lastchar > el->el_line.buffer - && el->el_line.lastchar[-1] == '\n') - el->el_line.lastchar--; - if (el->el_line.lastchar > el->el_line.buffer - && el->el_line.lastchar[-1] == ' ') - el->el_line.lastchar--; -#ifdef KSHVI - if (el->el_map.type == MAP_VI) - el->el_line.cursor = el->el_line.buffer; - else -#endif /* KSHVI */ - el->el_line.cursor = el->el_line.lastchar; - - return CC_REFRESH; -out: - el->el_history.eventno = h; - return CC_ERROR; - -} - - -/* hist_command() - * process a history command - */ -libedit_private int -hist_command(EditLine *el, int argc, const wchar_t **argv) -{ - const wchar_t *str; - int num; - HistEventW ev; - - if (el->el_history.ref == NULL) - return -1; - - if (argc == 1 || wcscmp(argv[1], L"list") == 0) { - size_t maxlen = 0; - char *buf = NULL; - int hno = 1; - /* List history entries */ - - for (str = HIST_LAST(el); str != NULL; str = HIST_PREV(el)) { - char *ptr = - ct_encode_string(str, &el->el_scratch); - size_t len = strlen(ptr); - if (len > 0 && ptr[len - 1] == '\n') - ptr[--len] = '\0'; - len = len * 4 + 1; - if (len >= maxlen) { - maxlen = len + 1024; - char *nbuf = el_realloc(buf, maxlen); - if (nbuf == NULL) { - el_free(buf); - return -1; - } - buf = nbuf; - } - strvis(buf, ptr, VIS_NL); - (void) fprintf(el->el_outfile, "%d\t%s\n", - hno++, buf); - } - el_free(buf); - return 0; - } - - if (argc != 3) - return -1; - - num = (int)wcstol(argv[2], NULL, 0); - - if (wcscmp(argv[1], L"size") == 0) - return history_w(el->el_history.ref, &ev, H_SETSIZE, num); - - if (wcscmp(argv[1], L"unique") == 0) - return history_w(el->el_history.ref, &ev, H_SETUNIQUE, num); - - return -1; -} - -/* hist_enlargebuf() - * Enlarge history buffer to specified value. Called from el_enlargebufs(). - * Return 0 for failure, 1 for success. - */ -libedit_private int -/*ARGSUSED*/ -hist_enlargebuf(EditLine *el, size_t oldsz, size_t newsz) -{ - wchar_t *newbuf; - - newbuf = el_realloc(el->el_history.buf, newsz * sizeof(*newbuf)); - if (!newbuf) - return 0; - - (void) memset(&newbuf[oldsz], '\0', (newsz - oldsz) * sizeof(*newbuf)); - - el->el_history.last = newbuf + - (el->el_history.last - el->el_history.buf); - el->el_history.buf = newbuf; - el->el_history.sz = newsz; - - return 1; -} - -libedit_private wchar_t * -hist_convert(EditLine *el, int fn, void *arg) -{ - HistEventW ev; - if ((*(el)->el_history.fun)((el)->el_history.ref, &ev, fn, arg) == -1) - return NULL; - return ct_decode_string((const char *)(const void *)ev.str, - &el->el_scratch); -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/histedit.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/histedit.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/histedit.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/histedit.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,314 +0,0 @@ -/* $NetBSD: histedit.h,v 1.57 2017/09/01 10:19:10 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)histedit.h 8.2 (Berkeley) 1/3/94 - */ - -/* - * histedit.h: Line editor and history interface. - */ -#ifndef _HISTEDIT_H_ -#define _HISTEDIT_H_ - -#define LIBEDIT_MAJOR 2 -#define LIBEDIT_MINOR 11 - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * ==== Editing ==== - */ - -typedef struct editline EditLine; - -/* - * For user-defined function interface - */ -typedef struct lineinfo { - const char *buffer; - const char *cursor; - const char *lastchar; -} LineInfo; - -/* - * EditLine editor function return codes. - * For user-defined function interface - */ -#define CC_NORM 0 -#define CC_NEWLINE 1 -#define CC_EOF 2 -#define CC_ARGHACK 3 -#define CC_REFRESH 4 -#define CC_CURSOR 5 -#define CC_ERROR 6 -#define CC_FATAL 7 -#define CC_REDISPLAY 8 -#define CC_REFRESH_BEEP 9 - -/* - * Initialization, cleanup, and resetting - */ -EditLine *el_init(const char *, FILE *, FILE *, FILE *); -EditLine *el_init_fd(const char *, FILE *, FILE *, FILE *, - int, int, int); -void el_end(EditLine *); -void el_reset(EditLine *); - -/* - * Get a line, a character or push a string back in the input queue - */ -const char *el_gets(EditLine *, int *); -int el_getc(EditLine *, char *); -void el_push(EditLine *, const char *); - -/* - * Beep! - */ -void el_beep(EditLine *); - -/* - * High level function internals control - * Parses argc, argv array and executes builtin editline commands - */ -int el_parse(EditLine *, int, const char **); - -/* - * Low level editline access functions - */ -int el_set(EditLine *, int, ...); -int el_get(EditLine *, int, ...); -unsigned char _el_fn_complete(EditLine *, int); - -/* - * el_set/el_get parameters - * - * When using el_wset/el_wget (as opposed to el_set/el_get): - * Char is wchar_t, otherwise it is char. - * prompt_func is el_wpfunc_t, otherwise it is el_pfunc_t . - - * Prompt function prototypes are: - * typedef char *(*el_pfunct_t) (EditLine *); - * typedef wchar_t *(*el_wpfunct_t) (EditLine *); - * - * For operations that support set or set/get, the argument types listed are for - * the "set" operation. For "get", each listed type must be a pointer. - * E.g. EL_EDITMODE takes an int when set, but an int* when get. - * - * Operations that only support "get" have the correct argument types listed. - */ -#define EL_PROMPT 0 /* , prompt_func); set/get */ -#define EL_TERMINAL 1 /* , const char *); set/get */ -#define EL_EDITOR 2 /* , const Char *); set/get */ -#define EL_SIGNAL 3 /* , int); set/get */ -#define EL_BIND 4 /* , const Char *, ..., NULL); set */ -#define EL_TELLTC 5 /* , const Char *, ..., NULL); set */ -#define EL_SETTC 6 /* , const Char *, ..., NULL); set */ -#define EL_ECHOTC 7 /* , const Char *, ..., NULL); set */ -#define EL_SETTY 8 /* , const Char *, ..., NULL); set */ -#define EL_ADDFN 9 /* , const Char *, const Char, set */ - /* el_func_t); */ -#define EL_HIST 10 /* , hist_fun_t, const void *); set */ -#define EL_EDITMODE 11 /* , int); set/get */ -#define EL_RPROMPT 12 /* , prompt_func); set/get */ -#define EL_GETCFN 13 /* , el_rfunc_t); set/get */ -#define EL_CLIENTDATA 14 /* , void *); set/get */ -#define EL_UNBUFFERED 15 /* , int); set/get */ -#define EL_PREP_TERM 16 /* , int); set */ -#define EL_GETTC 17 /* , const Char *, ..., NULL); get */ -#define EL_GETFP 18 /* , int, FILE **); get */ -#define EL_SETFP 19 /* , int, FILE *); set */ -#define EL_REFRESH 20 /* , void); set */ -#define EL_PROMPT_ESC 21 /* , prompt_func, Char); set/get */ -#define EL_RPROMPT_ESC 22 /* , prompt_func, Char); set/get */ -#define EL_RESIZE 23 /* , el_zfunc_t, void *); set */ -#define EL_ALIAS_TEXT 24 /* , el_afunc_t, void *); set */ - -#define EL_BUILTIN_GETCFN (NULL) - -/* - * Source named file or $PWD/.editrc or $HOME/.editrc - */ -int el_source(EditLine *, const char *); - -/* - * Must be called when the terminal changes size; If EL_SIGNAL - * is set this is done automatically otherwise it is the responsibility - * of the application - */ -void el_resize(EditLine *); - -/* - * User-defined function interface. - */ -const LineInfo *el_line(EditLine *); -int el_insertstr(EditLine *, const char *); -void el_deletestr(EditLine *, int); - - -/* - * ==== History ==== - */ - -typedef struct history History; - -typedef struct HistEvent { - int num; - const char *str; -} HistEvent; - -/* - * History access functions. - */ -History * history_init(void); -void history_end(History *); - -int history(History *, HistEvent *, int, ...); - -#define H_FUNC 0 /* , UTSL */ -#define H_SETSIZE 1 /* , const int); */ -#define H_GETSIZE 2 /* , void); */ -#define H_FIRST 3 /* , void); */ -#define H_LAST 4 /* , void); */ -#define H_PREV 5 /* , void); */ -#define H_NEXT 6 /* , void); */ -#define H_CURR 8 /* , const int); */ -#define H_SET 7 /* , int); */ -#define H_ADD 9 /* , const wchar_t *); */ -#define H_ENTER 10 /* , const wchar_t *); */ -#define H_APPEND 11 /* , const wchar_t *); */ -#define H_END 12 /* , void); */ -#define H_NEXT_STR 13 /* , const wchar_t *); */ -#define H_PREV_STR 14 /* , const wchar_t *); */ -#define H_NEXT_EVENT 15 /* , const int); */ -#define H_PREV_EVENT 16 /* , const int); */ -#define H_LOAD 17 /* , const char *); */ -#define H_SAVE 18 /* , const char *); */ -#define H_CLEAR 19 /* , void); */ -#define H_SETUNIQUE 20 /* , int); */ -#define H_GETUNIQUE 21 /* , void); */ -#define H_DEL 22 /* , int); */ -#define H_NEXT_EVDATA 23 /* , const int, histdata_t *); */ -#define H_DELDATA 24 /* , int, histdata_t *);*/ -#define H_REPLACE 25 /* , const char *, histdata_t); */ -#define H_SAVE_FP 26 /* , FILE *); */ -#define H_NSAVE_FP 27 /* , size_t, FILE *); */ - - - -/* - * ==== Tokenization ==== - */ - -typedef struct tokenizer Tokenizer; - -/* - * String tokenization functions, using simplified sh(1) quoting rules - */ -Tokenizer *tok_init(const char *); -void tok_end(Tokenizer *); -void tok_reset(Tokenizer *); -int tok_line(Tokenizer *, const LineInfo *, - int *, const char ***, int *, int *); -int tok_str(Tokenizer *, const char *, - int *, const char ***); - -/* - * Begin Wide Character Support - */ -#include -#include - -/* - * ==== Editing ==== - */ -typedef struct lineinfow { - const wchar_t *buffer; - const wchar_t *cursor; - const wchar_t *lastchar; -} LineInfoW; - -typedef int (*el_rfunc_t)(EditLine *, wchar_t *); - -const wchar_t *el_wgets(EditLine *, int *); -int el_wgetc(EditLine *, wchar_t *); -void el_wpush(EditLine *, const wchar_t *); - -int el_wparse(EditLine *, int, const wchar_t **); - -int el_wset(EditLine *, int, ...); -int el_wget(EditLine *, int, ...); - -int el_cursor(EditLine *, int); -const LineInfoW *el_wline(EditLine *); -int el_winsertstr(EditLine *, const wchar_t *); -#define el_wdeletestr el_deletestr - -/* - * ==== History ==== - */ -typedef struct histeventW { - int num; - const wchar_t *str; -} HistEventW; - -typedef struct historyW HistoryW; - -HistoryW * history_winit(void); -void history_wend(HistoryW *); - -int history_w(HistoryW *, HistEventW *, int, ...); - -/* - * ==== Tokenization ==== - */ -typedef struct tokenizerW TokenizerW; - -/* Wide character tokenizer support */ -TokenizerW *tok_winit(const wchar_t *); -void tok_wend(TokenizerW *); -void tok_wreset(TokenizerW *); -int tok_wline(TokenizerW *, const LineInfoW *, - int *, const wchar_t ***, int *, int *); -int tok_wstr(TokenizerW *, const wchar_t *, - int *, const wchar_t ***); - -#ifdef __cplusplus -} -#endif - -#endif /* _HISTEDIT_H_ */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/hist.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/hist.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/hist.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/hist.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,80 +0,0 @@ -/* $NetBSD: hist.h,v 1.23 2017/09/01 10:19:10 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)hist.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.hist.c: History functions - */ -#ifndef _h_el_hist -#define _h_el_hist - -typedef int (*hist_fun_t)(void *, HistEventW *, int, ...); - -typedef struct el_history_t { - wchar_t *buf; /* The history buffer */ - size_t sz; /* Size of history buffer */ - wchar_t *last; /* The last character */ - int eventno; /* Event we are looking for */ - void *ref; /* Argument for history fcns */ - hist_fun_t fun; /* Event access */ - HistEventW ev; /* Event cookie */ -} el_history_t; - -#define HIST_FUN_INTERNAL(el, fn, arg) \ - ((((*(el)->el_history.fun) ((el)->el_history.ref, &(el)->el_history.ev, \ - fn, arg)) == -1) ? NULL : (el)->el_history.ev.str) -#define HIST_FUN(el, fn, arg) \ - (((el)->el_flags & NARROW_HISTORY) ? hist_convert(el, fn, arg) : \ - HIST_FUN_INTERNAL(el, fn, arg)) - -#define HIST_NEXT(el) HIST_FUN(el, H_NEXT, NULL) -#define HIST_FIRST(el) HIST_FUN(el, H_FIRST, NULL) -#define HIST_LAST(el) HIST_FUN(el, H_LAST, NULL) -#define HIST_PREV(el) HIST_FUN(el, H_PREV, NULL) -#define HIST_SET(el, num) HIST_FUN(el, H_SET, num) -#define HIST_LOAD(el, fname) HIST_FUN(el, H_LOAD fname) -#define HIST_SAVE(el, fname) HIST_FUN(el, H_SAVE fname) -#define HIST_SAVE_FP(el, fp) HIST_FUN(el, H_SAVE_FP, fp) -#define HIST_NSAVE_FP(el, n, fp) HIST_FUN(el, H_NSAVE_FP, n, fp) - -libedit_private int hist_init(EditLine *); -libedit_private void hist_end(EditLine *); -libedit_private el_action_t hist_get(EditLine *); -libedit_private int hist_set(EditLine *, hist_fun_t, void *); -libedit_private int hist_command(EditLine *, int, const wchar_t **); -libedit_private int hist_enlargebuf(EditLine *, size_t, size_t); -libedit_private wchar_t *hist_convert(EditLine *, int, void *); - -#endif /* _h_el_hist */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/history.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/history.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/history.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/history.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1184 +0,0 @@ -/* $NetBSD: history.c,v 1.62 2018/09/13 09:03:40 kre Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef NARROWCHAR -#include "config.h" -#endif - -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)history.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: history.c,v 1.62 2018/09/13 09:03:40 kre Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * hist.c: TYPE(History) access functions - */ -#include -#include -#include -#include -#include - -static const char hist_cookie[] = "_HiStOrY_V2_\n"; - -#include "histedit.h" - - -#ifdef NARROWCHAR - -#define Char char -#define FUN(prefix, rest) prefix ## _ ## rest -#define FUNW(type) type -#define TYPE(type) type -#define STR(x) x - -#define Strlen(s) strlen(s) -#define Strdup(s) strdup(s) -#define Strcmp(d, s) strcmp(d, s) -#define Strncmp(d, s, n) strncmp(d, s, n) -#define Strncpy(d, s, n) strncpy(d, s, n) -#define Strncat(d, s, n) strncat(d, s, n) -#define ct_decode_string(s, b) (s) -#define ct_encode_string(s, b) (s) - -#else -#include "chartype.h" - -#define Char wchar_t -#define FUN(prefix, rest) prefix ## _w ## rest -#define FUNW(type) type ## _w -#define TYPE(type) type ## W -#define STR(x) L ## x - -#define Strlen(s) wcslen(s) -#define Strdup(s) wcsdup(s) -#define Strcmp(d, s) wcscmp(d, s) -#define Strncmp(d, s, n) wcsncmp(d, s, n) -#define Strncpy(d, s, n) wcsncpy(d, s, n) -#define Strncat(d, s, n) wcsncat(d, s, n) - -#endif - - -typedef int (*history_gfun_t)(void *, TYPE(HistEvent) *); -typedef int (*history_efun_t)(void *, TYPE(HistEvent) *, const Char *); -typedef void (*history_vfun_t)(void *, TYPE(HistEvent) *); -typedef int (*history_sfun_t)(void *, TYPE(HistEvent) *, const int); - -struct TYPE(history) { - void *h_ref; /* Argument for history fcns */ - int h_ent; /* Last entry point for history */ - history_gfun_t h_first; /* Get the first element */ - history_gfun_t h_next; /* Get the next element */ - history_gfun_t h_last; /* Get the last element */ - history_gfun_t h_prev; /* Get the previous element */ - history_gfun_t h_curr; /* Get the current element */ - history_sfun_t h_set; /* Set the current element */ - history_sfun_t h_del; /* Set the given element */ - history_vfun_t h_clear; /* Clear the history list */ - history_efun_t h_enter; /* Add an element */ - history_efun_t h_add; /* Append to an element */ -}; - -#define HNEXT(h, ev) (*(h)->h_next)((h)->h_ref, ev) -#define HFIRST(h, ev) (*(h)->h_first)((h)->h_ref, ev) -#define HPREV(h, ev) (*(h)->h_prev)((h)->h_ref, ev) -#define HLAST(h, ev) (*(h)->h_last)((h)->h_ref, ev) -#define HCURR(h, ev) (*(h)->h_curr)((h)->h_ref, ev) -#define HSET(h, ev, n) (*(h)->h_set)((h)->h_ref, ev, n) -#define HCLEAR(h, ev) (*(h)->h_clear)((h)->h_ref, ev) -#define HENTER(h, ev, str) (*(h)->h_enter)((h)->h_ref, ev, str) -#define HADD(h, ev, str) (*(h)->h_add)((h)->h_ref, ev, str) -#define HDEL(h, ev, n) (*(h)->h_del)((h)->h_ref, ev, n) - -#define h_strdup(a) Strdup(a) -#define h_malloc(a) malloc(a) -#define h_realloc(a, b) realloc((a), (b)) -#define h_free(a) free(a) - -typedef struct { - int num; - Char *str; -} HistEventPrivate; - - -static int history_setsize(TYPE(History) *, TYPE(HistEvent) *, int); -static int history_getsize(TYPE(History) *, TYPE(HistEvent) *); -static int history_setunique(TYPE(History) *, TYPE(HistEvent) *, int); -static int history_getunique(TYPE(History) *, TYPE(HistEvent) *); -static int history_set_fun(TYPE(History) *, TYPE(History) *); -static int history_load(TYPE(History) *, const char *); -static int history_save(TYPE(History) *, const char *); -static int history_save_fp(TYPE(History) *, size_t, FILE *); -static int history_prev_event(TYPE(History) *, TYPE(HistEvent) *, int); -static int history_next_event(TYPE(History) *, TYPE(HistEvent) *, int); -static int history_next_string(TYPE(History) *, TYPE(HistEvent) *, - const Char *); -static int history_prev_string(TYPE(History) *, TYPE(HistEvent) *, - const Char *); - - -/***********************************************************************/ - -/* - * Builtin- history implementation - */ -typedef struct hentry_t { - TYPE(HistEvent) ev; /* What we return */ - void *data; /* data */ - struct hentry_t *next; /* Next entry */ - struct hentry_t *prev; /* Previous entry */ -} hentry_t; - -typedef struct history_t { - hentry_t list; /* Fake list header element */ - hentry_t *cursor; /* Current element in the list */ - int max; /* Maximum number of events */ - int cur; /* Current number of events */ - int eventid; /* For generation of unique event id */ - int flags; /* TYPE(History) flags */ -#define H_UNIQUE 1 /* Store only unique elements */ -} history_t; - -static int history_def_next(void *, TYPE(HistEvent) *); -static int history_def_first(void *, TYPE(HistEvent) *); -static int history_def_prev(void *, TYPE(HistEvent) *); -static int history_def_last(void *, TYPE(HistEvent) *); -static int history_def_curr(void *, TYPE(HistEvent) *); -static int history_def_set(void *, TYPE(HistEvent) *, const int); -static void history_def_clear(void *, TYPE(HistEvent) *); -static int history_def_enter(void *, TYPE(HistEvent) *, const Char *); -static int history_def_add(void *, TYPE(HistEvent) *, const Char *); -static int history_def_del(void *, TYPE(HistEvent) *, const int); - -static int history_def_init(void **, TYPE(HistEvent) *, int); -static int history_def_insert(history_t *, TYPE(HistEvent) *, const Char *); -static void history_def_delete(history_t *, TYPE(HistEvent) *, hentry_t *); - -static int history_deldata_nth(history_t *, TYPE(HistEvent) *, int, void **); -static int history_set_nth(void *, TYPE(HistEvent) *, int); - -#define history_def_setsize(p, num)(void) (((history_t *)p)->max = (num)) -#define history_def_getsize(p) (((history_t *)p)->cur) -#define history_def_getunique(p) (((((history_t *)p)->flags) & H_UNIQUE) != 0) -#define history_def_setunique(p, uni) \ - if (uni) \ - (((history_t *)p)->flags) |= H_UNIQUE; \ - else \ - (((history_t *)p)->flags) &= ~H_UNIQUE - -#define he_strerror(code) he_errlist[code] -#define he_seterrev(evp, code) {\ - evp->num = code;\ - evp->str = he_strerror(code);\ - } - -/* error messages */ -static const Char *const he_errlist[] = { - STR("OK"), - STR("unknown error"), - STR("malloc() failed"), - STR("first event not found"), - STR("last event not found"), - STR("empty list"), - STR("no next event"), - STR("no previous event"), - STR("current event is invalid"), - STR("event not found"), - STR("can't read history from file"), - STR("can't write history"), - STR("required parameter(s) not supplied"), - STR("history size negative"), - STR("function not allowed with other history-functions-set the default"), - STR("bad parameters") -}; -/* error codes */ -#define _HE_OK 0 -#define _HE_UNKNOWN 1 -#define _HE_MALLOC_FAILED 2 -#define _HE_FIRST_NOTFOUND 3 -#define _HE_LAST_NOTFOUND 4 -#define _HE_EMPTY_LIST 5 -#define _HE_END_REACHED 6 -#define _HE_START_REACHED 7 -#define _HE_CURR_INVALID 8 -#define _HE_NOT_FOUND 9 -#define _HE_HIST_READ 10 -#define _HE_HIST_WRITE 11 -#define _HE_PARAM_MISSING 12 -#define _HE_SIZE_NEGATIVE 13 -#define _HE_NOT_ALLOWED 14 -#define _HE_BAD_PARAM 15 - -/* history_def_first(): - * Default function to return the first event in the history. - */ -static int -history_def_first(void *p, TYPE(HistEvent) *ev) -{ - history_t *h = (history_t *) p; - - h->cursor = h->list.next; - if (h->cursor != &h->list) - *ev = h->cursor->ev; - else { - he_seterrev(ev, _HE_FIRST_NOTFOUND); - return -1; - } - - return 0; -} - - -/* history_def_last(): - * Default function to return the last event in the history. - */ -static int -history_def_last(void *p, TYPE(HistEvent) *ev) -{ - history_t *h = (history_t *) p; - - h->cursor = h->list.prev; - if (h->cursor != &h->list) - *ev = h->cursor->ev; - else { - he_seterrev(ev, _HE_LAST_NOTFOUND); - return -1; - } - - return 0; -} - - -/* history_def_next(): - * Default function to return the next event in the history. - */ -static int -history_def_next(void *p, TYPE(HistEvent) *ev) -{ - history_t *h = (history_t *) p; - - if (h->cursor == &h->list) { - he_seterrev(ev, _HE_EMPTY_LIST); - return -1; - } - - if (h->cursor->next == &h->list) { - he_seterrev(ev, _HE_END_REACHED); - return -1; - } - - h->cursor = h->cursor->next; - *ev = h->cursor->ev; - - return 0; -} - - -/* history_def_prev(): - * Default function to return the previous event in the history. - */ -static int -history_def_prev(void *p, TYPE(HistEvent) *ev) -{ - history_t *h = (history_t *) p; - - if (h->cursor == &h->list) { - he_seterrev(ev, - (h->cur > 0) ? _HE_END_REACHED : _HE_EMPTY_LIST); - return -1; - } - - if (h->cursor->prev == &h->list) { - he_seterrev(ev, _HE_START_REACHED); - return -1; - } - - h->cursor = h->cursor->prev; - *ev = h->cursor->ev; - - return 0; -} - - -/* history_def_curr(): - * Default function to return the current event in the history. - */ -static int -history_def_curr(void *p, TYPE(HistEvent) *ev) -{ - history_t *h = (history_t *) p; - - if (h->cursor != &h->list) - *ev = h->cursor->ev; - else { - he_seterrev(ev, - (h->cur > 0) ? _HE_CURR_INVALID : _HE_EMPTY_LIST); - return -1; - } - - return 0; -} - - -/* history_def_set(): - * Default function to set the current event in the history to the - * given one. - */ -static int -history_def_set(void *p, TYPE(HistEvent) *ev, const int n) -{ - history_t *h = (history_t *) p; - - if (h->cur == 0) { - he_seterrev(ev, _HE_EMPTY_LIST); - return -1; - } - if (h->cursor == &h->list || h->cursor->ev.num != n) { - for (h->cursor = h->list.next; h->cursor != &h->list; - h->cursor = h->cursor->next) - if (h->cursor->ev.num == n) - break; - } - if (h->cursor == &h->list) { - he_seterrev(ev, _HE_NOT_FOUND); - return -1; - } - return 0; -} - - -/* history_set_nth(): - * Default function to set the current event in the history to the - * n-th one. - */ -static int -history_set_nth(void *p, TYPE(HistEvent) *ev, int n) -{ - history_t *h = (history_t *) p; - - if (h->cur == 0) { - he_seterrev(ev, _HE_EMPTY_LIST); - return -1; - } - for (h->cursor = h->list.prev; h->cursor != &h->list; - h->cursor = h->cursor->prev) - if (n-- <= 0) - break; - if (h->cursor == &h->list) { - he_seterrev(ev, _HE_NOT_FOUND); - return -1; - } - return 0; -} - - -/* history_def_add(): - * Append string to element - */ -static int -history_def_add(void *p, TYPE(HistEvent) *ev, const Char *str) -{ - history_t *h = (history_t *) p; - size_t len; - Char *s; - HistEventPrivate *evp = (void *)&h->cursor->ev; - - if (h->cursor == &h->list) - return history_def_enter(p, ev, str); - len = Strlen(evp->str) + Strlen(str) + 1; - s = h_malloc(len * sizeof(*s)); - if (s == NULL) { - he_seterrev(ev, _HE_MALLOC_FAILED); - return -1; - } - (void) Strncpy(s, h->cursor->ev.str, len); - s[len - 1] = '\0'; -// Strlen(s) == len - 1 -// len - (len - 1) - 1 == 0 -// so we comment out this, to get rid of a [-Wstringop-overflow=] -// (void) Strncat(s, str, len - Strlen(s) - 1); - h_free(evp->str); - evp->str = s; - *ev = h->cursor->ev; - return 0; -} - - -static int -history_deldata_nth(history_t *h, TYPE(HistEvent) *ev, - int num, void **data) -{ - if (history_set_nth(h, ev, num) != 0) - return -1; - /* magic value to skip delete (just set to n-th history) */ - if (data == (void **)-1) - return 0; - ev->str = Strdup(h->cursor->ev.str); - ev->num = h->cursor->ev.num; - if (data) - *data = h->cursor->data; - history_def_delete(h, ev, h->cursor); - return 0; -} - - -/* history_def_del(): - * Delete element hp of the h list - */ -/* ARGSUSED */ -static int -history_def_del(void *p, TYPE(HistEvent) *ev __attribute__((__unused__)), - const int num) -{ - history_t *h = (history_t *) p; - if (history_def_set(h, ev, num) != 0) - return -1; - ev->str = Strdup(h->cursor->ev.str); - ev->num = h->cursor->ev.num; - history_def_delete(h, ev, h->cursor); - return 0; -} - - -/* history_def_delete(): - * Delete element hp of the h list - */ -/* ARGSUSED */ -static void -history_def_delete(history_t *h, - TYPE(HistEvent) *ev __attribute__((__unused__)), hentry_t *hp) -{ - HistEventPrivate *evp = (void *)&hp->ev; - if (hp == &h->list) - abort(); - if (h->cursor == hp) { - h->cursor = hp->prev; - if (h->cursor == &h->list) - h->cursor = hp->next; - } - hp->prev->next = hp->next; - hp->next->prev = hp->prev; - h_free(evp->str); - h_free(hp); - h->cur--; -} - - -/* history_def_insert(): - * Insert element with string str in the h list - */ -static int -history_def_insert(history_t *h, TYPE(HistEvent) *ev, const Char *str) -{ - hentry_t *c; - - c = h_malloc(sizeof(*c)); - if (c == NULL) - goto oomem; - if ((c->ev.str = h_strdup(str)) == NULL) { - h_free(c); - goto oomem; - } - c->data = NULL; - c->ev.num = ++h->eventid; - c->next = h->list.next; - c->prev = &h->list; - h->list.next->prev = c; - h->list.next = c; - h->cur++; - h->cursor = c; - - *ev = c->ev; - return 0; -oomem: - he_seterrev(ev, _HE_MALLOC_FAILED); - return -1; -} - - -/* history_def_enter(): - * Default function to enter an item in the history - */ -static int -history_def_enter(void *p, TYPE(HistEvent) *ev, const Char *str) -{ - history_t *h = (history_t *) p; - - if ((h->flags & H_UNIQUE) != 0 && h->list.next != &h->list && - Strcmp(h->list.next->ev.str, str) == 0) - return 0; - - if (history_def_insert(h, ev, str) == -1) - return -1; /* error, keep error message */ - - /* - * Always keep at least one entry. - * This way we don't have to check for the empty list. - */ - while (h->cur > h->max && h->cur > 0) - history_def_delete(h, ev, h->list.prev); - - return 1; -} - - -/* history_def_init(): - * Default history initialization function - */ -/* ARGSUSED */ -static int -history_def_init(void **p, TYPE(HistEvent) *ev __attribute__((__unused__)), int n) -{ - history_t *h = (history_t *) h_malloc(sizeof(*h)); - if (h == NULL) - return -1; - - if (n <= 0) - n = 0; - h->eventid = 0; - h->cur = 0; - h->max = n; - h->list.next = h->list.prev = &h->list; - h->list.ev.str = NULL; - h->list.ev.num = 0; - h->cursor = &h->list; - h->flags = 0; - *p = h; - return 0; -} - - -/* history_def_clear(): - * Default history cleanup function - */ -static void -history_def_clear(void *p, TYPE(HistEvent) *ev) -{ - history_t *h = (history_t *) p; - - while (h->list.prev != &h->list) - history_def_delete(h, ev, h->list.prev); - h->cursor = &h->list; - h->eventid = 0; - h->cur = 0; -} - - - - -/************************************************************************/ - -/* history_init(): - * Initialization function. - */ -TYPE(History) * -FUN(history,init)(void) -{ - TYPE(HistEvent) ev; - TYPE(History) *h = (TYPE(History) *) h_malloc(sizeof(*h)); - if (h == NULL) - return NULL; - - if (history_def_init(&h->h_ref, &ev, 0) == -1) { - h_free(h); - return NULL; - } - h->h_ent = -1; - h->h_next = history_def_next; - h->h_first = history_def_first; - h->h_last = history_def_last; - h->h_prev = history_def_prev; - h->h_curr = history_def_curr; - h->h_set = history_def_set; - h->h_clear = history_def_clear; - h->h_enter = history_def_enter; - h->h_add = history_def_add; - h->h_del = history_def_del; - - return h; -} - - -/* history_end(): - * clean up history; - */ -void -FUN(history,end)(TYPE(History) *h) -{ - TYPE(HistEvent) ev; - - if (h->h_next == history_def_next) - history_def_clear(h->h_ref, &ev); - h_free(h->h_ref); - h_free(h); -} - - - -/* history_setsize(): - * Set history number of events - */ -static int -history_setsize(TYPE(History) *h, TYPE(HistEvent) *ev, int num) -{ - - if (h->h_next != history_def_next) { - he_seterrev(ev, _HE_NOT_ALLOWED); - return -1; - } - if (num < 0) { - he_seterrev(ev, _HE_BAD_PARAM); - return -1; - } - history_def_setsize(h->h_ref, num); - return 0; -} - - -/* history_getsize(): - * Get number of events currently in history - */ -static int -history_getsize(TYPE(History) *h, TYPE(HistEvent) *ev) -{ - if (h->h_next != history_def_next) { - he_seterrev(ev, _HE_NOT_ALLOWED); - return -1; - } - ev->num = history_def_getsize(h->h_ref); - if (ev->num < -1) { - he_seterrev(ev, _HE_SIZE_NEGATIVE); - return -1; - } - return 0; -} - - -/* history_setunique(): - * Set if adjacent equal events should not be entered in history. - */ -static int -history_setunique(TYPE(History) *h, TYPE(HistEvent) *ev, int uni) -{ - - if (h->h_next != history_def_next) { - he_seterrev(ev, _HE_NOT_ALLOWED); - return -1; - } - history_def_setunique(h->h_ref, uni); - return 0; -} - - -/* history_getunique(): - * Get if adjacent equal events should not be entered in history. - */ -static int -history_getunique(TYPE(History) *h, TYPE(HistEvent) *ev) -{ - if (h->h_next != history_def_next) { - he_seterrev(ev, _HE_NOT_ALLOWED); - return -1; - } - ev->num = history_def_getunique(h->h_ref); - return 0; -} - - -/* history_set_fun(): - * Set history functions - */ -static int -history_set_fun(TYPE(History) *h, TYPE(History) *nh) -{ - TYPE(HistEvent) ev; - - if (nh->h_first == NULL || nh->h_next == NULL || nh->h_last == NULL || - nh->h_prev == NULL || nh->h_curr == NULL || nh->h_set == NULL || - nh->h_enter == NULL || nh->h_add == NULL || nh->h_clear == NULL || - nh->h_del == NULL || nh->h_ref == NULL) { - if (h->h_next != history_def_next) { - if (history_def_init(&h->h_ref, &ev, 0) == -1) - return -1; - h->h_first = history_def_first; - h->h_next = history_def_next; - h->h_last = history_def_last; - h->h_prev = history_def_prev; - h->h_curr = history_def_curr; - h->h_set = history_def_set; - h->h_clear = history_def_clear; - h->h_enter = history_def_enter; - h->h_add = history_def_add; - h->h_del = history_def_del; - } - return -1; - } - if (h->h_next == history_def_next) - history_def_clear(h->h_ref, &ev); - - h->h_ent = -1; - h->h_first = nh->h_first; - h->h_next = nh->h_next; - h->h_last = nh->h_last; - h->h_prev = nh->h_prev; - h->h_curr = nh->h_curr; - h->h_set = nh->h_set; - h->h_clear = nh->h_clear; - h->h_enter = nh->h_enter; - h->h_add = nh->h_add; - h->h_del = nh->h_del; - - return 0; -} - - -/* history_load(): - * TYPE(History) load function - */ -static int -history_load(TYPE(History) *h, const char *fname) -{ - FILE *fp; - char *line; - size_t llen; - ssize_t sz; - size_t max_size; - char *ptr; - int i = -1; - TYPE(HistEvent) ev; - Char *decode_result; -#ifndef NARROWCHAR - static ct_buffer_t conv; -#endif - - if ((fp = fopen(fname, "r")) == NULL) - return i; - - line = NULL; - llen = 0; - if ((sz = getline(&line, &llen, fp)) == -1) - goto done; - - if (strncmp(line, hist_cookie, (size_t)sz) != 0) - goto done; - - ptr = h_malloc((max_size = 1024) * sizeof(*ptr)); - if (ptr == NULL) - goto done; - for (i = 0; (sz = getline(&line, &llen, fp)) != -1; i++) { - if (sz > 0 && line[sz - 1] == '\n') - line[--sz] = '\0'; - if (max_size < (size_t)sz) { - char *nptr; - max_size = ((size_t)sz + 1024) & (size_t)~1023; - nptr = h_realloc(ptr, max_size * sizeof(*ptr)); - if (nptr == NULL) { - i = -1; - goto oomem; - } - ptr = nptr; - } - (void) strunvis(ptr, line); - decode_result = ct_decode_string(ptr, &conv); - if (decode_result == NULL) - continue; - if (HENTER(h, &ev, decode_result) == -1) { - i = -1; - goto oomem; - } - } -oomem: - h_free(ptr); -done: - free(line); - (void) fclose(fp); - return i; -} - - -/* history_save_fp(): - * TYPE(History) save function - */ -static int -history_save_fp(TYPE(History) *h, size_t nelem, FILE *fp) -{ - TYPE(HistEvent) ev; - int i = -1, retval; - size_t len, max_size; - char *ptr; - const char *str; -#ifndef NARROWCHAR - static ct_buffer_t conv; -#endif - - if (fchmod(fileno(fp), S_IRUSR|S_IWUSR) == -1) - goto done; - if (ftell(fp) == 0 && fputs(hist_cookie, fp) == EOF) - goto done; - ptr = h_malloc((max_size = 1024) * sizeof(*ptr)); - if (ptr == NULL) - goto done; - if (nelem != (size_t)-1) { - for (retval = HFIRST(h, &ev); retval != -1 && nelem-- > 0; - retval = HNEXT(h, &ev)) - continue; - } else - retval = -1; - - if (retval == -1) - retval = HLAST(h, &ev); - - for (i = 0; retval != -1; retval = HPREV(h, &ev), i++) { - str = ct_encode_string(ev.str, &conv); - len = strlen(str) * 4 + 1; - if (len > max_size) { - char *nptr; - max_size = (len + 1024) & (size_t)~1023; - nptr = h_realloc(ptr, max_size * sizeof(*ptr)); - if (nptr == NULL) { - i = -1; - goto oomem; - } - ptr = nptr; - } - (void) strvis(ptr, str, VIS_WHITE); - (void) fprintf(fp, "%s\n", ptr); - } -oomem: - h_free(ptr); -done: - return i; -} - - -/* history_save(): - * History save function - */ -static int -history_save(TYPE(History) *h, const char *fname) -{ - FILE *fp; - int i; - - if ((fp = fopen(fname, "w")) == NULL) - return -1; - - i = history_save_fp(h, (size_t)-1, fp); - - (void) fclose(fp); - return i; -} - - -/* history_prev_event(): - * Find the previous event, with number given - */ -static int -history_prev_event(TYPE(History) *h, TYPE(HistEvent) *ev, int num) -{ - int retval; - - for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev)) - if (ev->num == num) - return 0; - - he_seterrev(ev, _HE_NOT_FOUND); - return -1; -} - - -static int -history_next_evdata(TYPE(History) *h, TYPE(HistEvent) *ev, int num, void **d) -{ - int retval; - - for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev)) - if (ev->num == num) { - if (d) - *d = ((history_t *)h->h_ref)->cursor->data; - return 0; - } - - he_seterrev(ev, _HE_NOT_FOUND); - return -1; -} - - -/* history_next_event(): - * Find the next event, with number given - */ -static int -history_next_event(TYPE(History) *h, TYPE(HistEvent) *ev, int num) -{ - int retval; - - for (retval = HCURR(h, ev); retval != -1; retval = HNEXT(h, ev)) - if (ev->num == num) - return 0; - - he_seterrev(ev, _HE_NOT_FOUND); - return -1; -} - - -/* history_prev_string(): - * Find the previous event beginning with string - */ -static int -history_prev_string(TYPE(History) *h, TYPE(HistEvent) *ev, const Char *str) -{ - size_t len = Strlen(str); - int retval; - - for (retval = HCURR(h, ev); retval != -1; retval = HNEXT(h, ev)) - if (Strncmp(str, ev->str, len) == 0) - return 0; - - he_seterrev(ev, _HE_NOT_FOUND); - return -1; -} - - -/* history_next_string(): - * Find the next event beginning with string - */ -static int -history_next_string(TYPE(History) *h, TYPE(HistEvent) *ev, const Char *str) -{ - size_t len = Strlen(str); - int retval; - - for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev)) - if (Strncmp(str, ev->str, len) == 0) - return 0; - - he_seterrev(ev, _HE_NOT_FOUND); - return -1; -} - - -/* history(): - * User interface to history functions. - */ -int -FUNW(history)(TYPE(History) *h, TYPE(HistEvent) *ev, int fun, ...) -{ - va_list va; - const Char *str; - int retval; - - va_start(va, fun); - - he_seterrev(ev, _HE_OK); - - switch (fun) { - case H_GETSIZE: - retval = history_getsize(h, ev); - break; - - case H_SETSIZE: - retval = history_setsize(h, ev, va_arg(va, int)); - break; - - case H_GETUNIQUE: - retval = history_getunique(h, ev); - break; - - case H_SETUNIQUE: - retval = history_setunique(h, ev, va_arg(va, int)); - break; - - case H_ADD: - str = va_arg(va, const Char *); - retval = HADD(h, ev, str); - break; - - case H_DEL: - retval = HDEL(h, ev, va_arg(va, const int)); - break; - - case H_ENTER: - str = va_arg(va, const Char *); - if ((retval = HENTER(h, ev, str)) != -1) - h->h_ent = ev->num; - break; - - case H_APPEND: - str = va_arg(va, const Char *); - if ((retval = HSET(h, ev, h->h_ent)) != -1) - retval = HADD(h, ev, str); - break; - - case H_FIRST: - retval = HFIRST(h, ev); - break; - - case H_NEXT: - retval = HNEXT(h, ev); - break; - - case H_LAST: - retval = HLAST(h, ev); - break; - - case H_PREV: - retval = HPREV(h, ev); - break; - - case H_CURR: - retval = HCURR(h, ev); - break; - - case H_SET: - retval = HSET(h, ev, va_arg(va, const int)); - break; - - case H_CLEAR: - HCLEAR(h, ev); - retval = 0; - break; - - case H_LOAD: - retval = history_load(h, va_arg(va, const char *)); - if (retval == -1) - he_seterrev(ev, _HE_HIST_READ); - break; - - case H_SAVE: - retval = history_save(h, va_arg(va, const char *)); - if (retval == -1) - he_seterrev(ev, _HE_HIST_WRITE); - break; - - case H_SAVE_FP: - retval = history_save_fp(h, (size_t)-1, va_arg(va, FILE *)); - if (retval == -1) - he_seterrev(ev, _HE_HIST_WRITE); - break; - - case H_NSAVE_FP: - { - size_t sz = va_arg(va, size_t); - retval = history_save_fp(h, sz, va_arg(va, FILE *)); - if (retval == -1) - he_seterrev(ev, _HE_HIST_WRITE); - break; - } - - case H_PREV_EVENT: - retval = history_prev_event(h, ev, va_arg(va, int)); - break; - - case H_NEXT_EVENT: - retval = history_next_event(h, ev, va_arg(va, int)); - break; - - case H_PREV_STR: - retval = history_prev_string(h, ev, va_arg(va, const Char *)); - break; - - case H_NEXT_STR: - retval = history_next_string(h, ev, va_arg(va, const Char *)); - break; - - case H_FUNC: - { - TYPE(History) hf; - - hf.h_ref = va_arg(va, void *); - h->h_ent = -1; - hf.h_first = va_arg(va, history_gfun_t); - hf.h_next = va_arg(va, history_gfun_t); - hf.h_last = va_arg(va, history_gfun_t); - hf.h_prev = va_arg(va, history_gfun_t); - hf.h_curr = va_arg(va, history_gfun_t); - hf.h_set = va_arg(va, history_sfun_t); - hf.h_clear = va_arg(va, history_vfun_t); - hf.h_enter = va_arg(va, history_efun_t); - hf.h_add = va_arg(va, history_efun_t); - hf.h_del = va_arg(va, history_sfun_t); - - if ((retval = history_set_fun(h, &hf)) == -1) - he_seterrev(ev, _HE_PARAM_MISSING); - break; - } - - case H_END: - FUN(history,end)(h); - retval = 0; - break; - - case H_NEXT_EVDATA: - { - int num = va_arg(va, int); - void **d = va_arg(va, void **); - retval = history_next_evdata(h, ev, num, d); - break; - } - - case H_DELDATA: - { - int num = va_arg(va, int); - void **d = va_arg(va, void **); - retval = history_deldata_nth((history_t *)h->h_ref, ev, num, d); - break; - } - - case H_REPLACE: /* only use after H_NEXT_EVDATA */ - { - const Char *line = va_arg(va, const Char *); - void *d = va_arg(va, void *); - const Char *s; - if(!line || !(s = Strdup(line))) { - retval = -1; - break; - } - ((history_t *)h->h_ref)->cursor->ev.str = s; - ((history_t *)h->h_ref)->cursor->data = d; - retval = 0; - break; - } - - default: - retval = -1; - he_seterrev(ev, _HE_UNKNOWN); - break; - } - va_end(va); - return retval; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/historyn.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/historyn.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/historyn.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/historyn.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#include "config.h" -#define NARROWCHAR -#include "history.c" diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/keymacro.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/keymacro.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/keymacro.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/keymacro.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,669 +0,0 @@ -/* $NetBSD: keymacro.c,v 1.23 2016/05/24 15:00:45 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)key.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: keymacro.c,v 1.23 2016/05/24 15:00:45 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * keymacro.c: This module contains the procedures for maintaining - * the extended-key map. - * - * An extended-key (key) is a sequence of keystrokes introduced - * with a sequence introducer and consisting of an arbitrary - * number of characters. This module maintains a map (the - * el->el_keymacro.map) - * to convert these extended-key sequences into input strs - * (XK_STR) or editor functions (XK_CMD). - * - * Warning: - * If key is a substr of some other keys, then the longer - * keys are lost!! That is, if the keys "abcd" and "abcef" - * are in el->el_keymacro.map, adding the key "abc" will cause - * the first two definitions to be lost. - * - * Restrictions: - * ------------- - * 1) It is not possible to have one key that is a - * substr of another. - */ -#include -#include - -#include "el.h" -#include "fcns.h" - -/* - * The Nodes of the el->el_keymacro.map. The el->el_keymacro.map is a - * linked list of these node elements - */ -struct keymacro_node_t { - wchar_t ch; /* single character of key */ - int type; /* node type */ - keymacro_value_t val; /* command code or pointer to str, */ - /* if this is a leaf */ - struct keymacro_node_t *next; /* ptr to next char of this key */ - struct keymacro_node_t *sibling;/* ptr to another key with same prefix*/ -}; - -static int node_trav(EditLine *, keymacro_node_t *, wchar_t *, - keymacro_value_t *); -static int node__try(EditLine *, keymacro_node_t *, - const wchar_t *, keymacro_value_t *, int); -static keymacro_node_t *node__get(wint_t); -static void node__free(keymacro_node_t *); -static void node__put(EditLine *, keymacro_node_t *); -static int node__delete(EditLine *, keymacro_node_t **, - const wchar_t *); -static int node_lookup(EditLine *, const wchar_t *, - keymacro_node_t *, size_t); -static int node_enum(EditLine *, keymacro_node_t *, size_t); - -#define KEY_BUFSIZ EL_BUFSIZ - - -/* keymacro_init(): - * Initialize the key maps - */ -libedit_private int -keymacro_init(EditLine *el) -{ - - el->el_keymacro.buf = el_malloc(KEY_BUFSIZ * - sizeof(*el->el_keymacro.buf)); - if (el->el_keymacro.buf == NULL) - return -1; - el->el_keymacro.map = NULL; - keymacro_reset(el); - return 0; -} - -/* keymacro_end(): - * Free the key maps - */ -libedit_private void -keymacro_end(EditLine *el) -{ - - el_free(el->el_keymacro.buf); - el->el_keymacro.buf = NULL; - node__free(el->el_keymacro.map); -} - - -/* keymacro_map_cmd(): - * Associate cmd with a key value - */ -libedit_private keymacro_value_t * -keymacro_map_cmd(EditLine *el, int cmd) -{ - - el->el_keymacro.val.cmd = (el_action_t) cmd; - return &el->el_keymacro.val; -} - - -/* keymacro_map_str(): - * Associate str with a key value - */ -libedit_private keymacro_value_t * -keymacro_map_str(EditLine *el, wchar_t *str) -{ - - el->el_keymacro.val.str = str; - return &el->el_keymacro.val; -} - - -/* keymacro_reset(): - * Takes all nodes on el->el_keymacro.map and puts them on free list. - * Then initializes el->el_keymacro.map with arrow keys - * [Always bind the ansi arrow keys?] - */ -libedit_private void -keymacro_reset(EditLine *el) -{ - - node__put(el, el->el_keymacro.map); - el->el_keymacro.map = NULL; - return; -} - - -/* keymacro_get(): - * Calls the recursive function with entry point el->el_keymacro.map - * Looks up *ch in map and then reads characters until a - * complete match is found or a mismatch occurs. Returns the - * type of the match found (XK_STR or XK_CMD). - * Returns NULL in val.str and XK_STR for no match. - * Returns XK_NOD for end of file or read error. - * The last character read is returned in *ch. - */ -libedit_private int -keymacro_get(EditLine *el, wchar_t *ch, keymacro_value_t *val) -{ - - return node_trav(el, el->el_keymacro.map, ch, val); -} - - -/* keymacro_add(): - * Adds key to the el->el_keymacro.map and associates the value in - * val with it. If key is already is in el->el_keymacro.map, the new - * code is applied to the existing key. Ntype specifies if code is a - * command, an out str or a unix command. - */ -libedit_private void -keymacro_add(EditLine *el, const wchar_t *key, keymacro_value_t *val, - int ntype) -{ - - if (key[0] == '\0') { - (void) fprintf(el->el_errfile, - "keymacro_add: Null extended-key not allowed.\n"); - return; - } - if (ntype == XK_CMD && val->cmd == ED_SEQUENCE_LEAD_IN) { - (void) fprintf(el->el_errfile, - "keymacro_add: sequence-lead-in command not allowed\n"); - return; - } - if (el->el_keymacro.map == NULL) - /* tree is initially empty. Set up new node to match key[0] */ - el->el_keymacro.map = node__get(key[0]); - /* it is properly initialized */ - - /* Now recurse through el->el_keymacro.map */ - (void) node__try(el, el->el_keymacro.map, key, val, ntype); - return; -} - - -/* keymacro_clear(): - * - */ -libedit_private void -keymacro_clear(EditLine *el, el_action_t *map, const wchar_t *in) -{ - if (*in > N_KEYS) /* can't be in the map */ - return; - if ((map[(unsigned char)*in] == ED_SEQUENCE_LEAD_IN) && - ((map == el->el_map.key && - el->el_map.alt[(unsigned char)*in] != ED_SEQUENCE_LEAD_IN) || - (map == el->el_map.alt && - el->el_map.key[(unsigned char)*in] != ED_SEQUENCE_LEAD_IN))) - (void) keymacro_delete(el, in); -} - - -/* keymacro_delete(): - * Delete the key and all longer keys staring with key, if - * they exists. - */ -libedit_private int -keymacro_delete(EditLine *el, const wchar_t *key) -{ - - if (key[0] == '\0') { - (void) fprintf(el->el_errfile, - "keymacro_delete: Null extended-key not allowed.\n"); - return -1; - } - if (el->el_keymacro.map == NULL) - return 0; - - (void) node__delete(el, &el->el_keymacro.map, key); - return 0; -} - - -/* keymacro_print(): - * Print the binding associated with key key. - * Print entire el->el_keymacro.map if null - */ -libedit_private void -keymacro_print(EditLine *el, const wchar_t *key) -{ - - /* do nothing if el->el_keymacro.map is empty and null key specified */ - if (el->el_keymacro.map == NULL && *key == 0) - return; - - el->el_keymacro.buf[0] = '"'; - if (node_lookup(el, key, el->el_keymacro.map, (size_t)1) <= -1) - /* key is not bound */ - (void) fprintf(el->el_errfile, "Unbound extended key \"%ls" - "\"\n", key); - return; -} - - -/* node_trav(): - * recursively traverses node in tree until match or mismatch is - * found. May read in more characters. - */ -static int -node_trav(EditLine *el, keymacro_node_t *ptr, wchar_t *ch, - keymacro_value_t *val) -{ - - if (ptr->ch == *ch) { - /* match found */ - if (ptr->next) { - /* key not complete so get next char */ - if (el_wgetc(el, ch) != 1) - return XK_NOD; - return node_trav(el, ptr->next, ch, val); - } else { - *val = ptr->val; - if (ptr->type != XK_CMD) - *ch = '\0'; - return ptr->type; - } - } else { - /* no match found here */ - if (ptr->sibling) { - /* try next sibling */ - return node_trav(el, ptr->sibling, ch, val); - } else { - /* no next sibling -- mismatch */ - val->str = NULL; - return XK_STR; - } - } -} - - -/* node__try(): - * Find a node that matches *str or allocate a new one - */ -static int -node__try(EditLine *el, keymacro_node_t *ptr, const wchar_t *str, - keymacro_value_t *val, int ntype) -{ - - if (ptr->ch != *str) { - keymacro_node_t *xm; - - for (xm = ptr; xm->sibling != NULL; xm = xm->sibling) - if (xm->sibling->ch == *str) - break; - if (xm->sibling == NULL) - xm->sibling = node__get(*str); /* setup new node */ - ptr = xm->sibling; - } - if (*++str == '\0') { - /* we're there */ - if (ptr->next != NULL) { - node__put(el, ptr->next); - /* lose longer keys with this prefix */ - ptr->next = NULL; - } - switch (ptr->type) { - case XK_CMD: - case XK_NOD: - break; - case XK_STR: - if (ptr->val.str) - el_free(ptr->val.str); - break; - default: - EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", - ptr->type)); - break; - } - - switch (ptr->type = ntype) { - case XK_CMD: - ptr->val = *val; - break; - case XK_STR: - if ((ptr->val.str = wcsdup(val->str)) == NULL) - return -1; - break; - default: - EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", ntype)); - break; - } - } else { - /* still more chars to go */ - if (ptr->next == NULL) - ptr->next = node__get(*str); /* setup new node */ - (void) node__try(el, ptr->next, str, val, ntype); - } - return 0; -} - - -/* node__delete(): - * Delete node that matches str - */ -static int -node__delete(EditLine *el, keymacro_node_t **inptr, const wchar_t *str) -{ - keymacro_node_t *ptr; - keymacro_node_t *prev_ptr = NULL; - - ptr = *inptr; - - if (ptr->ch != *str) { - keymacro_node_t *xm; - - for (xm = ptr; xm->sibling != NULL; xm = xm->sibling) - if (xm->sibling->ch == *str) - break; - if (xm->sibling == NULL) - return 0; - prev_ptr = xm; - ptr = xm->sibling; - } - if (*++str == '\0') { - /* we're there */ - if (prev_ptr == NULL) - *inptr = ptr->sibling; - else - prev_ptr->sibling = ptr->sibling; - ptr->sibling = NULL; - node__put(el, ptr); - return 1; - } else if (ptr->next != NULL && - node__delete(el, &ptr->next, str) == 1) { - if (ptr->next != NULL) - return 0; - if (prev_ptr == NULL) - *inptr = ptr->sibling; - else - prev_ptr->sibling = ptr->sibling; - ptr->sibling = NULL; - node__put(el, ptr); - return 1; - } else { - return 0; - } -} - - -/* node__put(): - * Puts a tree of nodes onto free list using free(3). - */ -static void -node__put(EditLine *el, keymacro_node_t *ptr) -{ - if (ptr == NULL) - return; - - if (ptr->next != NULL) { - node__put(el, ptr->next); - ptr->next = NULL; - } - node__put(el, ptr->sibling); - - switch (ptr->type) { - case XK_CMD: - case XK_NOD: - break; - case XK_STR: - if (ptr->val.str != NULL) - el_free(ptr->val.str); - break; - default: - EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", ptr->type)); - break; - } - el_free(ptr); -} - - -/* node__get(): - * Returns pointer to a keymacro_node_t for ch. - */ -static keymacro_node_t * -node__get(wint_t ch) -{ - keymacro_node_t *ptr; - - ptr = el_malloc(sizeof(*ptr)); - if (ptr == NULL) - return NULL; - ptr->ch = ch; - ptr->type = XK_NOD; - ptr->val.str = NULL; - ptr->next = NULL; - ptr->sibling = NULL; - return ptr; -} - -static void -node__free(keymacro_node_t *k) -{ - if (k == NULL) - return; - node__free(k->sibling); - node__free(k->next); - el_free(k); -} - -/* node_lookup(): - * look for the str starting at node ptr. - * Print if last node - */ -static int -node_lookup(EditLine *el, const wchar_t *str, keymacro_node_t *ptr, - size_t cnt) -{ - ssize_t used; - - if (ptr == NULL) - return -1; /* cannot have null ptr */ - - if (!str || *str == 0) { - /* no more chars in str. node_enum from here. */ - (void) node_enum(el, ptr, cnt); - return 0; - } else { - /* If match put this char into el->el_keymacro.buf. Recurse */ - if (ptr->ch == *str) { - /* match found */ - used = ct_visual_char(el->el_keymacro.buf + cnt, - KEY_BUFSIZ - cnt, ptr->ch); - if (used == -1) - return -1; /* ran out of buffer space */ - if (ptr->next != NULL) - /* not yet at leaf */ - return (node_lookup(el, str + 1, ptr->next, - (size_t)used + cnt)); - else { - /* next node is null so key should be complete */ - if (str[1] == 0) { - size_t px = cnt + (size_t)used; - el->el_keymacro.buf[px] = '"'; - el->el_keymacro.buf[px + 1] = '\0'; - keymacro_kprint(el, el->el_keymacro.buf, - &ptr->val, ptr->type); - return 0; - } else - return -1; - /* mismatch -- str still has chars */ - } - } else { - /* no match found try sibling */ - if (ptr->sibling) - return (node_lookup(el, str, ptr->sibling, - cnt)); - else - return -1; - } - } -} - - -/* node_enum(): - * Traverse the node printing the characters it is bound in buffer - */ -static int -node_enum(EditLine *el, keymacro_node_t *ptr, size_t cnt) -{ - ssize_t used; - - if (cnt >= KEY_BUFSIZ - 5) { /* buffer too small */ - el->el_keymacro.buf[++cnt] = '"'; - el->el_keymacro.buf[++cnt] = '\0'; - (void) fprintf(el->el_errfile, - "Some extended keys too long for internal print buffer"); - (void) fprintf(el->el_errfile, " \"%ls...\"\n", - el->el_keymacro.buf); - return 0; - } - if (ptr == NULL) { -#ifdef DEBUG_EDIT - (void) fprintf(el->el_errfile, - "node_enum: BUG!! Null ptr passed\n!"); -#endif - return -1; - } - /* put this char at end of str */ - used = ct_visual_char(el->el_keymacro.buf + cnt, KEY_BUFSIZ - cnt, - ptr->ch); - if (ptr->next == NULL) { - /* print this key and function */ - el->el_keymacro.buf[cnt + (size_t)used ] = '"'; - el->el_keymacro.buf[cnt + (size_t)used + 1] = '\0'; - keymacro_kprint(el, el->el_keymacro.buf, &ptr->val, ptr->type); - } else - (void) node_enum(el, ptr->next, cnt + (size_t)used); - - /* go to sibling if there is one */ - if (ptr->sibling) - (void) node_enum(el, ptr->sibling, cnt); - return 0; -} - - -/* keymacro_kprint(): - * Print the specified key and its associated - * function specified by val - */ -libedit_private void -keymacro_kprint(EditLine *el, const wchar_t *key, keymacro_value_t *val, - int ntype) -{ - el_bindings_t *fp; - char unparsbuf[EL_BUFSIZ]; - static const char fmt[] = "%-15s-> %s\n"; - - if (val != NULL) - switch (ntype) { - case XK_STR: - (void) keymacro__decode_str(val->str, unparsbuf, - sizeof(unparsbuf), - ntype == XK_STR ? "\"\"" : "[]"); - (void) fprintf(el->el_outfile, fmt, - ct_encode_string(key, &el->el_scratch), unparsbuf); - break; - case XK_CMD: - for (fp = el->el_map.help; fp->name; fp++) - if (val->cmd == fp->func) { - wcstombs(unparsbuf, fp->name, sizeof(unparsbuf)); - unparsbuf[sizeof(unparsbuf) -1] = '\0'; - (void) fprintf(el->el_outfile, fmt, - ct_encode_string(key, &el->el_scratch), unparsbuf); - break; - } -#ifdef DEBUG_KEY - if (fp->name == NULL) - (void) fprintf(el->el_outfile, - "BUG! Command not found.\n"); -#endif - - break; - default: - EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", ntype)); - break; - } - else - (void) fprintf(el->el_outfile, fmt, ct_encode_string(key, - &el->el_scratch), "no input"); -} - - -#define ADDC(c) \ - if (b < eb) \ - *b++ = c; \ - else \ - b++ -/* keymacro__decode_str(): - * Make a printable version of the ey - */ -libedit_private size_t -keymacro__decode_str(const wchar_t *str, char *buf, size_t len, - const char *sep) -{ - char *b = buf, *eb = b + len; - const wchar_t *p; - - b = buf; - if (sep[0] != '\0') { - ADDC(sep[0]); - } - if (*str == '\0') { - ADDC('^'); - ADDC('@'); - goto add_endsep; - } - for (p = str; *p != 0; p++) { - wchar_t dbuf[VISUAL_WIDTH_MAX]; - wchar_t *p2 = dbuf; - ssize_t l = ct_visual_char(dbuf, VISUAL_WIDTH_MAX, *p); - while (l-- > 0) { - ssize_t n = ct_encode_char(b, (size_t)(eb - b), *p2++); - if (n == -1) /* ran out of space */ - goto add_endsep; - else - b += n; - } - } -add_endsep: - if (sep[0] != '\0' && sep[1] != '\0') { - ADDC(sep[1]); - } - ADDC('\0'); - if ((size_t)(b - buf) >= len) - buf[len - 1] = '\0'; - return (size_t)(b - buf); -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/keymacro.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/keymacro.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/keymacro.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/keymacro.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,76 +0,0 @@ -/* $NetBSD: keymacro.h,v 1.6 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)key.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.keymacro.h: Key macro header - */ -#ifndef _h_el_keymacro -#define _h_el_keymacro - -typedef union keymacro_value_t { - el_action_t cmd; /* If it is a command the # */ - wchar_t *str; /* If it is a string... */ -} keymacro_value_t; - -typedef struct keymacro_node_t keymacro_node_t; - -typedef struct el_keymacro_t { - wchar_t *buf; /* Key print buffer */ - keymacro_node_t *map; /* Key map */ - keymacro_value_t val; /* Local conversion buffer */ -} el_keymacro_t; - -#define XK_CMD 0 -#define XK_STR 1 -#define XK_NOD 2 - -libedit_private int keymacro_init(EditLine *); -libedit_private void keymacro_end(EditLine *); -libedit_private keymacro_value_t *keymacro_map_cmd(EditLine *, int); -libedit_private keymacro_value_t *keymacro_map_str(EditLine *, wchar_t *); -libedit_private void keymacro_reset(EditLine *); -libedit_private int keymacro_get(EditLine *, wchar_t *, keymacro_value_t *); -libedit_private void keymacro_add(EditLine *, const wchar_t *, - keymacro_value_t *, int); -libedit_private void keymacro_clear(EditLine *, el_action_t *, const wchar_t *); -libedit_private int keymacro_delete(EditLine *, const wchar_t *); -libedit_private void keymacro_print(EditLine *, const wchar_t *); -libedit_private void keymacro_kprint(EditLine *, const wchar_t *, - keymacro_value_t *, int); -libedit_private size_t keymacro__decode_str(const wchar_t *, char *, size_t, - const char *); - -#endif /* _h_el_keymacro */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/literal.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/literal.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/literal.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/literal.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,138 +0,0 @@ -/* $NetBSD: literal.c,v 1.3 2017/06/30 20:26:52 kre Exp $ */ - -/*- - * Copyright (c) 2017 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Christos Zoulas. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -__RCSID("$NetBSD: literal.c,v 1.3 2017/06/30 20:26:52 kre Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * literal.c: Literal sequences handling. - */ -#include -#include -#include -#include -#include "el.h" - -libedit_private void -literal_init(EditLine *el) -{ - el_literal_t *l = &el->el_literal; - - memset(l, 0, sizeof(*l)); -} - -libedit_private void -literal_end(EditLine *el) -{ - literal_clear(el); -} - -libedit_private void -literal_clear(EditLine *el) -{ - el_literal_t *l = &el->el_literal; - size_t i; - - if (l->l_len == 0) - return; - - for (i = 0; i < l->l_idx; i++) - el_free(l->l_buf[i]); - el_free(l->l_buf); - l->l_buf = NULL; - l->l_len = 0; - l->l_idx = 0; -} - -libedit_private wint_t -literal_add(EditLine *el, const wchar_t *buf, const wchar_t *end, int *wp) -{ - el_literal_t *l = &el->el_literal; - size_t i, len; - ssize_t w, n; - char *b; - - w = wcwidth(end[1]); /* column width of the visible char */ - *wp = (int)w; - - if (w <= 0) /* we require something to be printed */ - return 0; - - len = (size_t)(end - buf); - for (w = 0, i = 0; i < len; i++) - w += ct_enc_width(buf[i]); - w += ct_enc_width(end[1]); - - b = el_malloc((size_t)(w + 1)); - if (b == NULL) - return 0; - - for (n = 0, i = 0; i < len; i++) - n += ct_encode_char(b + n, w - n, buf[i]); - n += ct_encode_char(b + n, w - n, end[1]); - b[n] = '\0'; - - /* - * Then save this literal string in the list of such strings, - * and return a "magic character" to put into the terminal buffer. - * When that magic char is 'printed' the saved string (which includes - * the char that belongs in that position) gets sent instead. - */ - if (l->l_idx == l->l_len) { - char **bp; - - l->l_len += 4; - bp = el_realloc(l->l_buf, sizeof(*l->l_buf) * l->l_len); - if (bp == NULL) { - free(b); - l->l_len -= 4; - return 0; - } - l->l_buf = bp; - } - l->l_buf[l->l_idx++] = b; - return EL_LITERAL | (wint_t)(l->l_idx - 1); -} - -libedit_private const char * -literal_get(EditLine *el, wint_t idx) -{ - el_literal_t *l = &el->el_literal; - - assert(idx & EL_LITERAL); - idx &= ~EL_LITERAL; - assert(l->l_idx > (size_t)idx); - return l->l_buf[idx]; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/literal.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/literal.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/literal.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/literal.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,53 +0,0 @@ -/* $NetBSD: literal.h,v 1.2 2017/06/30 20:26:52 kre Exp $ */ - -/*- - * Copyright (c) 2017 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Christos Zoulas. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * el.literal.h: Literal character - */ -#ifndef _h_el_literal -#define _h_el_literal - -#define EL_LITERAL ((wint_t)0x80000000) - -typedef struct el_literal_t { - char **l_buf; /* array of buffers */ - size_t l_idx; /* max in use */ - size_t l_len; /* max allocated */ -} el_literal_t; - -libedit_private void literal_init(EditLine *); -libedit_private void literal_end(EditLine *); -libedit_private void literal_clear(EditLine *); -libedit_private wint_t literal_add(EditLine *, const wchar_t *, - const wchar_t *, int *); -libedit_private const char *literal_get(EditLine *, wint_t); - -#endif /* _h_el_literal */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/Makefile.am mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/Makefile.am --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/Makefile.am 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ - -BUILT_SOURCES = vi.h emacs.h common.h fcns.h help.h func.h - -AHDR= vi.h emacs.h common.h -ASRC= $(srcdir)/vi.c $(srcdir)/emacs.c $(srcdir)/common.c - -vi.h: Makefile $(srcdir)/vi.c - AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/vi.c > $@ - -emacs.h: Makefile $(srcdir)/emacs.c - AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/emacs.c > $@ - -common.h: Makefile $(srcdir)/common.c - AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/common.c > $@ - -fcns.h: Makefile $(AHDR) - AWK=$(AWK) sh $(srcdir)/makelist -fh $(AHDR) > $@ - -help.h: Makefile $(ASRC) - AWK=$(AWK) sh $(srcdir)/makelist -bh $(ASRC) > $@ - -func.h: Makefile $(AHDR) - AWK=$(AWK) sh $(srcdir)/makelist -fc $(AHDR) > $@ - -CLEANFILES = $(BUILT_SOURCES) - -lib_LTLIBRARIES = libedit.la -libedit_la_SOURCES = chared.c common.c el.c eln.c emacs.c hist.c keymacro.c map.c chartype.c parse.c \ - prompt.c read.c refresh.c search.c sig.c terminal.c tty.c vi.c \ - wcsdup.c \ - tokenizer.c tokenizern.c \ - history.c historyn.c \ - filecomplete.c readline.c chared.h literal.c el.h hist.h \ - histedit.h keymacro.h map.h chartype.h parse.h prompt.h read.h refresh.h \ - search.h sig.h sys.h terminal.h tty.h vis.h filecomplete.h \ - editline/readline.h literal.h - -if !HAVE_STRLCPY -libedit_la_SOURCES += strlcpy.c -endif -if !HAVE_STRLCAT -libedit_la_SOURCES += strlcat.c -endif -if !HAVE_VIS -libedit_la_SOURCES += vis.c -endif -if !HAVE_UNVIS -libedit_la_SOURCES += unvis.c -endif - -EXTRA_DIST = makelist shlib_version -nobase_include_HEADERS = histedit.h editline/readline.h - -nodist_libedit_la_SOURCES = $(BUILT_SOURCES) - -libedit_la_LDFLAGS = -no-undefined -version-info $(LT_VERSION) - diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/Makefile.in mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/Makefile.in --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/Makefile.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,846 +0,0 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2018 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@HAVE_STRLCPY_FALSE@am__append_1 = strlcpy.c -@HAVE_STRLCAT_FALSE@am__append_2 = strlcat.c -@HAVE_VIS_FALSE@am__append_3 = vis.c -@HAVE_UNVIS_FALSE@am__append_4 = unvis.c -subdir = src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(nobase_include_HEADERS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -libedit_la_LIBADD = -am__libedit_la_SOURCES_DIST = chared.c common.c el.c eln.c emacs.c \ - hist.c keymacro.c map.c chartype.c parse.c prompt.c read.c \ - refresh.c search.c sig.c terminal.c tty.c vi.c wcsdup.c \ - tokenizer.c tokenizern.c history.c historyn.c filecomplete.c \ - readline.c chared.h literal.c el.h hist.h histedit.h \ - keymacro.h map.h chartype.h parse.h prompt.h read.h refresh.h \ - search.h sig.h sys.h terminal.h tty.h vis.h filecomplete.h \ - editline/readline.h literal.h strlcpy.c strlcat.c vis.c \ - unvis.c -@HAVE_STRLCPY_FALSE@am__objects_1 = strlcpy.lo -@HAVE_STRLCAT_FALSE@am__objects_2 = strlcat.lo -@HAVE_VIS_FALSE@am__objects_3 = vis.lo -@HAVE_UNVIS_FALSE@am__objects_4 = unvis.lo -am_libedit_la_OBJECTS = chared.lo common.lo el.lo eln.lo emacs.lo \ - hist.lo keymacro.lo map.lo chartype.lo parse.lo prompt.lo \ - read.lo refresh.lo search.lo sig.lo terminal.lo tty.lo vi.lo \ - wcsdup.lo tokenizer.lo tokenizern.lo history.lo historyn.lo \ - filecomplete.lo readline.lo literal.lo $(am__objects_1) \ - $(am__objects_2) $(am__objects_3) $(am__objects_4) -am__objects_5 = -nodist_libedit_la_OBJECTS = $(am__objects_5) -libedit_la_OBJECTS = $(am_libedit_la_OBJECTS) \ - $(nodist_libedit_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -libedit_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libedit_la_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/chared.Plo ./$(DEPDIR)/chartype.Plo \ - ./$(DEPDIR)/common.Plo ./$(DEPDIR)/el.Plo ./$(DEPDIR)/eln.Plo \ - ./$(DEPDIR)/emacs.Plo ./$(DEPDIR)/filecomplete.Plo \ - ./$(DEPDIR)/hist.Plo ./$(DEPDIR)/history.Plo \ - ./$(DEPDIR)/historyn.Plo ./$(DEPDIR)/keymacro.Plo \ - ./$(DEPDIR)/literal.Plo ./$(DEPDIR)/map.Plo \ - ./$(DEPDIR)/parse.Plo ./$(DEPDIR)/prompt.Plo \ - ./$(DEPDIR)/read.Plo ./$(DEPDIR)/readline.Plo \ - ./$(DEPDIR)/refresh.Plo ./$(DEPDIR)/search.Plo \ - ./$(DEPDIR)/sig.Plo ./$(DEPDIR)/strlcat.Plo \ - ./$(DEPDIR)/strlcpy.Plo ./$(DEPDIR)/terminal.Plo \ - ./$(DEPDIR)/tokenizer.Plo ./$(DEPDIR)/tokenizern.Plo \ - ./$(DEPDIR)/tty.Plo ./$(DEPDIR)/unvis.Plo ./$(DEPDIR)/vi.Plo \ - ./$(DEPDIR)/vis.Plo ./$(DEPDIR)/wcsdup.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libedit_la_SOURCES) $(nodist_libedit_la_SOURCES) -DIST_SOURCES = $(am__libedit_la_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -HEADERS = $(nobase_include_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -LT_VERSION = @LT_VERSION@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MANTYPE = @MANTYPE@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NROFF = @NROFF@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -BUILT_SOURCES = vi.h emacs.h common.h fcns.h help.h func.h -AHDR = vi.h emacs.h common.h -ASRC = $(srcdir)/vi.c $(srcdir)/emacs.c $(srcdir)/common.c -CLEANFILES = $(BUILT_SOURCES) -lib_LTLIBRARIES = libedit.la -libedit_la_SOURCES = chared.c common.c el.c eln.c emacs.c hist.c \ - keymacro.c map.c chartype.c parse.c prompt.c read.c refresh.c \ - search.c sig.c terminal.c tty.c vi.c wcsdup.c tokenizer.c \ - tokenizern.c history.c historyn.c filecomplete.c readline.c \ - chared.h literal.c el.h hist.h histedit.h keymacro.h map.h \ - chartype.h parse.h prompt.h read.h refresh.h search.h sig.h \ - sys.h terminal.h tty.h vis.h filecomplete.h \ - editline/readline.h literal.h $(am__append_1) $(am__append_2) \ - $(am__append_3) $(am__append_4) -EXTRA_DIST = makelist shlib_version -nobase_include_HEADERS = histedit.h editline/readline.h -nodist_libedit_la_SOURCES = $(BUILT_SOURCES) -libedit_la_LDFLAGS = -no-undefined -version-info $(LT_VERSION) -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libedit.la: $(libedit_la_OBJECTS) $(libedit_la_DEPENDENCIES) $(EXTRA_libedit_la_DEPENDENCIES) - $(AM_V_CCLD)$(libedit_la_LINK) -rpath $(libdir) $(libedit_la_OBJECTS) $(libedit_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chared.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chartype.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/el.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eln.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emacs.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filecomplete.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hist.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/history.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/historyn.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keymacro.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/literal.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prompt.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readline.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/refresh.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/search.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlcat.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlcpy.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terminal.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tokenizer.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tokenizern.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tty.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unvis.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vi.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vis.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcsdup.Plo@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-nobase_includeHEADERS: $(nobase_include_HEADERS) - @$(NORMAL_INSTALL) - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ - fi; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \ - echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \ - $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/chared.Plo - -rm -f ./$(DEPDIR)/chartype.Plo - -rm -f ./$(DEPDIR)/common.Plo - -rm -f ./$(DEPDIR)/el.Plo - -rm -f ./$(DEPDIR)/eln.Plo - -rm -f ./$(DEPDIR)/emacs.Plo - -rm -f ./$(DEPDIR)/filecomplete.Plo - -rm -f ./$(DEPDIR)/hist.Plo - -rm -f ./$(DEPDIR)/history.Plo - -rm -f ./$(DEPDIR)/historyn.Plo - -rm -f ./$(DEPDIR)/keymacro.Plo - -rm -f ./$(DEPDIR)/literal.Plo - -rm -f ./$(DEPDIR)/map.Plo - -rm -f ./$(DEPDIR)/parse.Plo - -rm -f ./$(DEPDIR)/prompt.Plo - -rm -f ./$(DEPDIR)/read.Plo - -rm -f ./$(DEPDIR)/readline.Plo - -rm -f ./$(DEPDIR)/refresh.Plo - -rm -f ./$(DEPDIR)/search.Plo - -rm -f ./$(DEPDIR)/sig.Plo - -rm -f ./$(DEPDIR)/strlcat.Plo - -rm -f ./$(DEPDIR)/strlcpy.Plo - -rm -f ./$(DEPDIR)/terminal.Plo - -rm -f ./$(DEPDIR)/tokenizer.Plo - -rm -f ./$(DEPDIR)/tokenizern.Plo - -rm -f ./$(DEPDIR)/tty.Plo - -rm -f ./$(DEPDIR)/unvis.Plo - -rm -f ./$(DEPDIR)/vi.Plo - -rm -f ./$(DEPDIR)/vis.Plo - -rm -f ./$(DEPDIR)/wcsdup.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-nobase_includeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/chared.Plo - -rm -f ./$(DEPDIR)/chartype.Plo - -rm -f ./$(DEPDIR)/common.Plo - -rm -f ./$(DEPDIR)/el.Plo - -rm -f ./$(DEPDIR)/eln.Plo - -rm -f ./$(DEPDIR)/emacs.Plo - -rm -f ./$(DEPDIR)/filecomplete.Plo - -rm -f ./$(DEPDIR)/hist.Plo - -rm -f ./$(DEPDIR)/history.Plo - -rm -f ./$(DEPDIR)/historyn.Plo - -rm -f ./$(DEPDIR)/keymacro.Plo - -rm -f ./$(DEPDIR)/literal.Plo - -rm -f ./$(DEPDIR)/map.Plo - -rm -f ./$(DEPDIR)/parse.Plo - -rm -f ./$(DEPDIR)/prompt.Plo - -rm -f ./$(DEPDIR)/read.Plo - -rm -f ./$(DEPDIR)/readline.Plo - -rm -f ./$(DEPDIR)/refresh.Plo - -rm -f ./$(DEPDIR)/search.Plo - -rm -f ./$(DEPDIR)/sig.Plo - -rm -f ./$(DEPDIR)/strlcat.Plo - -rm -f ./$(DEPDIR)/strlcpy.Plo - -rm -f ./$(DEPDIR)/terminal.Plo - -rm -f ./$(DEPDIR)/tokenizer.Plo - -rm -f ./$(DEPDIR)/tokenizern.Plo - -rm -f ./$(DEPDIR)/tty.Plo - -rm -f ./$(DEPDIR)/unvis.Plo - -rm -f ./$(DEPDIR)/vi.Plo - -rm -f ./$(DEPDIR)/vis.Plo - -rm -f ./$(DEPDIR)/wcsdup.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libLTLIBRARIES uninstall-nobase_includeHEADERS - -.MAKE: all check install install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-libLTLIBRARIES install-man \ - install-nobase_includeHEADERS install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES \ - uninstall-nobase_includeHEADERS - -.PRECIOUS: Makefile - - -vi.h: Makefile $(srcdir)/vi.c - AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/vi.c > $@ - -emacs.h: Makefile $(srcdir)/emacs.c - AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/emacs.c > $@ - -common.h: Makefile $(srcdir)/common.c - AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/common.c > $@ - -fcns.h: Makefile $(AHDR) - AWK=$(AWK) sh $(srcdir)/makelist -fh $(AHDR) > $@ - -help.h: Makefile $(ASRC) - AWK=$(AWK) sh $(srcdir)/makelist -bh $(ASRC) > $@ - -func.h: Makefile $(AHDR) - AWK=$(AWK) sh $(srcdir)/makelist -fc $(AHDR) > $@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/makelist.in mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/makelist.in --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/makelist.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/makelist.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,174 +0,0 @@ -#!/bin/sh - -# $NetBSD: makelist,v 1.29 2016/05/09 21:46:56 christos Exp $ -# -# Copyright (c) 1992, 1993 -# The Regents of the University of California. All rights reserved. -# -# This code is derived from software contributed to Berkeley by -# Christos Zoulas of Cornell University. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. Neither the name of the University nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# @(#)makelist 5.3 (Berkeley) 6/4/93 - -# makelist.sh: Automatically generate header files... - -AWK=@AWK@ -USAGE="Usage: $0 -h|-fc|-fh|-bh " - -if [ "x$1" = "x" ] -then - echo $USAGE 1>&2 - exit 1 -fi - -FLAG="$1" -shift - -FILES="$@" - -case $FLAG in - --h) - set - `echo $FILES | sed -e 's/\\./_/g'` - hdr="_h_`basename $1`" - cat $FILES | $AWK ' - BEGIN { - printf("/* Automatically generated file, do not edit */\n"); - printf("#ifndef %s\n#define %s\n", "'$hdr'", "'$hdr'"); - } - /\(\):/ { - pr = substr($2, 1, 2); - if (pr == "vi" || pr == "em" || pr == "ed") { - name = substr($2, 1, length($2) - 3); -# -# XXX: need a space between name and prototype so that -fc and -fh -# parsing is much easier -# - printf("libedit_private el_action_t\t%s (EditLine *, wint_t);\n", - name); - } - } - END { - printf("#endif /* %s */\n", "'$hdr'"); - }' - ;; - -# generate help.h from various .c files -# --bh) - cat $FILES | $AWK ' - BEGIN { - printf("/* Automatically generated file, do not edit */\n"); - printf("static const struct el_bindings_t el_func_help[] = {\n"); - low = "abcdefghijklmnopqrstuvwxyz_"; - high = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_"; - for (i = 1; i <= length(low); i++) - tr[substr(low, i, 1)] = substr(high, i, 1); - } - /\(\):/ { - pr = substr($2, 1, 2); - if (pr == "vi" || pr == "em" || pr == "ed") { - name = substr($2, 1, length($2) - 3); - uname = ""; - fname = ""; - for (i = 1; i <= length(name); i++) { - s = substr(name, i, 1); - uname = uname tr[s]; - if (s == "_") - s = "-"; - fname = fname s; - } - - printf(" { %-30.30s %-30.30s\n","L\"" fname "\",", uname ","); - ok = 1; - } - } - /^ \*/ { - if (ok) { - printf(" L\""); - for (i = 2; i < NF; i++) - printf("%s ", $i); - printf("%s\" },\n", $i); - ok = 0; - } - } - END { - printf("};\n"); - }' - ;; - -# generate fcns.h from various .h files -# --fh) - cat $FILES | $AWK '/el_action_t/ { print $3 }' | \ - sort | tr '[:lower:]' '[:upper:]' | $AWK ' - BEGIN { - printf("/* Automatically generated file, do not edit */\n"); - count = 0; - } - { - printf("#define\t%-30.30s\t%3d\n", $1, count++); - } - END { - printf("#define\t%-30.30s\t%3d\n", "EL_NUM_FCNS", count); - }' - ;; - -# generate func.h from various .h files -# --fc) - cat $FILES | $AWK '/el_action_t/ { print $3 }' | sort | $AWK ' - BEGIN { - printf("/* Automatically generated file, do not edit */\n"); - printf("static const el_func_t el_func[] = {"); - maxlen = 80; - needn = 1; - len = 0; - } - { - clen = 25 + 2; - len += clen; - if (len >= maxlen) - needn = 1; - if (needn) { - printf("\n "); - needn = 0; - len = 4 + clen; - } - s = $1 ","; - printf("%-26.26s ", s); - } - END { - printf("\n};\n"); - }' - ;; - -*) - echo $USAGE 1>&2 - exit 1 - ;; - -esac diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/map.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/map.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/map.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/map.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1427 +0,0 @@ -/* $NetBSD: map.c,v 1.51 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)map.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: map.c,v 1.51 2016/05/09 21:46:56 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * map.c: Editor function definitions - */ -#include -#include -#include - -#include "el.h" -#include "common.h" -#include "emacs.h" -#include "vi.h" -#include "fcns.h" -#include "func.h" -#include "help.h" -#include "parse.h" - -static void map_print_key(EditLine *, el_action_t *, const wchar_t *); -static void map_print_some_keys(EditLine *, el_action_t *, wint_t, wint_t); -static void map_print_all_keys(EditLine *); -static void map_init_nls(EditLine *); -static void map_init_meta(EditLine *); - -/* keymap tables ; should be N_KEYS*sizeof(KEYCMD) bytes long */ - - -static const el_action_t el_map_emacs[] = { - /* 0 */ EM_SET_MARK, /* ^@ */ - /* 1 */ ED_MOVE_TO_BEG, /* ^A */ - /* 2 */ ED_PREV_CHAR, /* ^B */ - /* 3 */ ED_IGNORE, /* ^C */ - /* 4 */ EM_DELETE_OR_LIST, /* ^D */ - /* 5 */ ED_MOVE_TO_END, /* ^E */ - /* 6 */ ED_NEXT_CHAR, /* ^F */ - /* 7 */ ED_UNASSIGNED, /* ^G */ - /* 8 */ EM_DELETE_PREV_CHAR, /* ^H */ - /* 9 */ ED_UNASSIGNED, /* ^I */ - /* 10 */ ED_NEWLINE, /* ^J */ - /* 11 */ ED_KILL_LINE, /* ^K */ - /* 12 */ ED_CLEAR_SCREEN, /* ^L */ - /* 13 */ ED_NEWLINE, /* ^M */ - /* 14 */ ED_NEXT_HISTORY, /* ^N */ - /* 15 */ ED_IGNORE, /* ^O */ - /* 16 */ ED_PREV_HISTORY, /* ^P */ - /* 17 */ ED_IGNORE, /* ^Q */ - /* 18 */ ED_REDISPLAY, /* ^R */ - /* 19 */ ED_IGNORE, /* ^S */ - /* 20 */ ED_TRANSPOSE_CHARS, /* ^T */ - /* 21 */ EM_KILL_LINE, /* ^U */ - /* 22 */ ED_QUOTED_INSERT, /* ^V */ - /* 23 */ EM_KILL_REGION, /* ^W */ - /* 24 */ ED_SEQUENCE_LEAD_IN, /* ^X */ - /* 25 */ EM_YANK, /* ^Y */ - /* 26 */ ED_IGNORE, /* ^Z */ - /* 27 */ EM_META_NEXT, /* ^[ */ - /* 28 */ ED_IGNORE, /* ^\ */ - /* 29 */ ED_IGNORE, /* ^] */ - /* 30 */ ED_UNASSIGNED, /* ^^ */ - /* 31 */ ED_UNASSIGNED, /* ^_ */ - /* 32 */ ED_INSERT, /* SPACE */ - /* 33 */ ED_INSERT, /* ! */ - /* 34 */ ED_INSERT, /* " */ - /* 35 */ ED_INSERT, /* # */ - /* 36 */ ED_INSERT, /* $ */ - /* 37 */ ED_INSERT, /* % */ - /* 38 */ ED_INSERT, /* & */ - /* 39 */ ED_INSERT, /* ' */ - /* 40 */ ED_INSERT, /* ( */ - /* 41 */ ED_INSERT, /* ) */ - /* 42 */ ED_INSERT, /* * */ - /* 43 */ ED_INSERT, /* + */ - /* 44 */ ED_INSERT, /* , */ - /* 45 */ ED_INSERT, /* - */ - /* 46 */ ED_INSERT, /* . */ - /* 47 */ ED_INSERT, /* / */ - /* 48 */ ED_DIGIT, /* 0 */ - /* 49 */ ED_DIGIT, /* 1 */ - /* 50 */ ED_DIGIT, /* 2 */ - /* 51 */ ED_DIGIT, /* 3 */ - /* 52 */ ED_DIGIT, /* 4 */ - /* 53 */ ED_DIGIT, /* 5 */ - /* 54 */ ED_DIGIT, /* 6 */ - /* 55 */ ED_DIGIT, /* 7 */ - /* 56 */ ED_DIGIT, /* 8 */ - /* 57 */ ED_DIGIT, /* 9 */ - /* 58 */ ED_INSERT, /* : */ - /* 59 */ ED_INSERT, /* ; */ - /* 60 */ ED_INSERT, /* < */ - /* 61 */ ED_INSERT, /* = */ - /* 62 */ ED_INSERT, /* > */ - /* 63 */ ED_INSERT, /* ? */ - /* 64 */ ED_INSERT, /* @ */ - /* 65 */ ED_INSERT, /* A */ - /* 66 */ ED_INSERT, /* B */ - /* 67 */ ED_INSERT, /* C */ - /* 68 */ ED_INSERT, /* D */ - /* 69 */ ED_INSERT, /* E */ - /* 70 */ ED_INSERT, /* F */ - /* 71 */ ED_INSERT, /* G */ - /* 72 */ ED_INSERT, /* H */ - /* 73 */ ED_INSERT, /* I */ - /* 74 */ ED_INSERT, /* J */ - /* 75 */ ED_INSERT, /* K */ - /* 76 */ ED_INSERT, /* L */ - /* 77 */ ED_INSERT, /* M */ - /* 78 */ ED_INSERT, /* N */ - /* 79 */ ED_INSERT, /* O */ - /* 80 */ ED_INSERT, /* P */ - /* 81 */ ED_INSERT, /* Q */ - /* 82 */ ED_INSERT, /* R */ - /* 83 */ ED_INSERT, /* S */ - /* 84 */ ED_INSERT, /* T */ - /* 85 */ ED_INSERT, /* U */ - /* 86 */ ED_INSERT, /* V */ - /* 87 */ ED_INSERT, /* W */ - /* 88 */ ED_INSERT, /* X */ - /* 89 */ ED_INSERT, /* Y */ - /* 90 */ ED_INSERT, /* Z */ - /* 91 */ ED_INSERT, /* [ */ - /* 92 */ ED_INSERT, /* \ */ - /* 93 */ ED_INSERT, /* ] */ - /* 94 */ ED_INSERT, /* ^ */ - /* 95 */ ED_INSERT, /* _ */ - /* 96 */ ED_INSERT, /* ` */ - /* 97 */ ED_INSERT, /* a */ - /* 98 */ ED_INSERT, /* b */ - /* 99 */ ED_INSERT, /* c */ - /* 100 */ ED_INSERT, /* d */ - /* 101 */ ED_INSERT, /* e */ - /* 102 */ ED_INSERT, /* f */ - /* 103 */ ED_INSERT, /* g */ - /* 104 */ ED_INSERT, /* h */ - /* 105 */ ED_INSERT, /* i */ - /* 106 */ ED_INSERT, /* j */ - /* 107 */ ED_INSERT, /* k */ - /* 108 */ ED_INSERT, /* l */ - /* 109 */ ED_INSERT, /* m */ - /* 110 */ ED_INSERT, /* n */ - /* 111 */ ED_INSERT, /* o */ - /* 112 */ ED_INSERT, /* p */ - /* 113 */ ED_INSERT, /* q */ - /* 114 */ ED_INSERT, /* r */ - /* 115 */ ED_INSERT, /* s */ - /* 116 */ ED_INSERT, /* t */ - /* 117 */ ED_INSERT, /* u */ - /* 118 */ ED_INSERT, /* v */ - /* 119 */ ED_INSERT, /* w */ - /* 120 */ ED_INSERT, /* x */ - /* 121 */ ED_INSERT, /* y */ - /* 122 */ ED_INSERT, /* z */ - /* 123 */ ED_INSERT, /* { */ - /* 124 */ ED_INSERT, /* | */ - /* 125 */ ED_INSERT, /* } */ - /* 126 */ ED_INSERT, /* ~ */ - /* 127 */ EM_DELETE_PREV_CHAR, /* ^? */ - /* 128 */ ED_UNASSIGNED, /* M-^@ */ - /* 129 */ ED_UNASSIGNED, /* M-^A */ - /* 130 */ ED_UNASSIGNED, /* M-^B */ - /* 131 */ ED_UNASSIGNED, /* M-^C */ - /* 132 */ ED_UNASSIGNED, /* M-^D */ - /* 133 */ ED_UNASSIGNED, /* M-^E */ - /* 134 */ ED_UNASSIGNED, /* M-^F */ - /* 135 */ ED_UNASSIGNED, /* M-^G */ - /* 136 */ ED_DELETE_PREV_WORD, /* M-^H */ - /* 137 */ ED_UNASSIGNED, /* M-^I */ - /* 138 */ ED_UNASSIGNED, /* M-^J */ - /* 139 */ ED_UNASSIGNED, /* M-^K */ - /* 140 */ ED_CLEAR_SCREEN, /* M-^L */ - /* 141 */ ED_UNASSIGNED, /* M-^M */ - /* 142 */ ED_UNASSIGNED, /* M-^N */ - /* 143 */ ED_UNASSIGNED, /* M-^O */ - /* 144 */ ED_UNASSIGNED, /* M-^P */ - /* 145 */ ED_UNASSIGNED, /* M-^Q */ - /* 146 */ ED_UNASSIGNED, /* M-^R */ - /* 147 */ ED_UNASSIGNED, /* M-^S */ - /* 148 */ ED_UNASSIGNED, /* M-^T */ - /* 149 */ ED_UNASSIGNED, /* M-^U */ - /* 150 */ ED_UNASSIGNED, /* M-^V */ - /* 151 */ ED_UNASSIGNED, /* M-^W */ - /* 152 */ ED_UNASSIGNED, /* M-^X */ - /* 153 */ ED_UNASSIGNED, /* M-^Y */ - /* 154 */ ED_UNASSIGNED, /* M-^Z */ - /* 155 */ ED_UNASSIGNED, /* M-^[ */ - /* 156 */ ED_UNASSIGNED, /* M-^\ */ - /* 157 */ ED_UNASSIGNED, /* M-^] */ - /* 158 */ ED_UNASSIGNED, /* M-^^ */ - /* 159 */ EM_COPY_PREV_WORD, /* M-^_ */ - /* 160 */ ED_UNASSIGNED, /* M-SPACE */ - /* 161 */ ED_UNASSIGNED, /* M-! */ - /* 162 */ ED_UNASSIGNED, /* M-" */ - /* 163 */ ED_UNASSIGNED, /* M-# */ - /* 164 */ ED_UNASSIGNED, /* M-$ */ - /* 165 */ ED_UNASSIGNED, /* M-% */ - /* 166 */ ED_UNASSIGNED, /* M-& */ - /* 167 */ ED_UNASSIGNED, /* M-' */ - /* 168 */ ED_UNASSIGNED, /* M-( */ - /* 169 */ ED_UNASSIGNED, /* M-) */ - /* 170 */ ED_UNASSIGNED, /* M-* */ - /* 171 */ ED_UNASSIGNED, /* M-+ */ - /* 172 */ ED_UNASSIGNED, /* M-, */ - /* 173 */ ED_UNASSIGNED, /* M-- */ - /* 174 */ ED_UNASSIGNED, /* M-. */ - /* 175 */ ED_UNASSIGNED, /* M-/ */ - /* 176 */ ED_ARGUMENT_DIGIT, /* M-0 */ - /* 177 */ ED_ARGUMENT_DIGIT, /* M-1 */ - /* 178 */ ED_ARGUMENT_DIGIT, /* M-2 */ - /* 179 */ ED_ARGUMENT_DIGIT, /* M-3 */ - /* 180 */ ED_ARGUMENT_DIGIT, /* M-4 */ - /* 181 */ ED_ARGUMENT_DIGIT, /* M-5 */ - /* 182 */ ED_ARGUMENT_DIGIT, /* M-6 */ - /* 183 */ ED_ARGUMENT_DIGIT, /* M-7 */ - /* 184 */ ED_ARGUMENT_DIGIT, /* M-8 */ - /* 185 */ ED_ARGUMENT_DIGIT, /* M-9 */ - /* 186 */ ED_UNASSIGNED, /* M-: */ - /* 187 */ ED_UNASSIGNED, /* M-; */ - /* 188 */ ED_UNASSIGNED, /* M-< */ - /* 189 */ ED_UNASSIGNED, /* M-= */ - /* 190 */ ED_UNASSIGNED, /* M-> */ - /* 191 */ ED_UNASSIGNED, /* M-? */ - /* 192 */ ED_UNASSIGNED, /* M-@ */ - /* 193 */ ED_UNASSIGNED, /* M-A */ - /* 194 */ ED_PREV_WORD, /* M-B */ - /* 195 */ EM_CAPITOL_CASE, /* M-C */ - /* 196 */ EM_DELETE_NEXT_WORD, /* M-D */ - /* 197 */ ED_UNASSIGNED, /* M-E */ - /* 198 */ EM_NEXT_WORD, /* M-F */ - /* 199 */ ED_UNASSIGNED, /* M-G */ - /* 200 */ ED_UNASSIGNED, /* M-H */ - /* 201 */ ED_UNASSIGNED, /* M-I */ - /* 202 */ ED_UNASSIGNED, /* M-J */ - /* 203 */ ED_UNASSIGNED, /* M-K */ - /* 204 */ EM_LOWER_CASE, /* M-L */ - /* 205 */ ED_UNASSIGNED, /* M-M */ - /* 206 */ ED_SEARCH_NEXT_HISTORY, /* M-N */ - /* 207 */ ED_SEQUENCE_LEAD_IN, /* M-O */ - /* 208 */ ED_SEARCH_PREV_HISTORY, /* M-P */ - /* 209 */ ED_UNASSIGNED, /* M-Q */ - /* 210 */ ED_UNASSIGNED, /* M-R */ - /* 211 */ ED_UNASSIGNED, /* M-S */ - /* 212 */ ED_UNASSIGNED, /* M-T */ - /* 213 */ EM_UPPER_CASE, /* M-U */ - /* 214 */ ED_UNASSIGNED, /* M-V */ - /* 215 */ EM_COPY_REGION, /* M-W */ - /* 216 */ ED_COMMAND, /* M-X */ - /* 217 */ ED_UNASSIGNED, /* M-Y */ - /* 218 */ ED_UNASSIGNED, /* M-Z */ - /* 219 */ ED_SEQUENCE_LEAD_IN, /* M-[ */ - /* 220 */ ED_UNASSIGNED, /* M-\ */ - /* 221 */ ED_UNASSIGNED, /* M-] */ - /* 222 */ ED_UNASSIGNED, /* M-^ */ - /* 223 */ ED_UNASSIGNED, /* M-_ */ - /* 223 */ ED_UNASSIGNED, /* M-` */ - /* 224 */ ED_UNASSIGNED, /* M-a */ - /* 225 */ ED_PREV_WORD, /* M-b */ - /* 226 */ EM_CAPITOL_CASE, /* M-c */ - /* 227 */ EM_DELETE_NEXT_WORD, /* M-d */ - /* 228 */ ED_UNASSIGNED, /* M-e */ - /* 229 */ EM_NEXT_WORD, /* M-f */ - /* 230 */ ED_UNASSIGNED, /* M-g */ - /* 231 */ ED_UNASSIGNED, /* M-h */ - /* 232 */ ED_UNASSIGNED, /* M-i */ - /* 233 */ ED_UNASSIGNED, /* M-j */ - /* 234 */ ED_UNASSIGNED, /* M-k */ - /* 235 */ EM_LOWER_CASE, /* M-l */ - /* 236 */ ED_UNASSIGNED, /* M-m */ - /* 237 */ ED_SEARCH_NEXT_HISTORY, /* M-n */ - /* 238 */ ED_UNASSIGNED, /* M-o */ - /* 239 */ ED_SEARCH_PREV_HISTORY, /* M-p */ - /* 240 */ ED_UNASSIGNED, /* M-q */ - /* 241 */ ED_UNASSIGNED, /* M-r */ - /* 242 */ ED_UNASSIGNED, /* M-s */ - /* 243 */ ED_UNASSIGNED, /* M-t */ - /* 244 */ EM_UPPER_CASE, /* M-u */ - /* 245 */ ED_UNASSIGNED, /* M-v */ - /* 246 */ EM_COPY_REGION, /* M-w */ - /* 247 */ ED_COMMAND, /* M-x */ - /* 248 */ ED_UNASSIGNED, /* M-y */ - /* 249 */ ED_UNASSIGNED, /* M-z */ - /* 250 */ ED_UNASSIGNED, /* M-{ */ - /* 251 */ ED_UNASSIGNED, /* M-| */ - /* 252 */ ED_UNASSIGNED, /* M-} */ - /* 253 */ ED_UNASSIGNED, /* M-~ */ - /* 254 */ ED_DELETE_PREV_WORD /* M-^? */ - /* 255 */ -}; - - -/* - * keymap table for vi. Each index into above tbl; should be - * N_KEYS entries long. Vi mode uses a sticky-extend to do command mode: - * insert mode characters are in the normal keymap, and command mode - * in the extended keymap. - */ -static const el_action_t el_map_vi_insert[] = { -#ifdef KSHVI - /* 0 */ ED_UNASSIGNED, /* ^@ */ - /* 1 */ ED_INSERT, /* ^A */ - /* 2 */ ED_INSERT, /* ^B */ - /* 3 */ ED_INSERT, /* ^C */ - /* 4 */ VI_LIST_OR_EOF, /* ^D */ - /* 5 */ ED_INSERT, /* ^E */ - /* 6 */ ED_INSERT, /* ^F */ - /* 7 */ ED_INSERT, /* ^G */ - /* 8 */ VI_DELETE_PREV_CHAR, /* ^H */ /* BackSpace key */ - /* 9 */ ED_INSERT, /* ^I */ /* Tab Key */ - /* 10 */ ED_NEWLINE, /* ^J */ - /* 11 */ ED_INSERT, /* ^K */ - /* 12 */ ED_INSERT, /* ^L */ - /* 13 */ ED_NEWLINE, /* ^M */ - /* 14 */ ED_INSERT, /* ^N */ - /* 15 */ ED_INSERT, /* ^O */ - /* 16 */ ED_INSERT, /* ^P */ - /* 17 */ ED_IGNORE, /* ^Q */ - /* 18 */ ED_INSERT, /* ^R */ - /* 19 */ ED_IGNORE, /* ^S */ - /* 20 */ ED_INSERT, /* ^T */ - /* 21 */ VI_KILL_LINE_PREV, /* ^U */ - /* 22 */ ED_QUOTED_INSERT, /* ^V */ - /* 23 */ ED_DELETE_PREV_WORD, /* ^W */ - /* ED_DELETE_PREV_WORD: Only until strt edit pos */ - /* 24 */ ED_INSERT, /* ^X */ - /* 25 */ ED_INSERT, /* ^Y */ - /* 26 */ ED_INSERT, /* ^Z */ - /* 27 */ VI_COMMAND_MODE, /* ^[ */ /* [ Esc ] key */ - /* 28 */ ED_IGNORE, /* ^\ */ - /* 29 */ ED_INSERT, /* ^] */ - /* 30 */ ED_INSERT, /* ^^ */ - /* 31 */ ED_INSERT, /* ^_ */ -#else /* !KSHVI */ - /* - * NOTE: These mappings do NOT Correspond well - * to the KSH VI editing assignments. - * On the other and they are convenient and - * many people have have gotten used to them. - */ - /* 0 */ ED_UNASSIGNED, /* ^@ */ - /* 1 */ ED_MOVE_TO_BEG, /* ^A */ - /* 2 */ ED_PREV_CHAR, /* ^B */ - /* 3 */ ED_IGNORE, /* ^C */ - /* 4 */ VI_LIST_OR_EOF, /* ^D */ - /* 5 */ ED_MOVE_TO_END, /* ^E */ - /* 6 */ ED_NEXT_CHAR, /* ^F */ - /* 7 */ ED_UNASSIGNED, /* ^G */ - /* 8 */ VI_DELETE_PREV_CHAR, /* ^H */ /* BackSpace key */ - /* 9 */ ED_UNASSIGNED, /* ^I */ /* Tab Key */ - /* 10 */ ED_NEWLINE, /* ^J */ - /* 11 */ ED_KILL_LINE, /* ^K */ - /* 12 */ ED_CLEAR_SCREEN, /* ^L */ - /* 13 */ ED_NEWLINE, /* ^M */ - /* 14 */ ED_NEXT_HISTORY, /* ^N */ - /* 15 */ ED_IGNORE, /* ^O */ - /* 16 */ ED_PREV_HISTORY, /* ^P */ - /* 17 */ ED_IGNORE, /* ^Q */ - /* 18 */ ED_REDISPLAY, /* ^R */ - /* 19 */ ED_IGNORE, /* ^S */ - /* 20 */ ED_TRANSPOSE_CHARS, /* ^T */ - /* 21 */ VI_KILL_LINE_PREV, /* ^U */ - /* 22 */ ED_QUOTED_INSERT, /* ^V */ - /* 23 */ ED_DELETE_PREV_WORD, /* ^W */ - /* 24 */ ED_UNASSIGNED, /* ^X */ - /* 25 */ ED_IGNORE, /* ^Y */ - /* 26 */ ED_IGNORE, /* ^Z */ - /* 27 */ VI_COMMAND_MODE, /* ^[ */ - /* 28 */ ED_IGNORE, /* ^\ */ - /* 29 */ ED_UNASSIGNED, /* ^] */ - /* 30 */ ED_UNASSIGNED, /* ^^ */ - /* 31 */ ED_UNASSIGNED, /* ^_ */ -#endif /* KSHVI */ - /* 32 */ ED_INSERT, /* SPACE */ - /* 33 */ ED_INSERT, /* ! */ - /* 34 */ ED_INSERT, /* " */ - /* 35 */ ED_INSERT, /* # */ - /* 36 */ ED_INSERT, /* $ */ - /* 37 */ ED_INSERT, /* % */ - /* 38 */ ED_INSERT, /* & */ - /* 39 */ ED_INSERT, /* ' */ - /* 40 */ ED_INSERT, /* ( */ - /* 41 */ ED_INSERT, /* ) */ - /* 42 */ ED_INSERT, /* * */ - /* 43 */ ED_INSERT, /* + */ - /* 44 */ ED_INSERT, /* , */ - /* 45 */ ED_INSERT, /* - */ - /* 46 */ ED_INSERT, /* . */ - /* 47 */ ED_INSERT, /* / */ - /* 48 */ ED_INSERT, /* 0 */ - /* 49 */ ED_INSERT, /* 1 */ - /* 50 */ ED_INSERT, /* 2 */ - /* 51 */ ED_INSERT, /* 3 */ - /* 52 */ ED_INSERT, /* 4 */ - /* 53 */ ED_INSERT, /* 5 */ - /* 54 */ ED_INSERT, /* 6 */ - /* 55 */ ED_INSERT, /* 7 */ - /* 56 */ ED_INSERT, /* 8 */ - /* 57 */ ED_INSERT, /* 9 */ - /* 58 */ ED_INSERT, /* : */ - /* 59 */ ED_INSERT, /* ; */ - /* 60 */ ED_INSERT, /* < */ - /* 61 */ ED_INSERT, /* = */ - /* 62 */ ED_INSERT, /* > */ - /* 63 */ ED_INSERT, /* ? */ - /* 64 */ ED_INSERT, /* @ */ - /* 65 */ ED_INSERT, /* A */ - /* 66 */ ED_INSERT, /* B */ - /* 67 */ ED_INSERT, /* C */ - /* 68 */ ED_INSERT, /* D */ - /* 69 */ ED_INSERT, /* E */ - /* 70 */ ED_INSERT, /* F */ - /* 71 */ ED_INSERT, /* G */ - /* 72 */ ED_INSERT, /* H */ - /* 73 */ ED_INSERT, /* I */ - /* 74 */ ED_INSERT, /* J */ - /* 75 */ ED_INSERT, /* K */ - /* 76 */ ED_INSERT, /* L */ - /* 77 */ ED_INSERT, /* M */ - /* 78 */ ED_INSERT, /* N */ - /* 79 */ ED_INSERT, /* O */ - /* 80 */ ED_INSERT, /* P */ - /* 81 */ ED_INSERT, /* Q */ - /* 82 */ ED_INSERT, /* R */ - /* 83 */ ED_INSERT, /* S */ - /* 84 */ ED_INSERT, /* T */ - /* 85 */ ED_INSERT, /* U */ - /* 86 */ ED_INSERT, /* V */ - /* 87 */ ED_INSERT, /* W */ - /* 88 */ ED_INSERT, /* X */ - /* 89 */ ED_INSERT, /* Y */ - /* 90 */ ED_INSERT, /* Z */ - /* 91 */ ED_INSERT, /* [ */ - /* 92 */ ED_INSERT, /* \ */ - /* 93 */ ED_INSERT, /* ] */ - /* 94 */ ED_INSERT, /* ^ */ - /* 95 */ ED_INSERT, /* _ */ - /* 96 */ ED_INSERT, /* ` */ - /* 97 */ ED_INSERT, /* a */ - /* 98 */ ED_INSERT, /* b */ - /* 99 */ ED_INSERT, /* c */ - /* 100 */ ED_INSERT, /* d */ - /* 101 */ ED_INSERT, /* e */ - /* 102 */ ED_INSERT, /* f */ - /* 103 */ ED_INSERT, /* g */ - /* 104 */ ED_INSERT, /* h */ - /* 105 */ ED_INSERT, /* i */ - /* 106 */ ED_INSERT, /* j */ - /* 107 */ ED_INSERT, /* k */ - /* 108 */ ED_INSERT, /* l */ - /* 109 */ ED_INSERT, /* m */ - /* 110 */ ED_INSERT, /* n */ - /* 111 */ ED_INSERT, /* o */ - /* 112 */ ED_INSERT, /* p */ - /* 113 */ ED_INSERT, /* q */ - /* 114 */ ED_INSERT, /* r */ - /* 115 */ ED_INSERT, /* s */ - /* 116 */ ED_INSERT, /* t */ - /* 117 */ ED_INSERT, /* u */ - /* 118 */ ED_INSERT, /* v */ - /* 119 */ ED_INSERT, /* w */ - /* 120 */ ED_INSERT, /* x */ - /* 121 */ ED_INSERT, /* y */ - /* 122 */ ED_INSERT, /* z */ - /* 123 */ ED_INSERT, /* { */ - /* 124 */ ED_INSERT, /* | */ - /* 125 */ ED_INSERT, /* } */ - /* 126 */ ED_INSERT, /* ~ */ - /* 127 */ VI_DELETE_PREV_CHAR, /* ^? */ - /* 128 */ ED_INSERT, /* M-^@ */ - /* 129 */ ED_INSERT, /* M-^A */ - /* 130 */ ED_INSERT, /* M-^B */ - /* 131 */ ED_INSERT, /* M-^C */ - /* 132 */ ED_INSERT, /* M-^D */ - /* 133 */ ED_INSERT, /* M-^E */ - /* 134 */ ED_INSERT, /* M-^F */ - /* 135 */ ED_INSERT, /* M-^G */ - /* 136 */ ED_INSERT, /* M-^H */ - /* 137 */ ED_INSERT, /* M-^I */ - /* 138 */ ED_INSERT, /* M-^J */ - /* 139 */ ED_INSERT, /* M-^K */ - /* 140 */ ED_INSERT, /* M-^L */ - /* 141 */ ED_INSERT, /* M-^M */ - /* 142 */ ED_INSERT, /* M-^N */ - /* 143 */ ED_INSERT, /* M-^O */ - /* 144 */ ED_INSERT, /* M-^P */ - /* 145 */ ED_INSERT, /* M-^Q */ - /* 146 */ ED_INSERT, /* M-^R */ - /* 147 */ ED_INSERT, /* M-^S */ - /* 148 */ ED_INSERT, /* M-^T */ - /* 149 */ ED_INSERT, /* M-^U */ - /* 150 */ ED_INSERT, /* M-^V */ - /* 151 */ ED_INSERT, /* M-^W */ - /* 152 */ ED_INSERT, /* M-^X */ - /* 153 */ ED_INSERT, /* M-^Y */ - /* 154 */ ED_INSERT, /* M-^Z */ - /* 155 */ ED_INSERT, /* M-^[ */ - /* 156 */ ED_INSERT, /* M-^\ */ - /* 157 */ ED_INSERT, /* M-^] */ - /* 158 */ ED_INSERT, /* M-^^ */ - /* 159 */ ED_INSERT, /* M-^_ */ - /* 160 */ ED_INSERT, /* M-SPACE */ - /* 161 */ ED_INSERT, /* M-! */ - /* 162 */ ED_INSERT, /* M-" */ - /* 163 */ ED_INSERT, /* M-# */ - /* 164 */ ED_INSERT, /* M-$ */ - /* 165 */ ED_INSERT, /* M-% */ - /* 166 */ ED_INSERT, /* M-& */ - /* 167 */ ED_INSERT, /* M-' */ - /* 168 */ ED_INSERT, /* M-( */ - /* 169 */ ED_INSERT, /* M-) */ - /* 170 */ ED_INSERT, /* M-* */ - /* 171 */ ED_INSERT, /* M-+ */ - /* 172 */ ED_INSERT, /* M-, */ - /* 173 */ ED_INSERT, /* M-- */ - /* 174 */ ED_INSERT, /* M-. */ - /* 175 */ ED_INSERT, /* M-/ */ - /* 176 */ ED_INSERT, /* M-0 */ - /* 177 */ ED_INSERT, /* M-1 */ - /* 178 */ ED_INSERT, /* M-2 */ - /* 179 */ ED_INSERT, /* M-3 */ - /* 180 */ ED_INSERT, /* M-4 */ - /* 181 */ ED_INSERT, /* M-5 */ - /* 182 */ ED_INSERT, /* M-6 */ - /* 183 */ ED_INSERT, /* M-7 */ - /* 184 */ ED_INSERT, /* M-8 */ - /* 185 */ ED_INSERT, /* M-9 */ - /* 186 */ ED_INSERT, /* M-: */ - /* 187 */ ED_INSERT, /* M-; */ - /* 188 */ ED_INSERT, /* M-< */ - /* 189 */ ED_INSERT, /* M-= */ - /* 190 */ ED_INSERT, /* M-> */ - /* 191 */ ED_INSERT, /* M-? */ - /* 192 */ ED_INSERT, /* M-@ */ - /* 193 */ ED_INSERT, /* M-A */ - /* 194 */ ED_INSERT, /* M-B */ - /* 195 */ ED_INSERT, /* M-C */ - /* 196 */ ED_INSERT, /* M-D */ - /* 197 */ ED_INSERT, /* M-E */ - /* 198 */ ED_INSERT, /* M-F */ - /* 199 */ ED_INSERT, /* M-G */ - /* 200 */ ED_INSERT, /* M-H */ - /* 201 */ ED_INSERT, /* M-I */ - /* 202 */ ED_INSERT, /* M-J */ - /* 203 */ ED_INSERT, /* M-K */ - /* 204 */ ED_INSERT, /* M-L */ - /* 205 */ ED_INSERT, /* M-M */ - /* 206 */ ED_INSERT, /* M-N */ - /* 207 */ ED_INSERT, /* M-O */ - /* 208 */ ED_INSERT, /* M-P */ - /* 209 */ ED_INSERT, /* M-Q */ - /* 210 */ ED_INSERT, /* M-R */ - /* 211 */ ED_INSERT, /* M-S */ - /* 212 */ ED_INSERT, /* M-T */ - /* 213 */ ED_INSERT, /* M-U */ - /* 214 */ ED_INSERT, /* M-V */ - /* 215 */ ED_INSERT, /* M-W */ - /* 216 */ ED_INSERT, /* M-X */ - /* 217 */ ED_INSERT, /* M-Y */ - /* 218 */ ED_INSERT, /* M-Z */ - /* 219 */ ED_INSERT, /* M-[ */ - /* 220 */ ED_INSERT, /* M-\ */ - /* 221 */ ED_INSERT, /* M-] */ - /* 222 */ ED_INSERT, /* M-^ */ - /* 223 */ ED_INSERT, /* M-_ */ - /* 224 */ ED_INSERT, /* M-` */ - /* 225 */ ED_INSERT, /* M-a */ - /* 226 */ ED_INSERT, /* M-b */ - /* 227 */ ED_INSERT, /* M-c */ - /* 228 */ ED_INSERT, /* M-d */ - /* 229 */ ED_INSERT, /* M-e */ - /* 230 */ ED_INSERT, /* M-f */ - /* 231 */ ED_INSERT, /* M-g */ - /* 232 */ ED_INSERT, /* M-h */ - /* 233 */ ED_INSERT, /* M-i */ - /* 234 */ ED_INSERT, /* M-j */ - /* 235 */ ED_INSERT, /* M-k */ - /* 236 */ ED_INSERT, /* M-l */ - /* 237 */ ED_INSERT, /* M-m */ - /* 238 */ ED_INSERT, /* M-n */ - /* 239 */ ED_INSERT, /* M-o */ - /* 240 */ ED_INSERT, /* M-p */ - /* 241 */ ED_INSERT, /* M-q */ - /* 242 */ ED_INSERT, /* M-r */ - /* 243 */ ED_INSERT, /* M-s */ - /* 244 */ ED_INSERT, /* M-t */ - /* 245 */ ED_INSERT, /* M-u */ - /* 246 */ ED_INSERT, /* M-v */ - /* 247 */ ED_INSERT, /* M-w */ - /* 248 */ ED_INSERT, /* M-x */ - /* 249 */ ED_INSERT, /* M-y */ - /* 250 */ ED_INSERT, /* M-z */ - /* 251 */ ED_INSERT, /* M-{ */ - /* 252 */ ED_INSERT, /* M-| */ - /* 253 */ ED_INSERT, /* M-} */ - /* 254 */ ED_INSERT, /* M-~ */ - /* 255 */ ED_INSERT /* M-^? */ -}; - -static const el_action_t el_map_vi_command[] = { - /* 0 */ ED_UNASSIGNED, /* ^@ */ - /* 1 */ ED_MOVE_TO_BEG, /* ^A */ - /* 2 */ ED_UNASSIGNED, /* ^B */ - /* 3 */ ED_IGNORE, /* ^C */ - /* 4 */ ED_UNASSIGNED, /* ^D */ - /* 5 */ ED_MOVE_TO_END, /* ^E */ - /* 6 */ ED_UNASSIGNED, /* ^F */ - /* 7 */ ED_UNASSIGNED, /* ^G */ - /* 8 */ ED_DELETE_PREV_CHAR, /* ^H */ - /* 9 */ ED_UNASSIGNED, /* ^I */ - /* 10 */ ED_NEWLINE, /* ^J */ - /* 11 */ ED_KILL_LINE, /* ^K */ - /* 12 */ ED_CLEAR_SCREEN, /* ^L */ - /* 13 */ ED_NEWLINE, /* ^M */ - /* 14 */ ED_NEXT_HISTORY, /* ^N */ - /* 15 */ ED_IGNORE, /* ^O */ - /* 16 */ ED_PREV_HISTORY, /* ^P */ - /* 17 */ ED_IGNORE, /* ^Q */ - /* 18 */ ED_REDISPLAY, /* ^R */ - /* 19 */ ED_IGNORE, /* ^S */ - /* 20 */ ED_UNASSIGNED, /* ^T */ - /* 21 */ VI_KILL_LINE_PREV, /* ^U */ - /* 22 */ ED_UNASSIGNED, /* ^V */ - /* 23 */ ED_DELETE_PREV_WORD, /* ^W */ - /* 24 */ ED_UNASSIGNED, /* ^X */ - /* 25 */ ED_UNASSIGNED, /* ^Y */ - /* 26 */ ED_UNASSIGNED, /* ^Z */ - /* 27 */ EM_META_NEXT, /* ^[ */ - /* 28 */ ED_IGNORE, /* ^\ */ - /* 29 */ ED_UNASSIGNED, /* ^] */ - /* 30 */ ED_UNASSIGNED, /* ^^ */ - /* 31 */ ED_UNASSIGNED, /* ^_ */ - /* 32 */ ED_NEXT_CHAR, /* SPACE */ - /* 33 */ ED_UNASSIGNED, /* ! */ - /* 34 */ ED_UNASSIGNED, /* " */ - /* 35 */ VI_COMMENT_OUT, /* # */ - /* 36 */ ED_MOVE_TO_END, /* $ */ - /* 37 */ VI_MATCH, /* % */ - /* 38 */ ED_UNASSIGNED, /* & */ - /* 39 */ ED_UNASSIGNED, /* ' */ - /* 40 */ ED_UNASSIGNED, /* ( */ - /* 41 */ ED_UNASSIGNED, /* ) */ - /* 42 */ ED_UNASSIGNED, /* * */ - /* 43 */ ED_NEXT_HISTORY, /* + */ - /* 44 */ VI_REPEAT_PREV_CHAR, /* , */ - /* 45 */ ED_PREV_HISTORY, /* - */ - /* 46 */ VI_REDO, /* . */ - /* 47 */ VI_SEARCH_PREV, /* / */ - /* 48 */ VI_ZERO, /* 0 */ - /* 49 */ ED_ARGUMENT_DIGIT, /* 1 */ - /* 50 */ ED_ARGUMENT_DIGIT, /* 2 */ - /* 51 */ ED_ARGUMENT_DIGIT, /* 3 */ - /* 52 */ ED_ARGUMENT_DIGIT, /* 4 */ - /* 53 */ ED_ARGUMENT_DIGIT, /* 5 */ - /* 54 */ ED_ARGUMENT_DIGIT, /* 6 */ - /* 55 */ ED_ARGUMENT_DIGIT, /* 7 */ - /* 56 */ ED_ARGUMENT_DIGIT, /* 8 */ - /* 57 */ ED_ARGUMENT_DIGIT, /* 9 */ - /* 58 */ ED_COMMAND, /* : */ - /* 59 */ VI_REPEAT_NEXT_CHAR, /* ; */ - /* 60 */ ED_UNASSIGNED, /* < */ - /* 61 */ ED_UNASSIGNED, /* = */ - /* 62 */ ED_UNASSIGNED, /* > */ - /* 63 */ VI_SEARCH_NEXT, /* ? */ - /* 64 */ VI_ALIAS, /* @ */ - /* 65 */ VI_ADD_AT_EOL, /* A */ - /* 66 */ VI_PREV_BIG_WORD, /* B */ - /* 67 */ VI_CHANGE_TO_EOL, /* C */ - /* 68 */ ED_KILL_LINE, /* D */ - /* 69 */ VI_END_BIG_WORD, /* E */ - /* 70 */ VI_PREV_CHAR, /* F */ - /* 71 */ VI_TO_HISTORY_LINE, /* G */ - /* 72 */ ED_UNASSIGNED, /* H */ - /* 73 */ VI_INSERT_AT_BOL, /* I */ - /* 74 */ ED_SEARCH_NEXT_HISTORY, /* J */ - /* 75 */ ED_SEARCH_PREV_HISTORY, /* K */ - /* 76 */ ED_UNASSIGNED, /* L */ - /* 77 */ ED_UNASSIGNED, /* M */ - /* 78 */ VI_REPEAT_SEARCH_PREV, /* N */ - /* 79 */ ED_SEQUENCE_LEAD_IN, /* O */ - /* 80 */ VI_PASTE_PREV, /* P */ - /* 81 */ ED_UNASSIGNED, /* Q */ - /* 82 */ VI_REPLACE_MODE, /* R */ - /* 83 */ VI_SUBSTITUTE_LINE, /* S */ - /* 84 */ VI_TO_PREV_CHAR, /* T */ - /* 85 */ VI_UNDO_LINE, /* U */ - /* 86 */ ED_UNASSIGNED, /* V */ - /* 87 */ VI_NEXT_BIG_WORD, /* W */ - /* 88 */ ED_DELETE_PREV_CHAR, /* X */ - /* 89 */ VI_YANK_END, /* Y */ - /* 90 */ ED_UNASSIGNED, /* Z */ - /* 91 */ ED_SEQUENCE_LEAD_IN, /* [ */ - /* 92 */ ED_UNASSIGNED, /* \ */ - /* 93 */ ED_UNASSIGNED, /* ] */ - /* 94 */ ED_MOVE_TO_BEG, /* ^ */ - /* 95 */ VI_HISTORY_WORD, /* _ */ - /* 96 */ ED_UNASSIGNED, /* ` */ - /* 97 */ VI_ADD, /* a */ - /* 98 */ VI_PREV_WORD, /* b */ - /* 99 */ VI_CHANGE_META, /* c */ - /* 100 */ VI_DELETE_META, /* d */ - /* 101 */ VI_END_WORD, /* e */ - /* 102 */ VI_NEXT_CHAR, /* f */ - /* 103 */ ED_UNASSIGNED, /* g */ - /* 104 */ ED_PREV_CHAR, /* h */ - /* 105 */ VI_INSERT, /* i */ - /* 106 */ ED_NEXT_HISTORY, /* j */ - /* 107 */ ED_PREV_HISTORY, /* k */ - /* 108 */ ED_NEXT_CHAR, /* l */ - /* 109 */ ED_UNASSIGNED, /* m */ - /* 110 */ VI_REPEAT_SEARCH_NEXT, /* n */ - /* 111 */ ED_UNASSIGNED, /* o */ - /* 112 */ VI_PASTE_NEXT, /* p */ - /* 113 */ ED_UNASSIGNED, /* q */ - /* 114 */ VI_REPLACE_CHAR, /* r */ - /* 115 */ VI_SUBSTITUTE_CHAR, /* s */ - /* 116 */ VI_TO_NEXT_CHAR, /* t */ - /* 117 */ VI_UNDO, /* u */ - /* 118 */ VI_HISTEDIT, /* v */ - /* 119 */ VI_NEXT_WORD, /* w */ - /* 120 */ ED_DELETE_NEXT_CHAR, /* x */ - /* 121 */ VI_YANK, /* y */ - /* 122 */ ED_UNASSIGNED, /* z */ - /* 123 */ ED_UNASSIGNED, /* { */ - /* 124 */ VI_TO_COLUMN, /* | */ - /* 125 */ ED_UNASSIGNED, /* } */ - /* 126 */ VI_CHANGE_CASE, /* ~ */ - /* 127 */ ED_DELETE_PREV_CHAR, /* ^? */ - /* 128 */ ED_UNASSIGNED, /* M-^@ */ - /* 129 */ ED_UNASSIGNED, /* M-^A */ - /* 130 */ ED_UNASSIGNED, /* M-^B */ - /* 131 */ ED_UNASSIGNED, /* M-^C */ - /* 132 */ ED_UNASSIGNED, /* M-^D */ - /* 133 */ ED_UNASSIGNED, /* M-^E */ - /* 134 */ ED_UNASSIGNED, /* M-^F */ - /* 135 */ ED_UNASSIGNED, /* M-^G */ - /* 136 */ ED_UNASSIGNED, /* M-^H */ - /* 137 */ ED_UNASSIGNED, /* M-^I */ - /* 138 */ ED_UNASSIGNED, /* M-^J */ - /* 139 */ ED_UNASSIGNED, /* M-^K */ - /* 140 */ ED_UNASSIGNED, /* M-^L */ - /* 141 */ ED_UNASSIGNED, /* M-^M */ - /* 142 */ ED_UNASSIGNED, /* M-^N */ - /* 143 */ ED_UNASSIGNED, /* M-^O */ - /* 144 */ ED_UNASSIGNED, /* M-^P */ - /* 145 */ ED_UNASSIGNED, /* M-^Q */ - /* 146 */ ED_UNASSIGNED, /* M-^R */ - /* 147 */ ED_UNASSIGNED, /* M-^S */ - /* 148 */ ED_UNASSIGNED, /* M-^T */ - /* 149 */ ED_UNASSIGNED, /* M-^U */ - /* 150 */ ED_UNASSIGNED, /* M-^V */ - /* 151 */ ED_UNASSIGNED, /* M-^W */ - /* 152 */ ED_UNASSIGNED, /* M-^X */ - /* 153 */ ED_UNASSIGNED, /* M-^Y */ - /* 154 */ ED_UNASSIGNED, /* M-^Z */ - /* 155 */ ED_UNASSIGNED, /* M-^[ */ - /* 156 */ ED_UNASSIGNED, /* M-^\ */ - /* 157 */ ED_UNASSIGNED, /* M-^] */ - /* 158 */ ED_UNASSIGNED, /* M-^^ */ - /* 159 */ ED_UNASSIGNED, /* M-^_ */ - /* 160 */ ED_UNASSIGNED, /* M-SPACE */ - /* 161 */ ED_UNASSIGNED, /* M-! */ - /* 162 */ ED_UNASSIGNED, /* M-" */ - /* 163 */ ED_UNASSIGNED, /* M-# */ - /* 164 */ ED_UNASSIGNED, /* M-$ */ - /* 165 */ ED_UNASSIGNED, /* M-% */ - /* 166 */ ED_UNASSIGNED, /* M-& */ - /* 167 */ ED_UNASSIGNED, /* M-' */ - /* 168 */ ED_UNASSIGNED, /* M-( */ - /* 169 */ ED_UNASSIGNED, /* M-) */ - /* 170 */ ED_UNASSIGNED, /* M-* */ - /* 171 */ ED_UNASSIGNED, /* M-+ */ - /* 172 */ ED_UNASSIGNED, /* M-, */ - /* 173 */ ED_UNASSIGNED, /* M-- */ - /* 174 */ ED_UNASSIGNED, /* M-. */ - /* 175 */ ED_UNASSIGNED, /* M-/ */ - /* 176 */ ED_UNASSIGNED, /* M-0 */ - /* 177 */ ED_UNASSIGNED, /* M-1 */ - /* 178 */ ED_UNASSIGNED, /* M-2 */ - /* 179 */ ED_UNASSIGNED, /* M-3 */ - /* 180 */ ED_UNASSIGNED, /* M-4 */ - /* 181 */ ED_UNASSIGNED, /* M-5 */ - /* 182 */ ED_UNASSIGNED, /* M-6 */ - /* 183 */ ED_UNASSIGNED, /* M-7 */ - /* 184 */ ED_UNASSIGNED, /* M-8 */ - /* 185 */ ED_UNASSIGNED, /* M-9 */ - /* 186 */ ED_UNASSIGNED, /* M-: */ - /* 187 */ ED_UNASSIGNED, /* M-; */ - /* 188 */ ED_UNASSIGNED, /* M-< */ - /* 189 */ ED_UNASSIGNED, /* M-= */ - /* 190 */ ED_UNASSIGNED, /* M-> */ - /* 191 */ ED_UNASSIGNED, /* M-? */ - /* 192 */ ED_UNASSIGNED, /* M-@ */ - /* 193 */ ED_UNASSIGNED, /* M-A */ - /* 194 */ ED_UNASSIGNED, /* M-B */ - /* 195 */ ED_UNASSIGNED, /* M-C */ - /* 196 */ ED_UNASSIGNED, /* M-D */ - /* 197 */ ED_UNASSIGNED, /* M-E */ - /* 198 */ ED_UNASSIGNED, /* M-F */ - /* 199 */ ED_UNASSIGNED, /* M-G */ - /* 200 */ ED_UNASSIGNED, /* M-H */ - /* 201 */ ED_UNASSIGNED, /* M-I */ - /* 202 */ ED_UNASSIGNED, /* M-J */ - /* 203 */ ED_UNASSIGNED, /* M-K */ - /* 204 */ ED_UNASSIGNED, /* M-L */ - /* 205 */ ED_UNASSIGNED, /* M-M */ - /* 206 */ ED_UNASSIGNED, /* M-N */ - /* 207 */ ED_SEQUENCE_LEAD_IN, /* M-O */ - /* 208 */ ED_UNASSIGNED, /* M-P */ - /* 209 */ ED_UNASSIGNED, /* M-Q */ - /* 210 */ ED_UNASSIGNED, /* M-R */ - /* 211 */ ED_UNASSIGNED, /* M-S */ - /* 212 */ ED_UNASSIGNED, /* M-T */ - /* 213 */ ED_UNASSIGNED, /* M-U */ - /* 214 */ ED_UNASSIGNED, /* M-V */ - /* 215 */ ED_UNASSIGNED, /* M-W */ - /* 216 */ ED_UNASSIGNED, /* M-X */ - /* 217 */ ED_UNASSIGNED, /* M-Y */ - /* 218 */ ED_UNASSIGNED, /* M-Z */ - /* 219 */ ED_SEQUENCE_LEAD_IN, /* M-[ */ - /* 220 */ ED_UNASSIGNED, /* M-\ */ - /* 221 */ ED_UNASSIGNED, /* M-] */ - /* 222 */ ED_UNASSIGNED, /* M-^ */ - /* 223 */ ED_UNASSIGNED, /* M-_ */ - /* 224 */ ED_UNASSIGNED, /* M-` */ - /* 225 */ ED_UNASSIGNED, /* M-a */ - /* 226 */ ED_UNASSIGNED, /* M-b */ - /* 227 */ ED_UNASSIGNED, /* M-c */ - /* 228 */ ED_UNASSIGNED, /* M-d */ - /* 229 */ ED_UNASSIGNED, /* M-e */ - /* 230 */ ED_UNASSIGNED, /* M-f */ - /* 231 */ ED_UNASSIGNED, /* M-g */ - /* 232 */ ED_UNASSIGNED, /* M-h */ - /* 233 */ ED_UNASSIGNED, /* M-i */ - /* 234 */ ED_UNASSIGNED, /* M-j */ - /* 235 */ ED_UNASSIGNED, /* M-k */ - /* 236 */ ED_UNASSIGNED, /* M-l */ - /* 237 */ ED_UNASSIGNED, /* M-m */ - /* 238 */ ED_UNASSIGNED, /* M-n */ - /* 239 */ ED_UNASSIGNED, /* M-o */ - /* 240 */ ED_UNASSIGNED, /* M-p */ - /* 241 */ ED_UNASSIGNED, /* M-q */ - /* 242 */ ED_UNASSIGNED, /* M-r */ - /* 243 */ ED_UNASSIGNED, /* M-s */ - /* 244 */ ED_UNASSIGNED, /* M-t */ - /* 245 */ ED_UNASSIGNED, /* M-u */ - /* 246 */ ED_UNASSIGNED, /* M-v */ - /* 247 */ ED_UNASSIGNED, /* M-w */ - /* 248 */ ED_UNASSIGNED, /* M-x */ - /* 249 */ ED_UNASSIGNED, /* M-y */ - /* 250 */ ED_UNASSIGNED, /* M-z */ - /* 251 */ ED_UNASSIGNED, /* M-{ */ - /* 252 */ ED_UNASSIGNED, /* M-| */ - /* 253 */ ED_UNASSIGNED, /* M-} */ - /* 254 */ ED_UNASSIGNED, /* M-~ */ - /* 255 */ ED_UNASSIGNED /* M-^? */ -}; - - -/* map_init(): - * Initialize and allocate the maps - */ -libedit_private int -map_init(EditLine *el) -{ - - /* - * Make sure those are correct before starting. - */ -#ifdef MAP_DEBUG - if (sizeof(el_map_emacs) != N_KEYS * sizeof(el_action_t)) - EL_ABORT((el->errfile, "Emacs map incorrect\n")); - if (sizeof(el_map_vi_command) != N_KEYS * sizeof(el_action_t)) - EL_ABORT((el->errfile, "Vi command map incorrect\n")); - if (sizeof(el_map_vi_insert) != N_KEYS * sizeof(el_action_t)) - EL_ABORT((el->errfile, "Vi insert map incorrect\n")); -#endif - - el->el_map.alt = el_malloc(sizeof(*el->el_map.alt) * N_KEYS); - if (el->el_map.alt == NULL) - return -1; - el->el_map.key = el_malloc(sizeof(*el->el_map.key) * N_KEYS); - if (el->el_map.key == NULL) - return -1; - el->el_map.emacs = el_map_emacs; - el->el_map.vic = el_map_vi_command; - el->el_map.vii = el_map_vi_insert; - el->el_map.help = el_malloc(sizeof(*el->el_map.help) * EL_NUM_FCNS); - if (el->el_map.help == NULL) - return -1; - (void) memcpy(el->el_map.help, el_func_help, - sizeof(*el->el_map.help) * EL_NUM_FCNS); - el->el_map.func = el_malloc(sizeof(*el->el_map.func) * EL_NUM_FCNS); - if (el->el_map.func == NULL) - return -1; - memcpy(el->el_map.func, el_func, sizeof(*el->el_map.func) - * EL_NUM_FCNS); - el->el_map.nfunc = EL_NUM_FCNS; - -#ifdef VIDEFAULT - map_init_vi(el); -#else - map_init_emacs(el); -#endif /* VIDEFAULT */ - return 0; -} - - -/* map_end(): - * Free the space taken by the editor maps - */ -libedit_private void -map_end(EditLine *el) -{ - - el_free(el->el_map.alt); - el->el_map.alt = NULL; - el_free(el->el_map.key); - el->el_map.key = NULL; - el->el_map.emacs = NULL; - el->el_map.vic = NULL; - el->el_map.vii = NULL; - el_free(el->el_map.help); - el->el_map.help = NULL; - el_free(el->el_map.func); - el->el_map.func = NULL; -} - - -/* map_init_nls(): - * Find all the printable keys and bind them to self insert - */ -static void -map_init_nls(EditLine *el) -{ - int i; - - el_action_t *map = el->el_map.key; - - for (i = 0200; i <= 0377; i++) - if (iswprint(i)) - map[i] = ED_INSERT; -} - - -/* map_init_meta(): - * Bind all the meta keys to the appropriate ESC- sequence - */ -static void -map_init_meta(EditLine *el) -{ - wchar_t buf[3]; - int i; - el_action_t *map = el->el_map.key; - el_action_t *alt = el->el_map.alt; - - for (i = 0; i <= 0377 && map[i] != EM_META_NEXT; i++) - continue; - - if (i > 0377) { - for (i = 0; i <= 0377 && alt[i] != EM_META_NEXT; i++) - continue; - if (i > 0377) { - i = 033; - if (el->el_map.type == MAP_VI) - map = alt; - } else - map = alt; - } - buf[0] = (wchar_t)i; - buf[2] = 0; - for (i = 0200; i <= 0377; i++) - switch (map[i]) { - case ED_INSERT: - case ED_UNASSIGNED: - case ED_SEQUENCE_LEAD_IN: - break; - default: - buf[1] = i & 0177; - keymacro_add(el, buf, keymacro_map_cmd(el, (int) map[i]), XK_CMD); - break; - } - map[(int) buf[0]] = ED_SEQUENCE_LEAD_IN; -} - - -/* map_init_vi(): - * Initialize the vi bindings - */ -libedit_private void -map_init_vi(EditLine *el) -{ - int i; - el_action_t *key = el->el_map.key; - el_action_t *alt = el->el_map.alt; - const el_action_t *vii = el->el_map.vii; - const el_action_t *vic = el->el_map.vic; - - el->el_map.type = MAP_VI; - el->el_map.current = el->el_map.key; - - keymacro_reset(el); - - for (i = 0; i < N_KEYS; i++) { - key[i] = vii[i]; - alt[i] = vic[i]; - } - - map_init_meta(el); - map_init_nls(el); - - tty_bind_char(el, 1); - terminal_bind_arrow(el); -} - - -/* map_init_emacs(): - * Initialize the emacs bindings - */ -libedit_private void -map_init_emacs(EditLine *el) -{ - int i; - wchar_t buf[3]; - el_action_t *key = el->el_map.key; - el_action_t *alt = el->el_map.alt; - const el_action_t *emacs = el->el_map.emacs; - - el->el_map.type = MAP_EMACS; - el->el_map.current = el->el_map.key; - keymacro_reset(el); - - for (i = 0; i < N_KEYS; i++) { - key[i] = emacs[i]; - alt[i] = ED_UNASSIGNED; - } - - map_init_meta(el); - map_init_nls(el); - - buf[0] = CONTROL('X'); - buf[1] = CONTROL('X'); - buf[2] = 0; - keymacro_add(el, buf, keymacro_map_cmd(el, EM_EXCHANGE_MARK), XK_CMD); - - tty_bind_char(el, 1); - terminal_bind_arrow(el); -} - - -/* map_set_editor(): - * Set the editor - */ -libedit_private int -map_set_editor(EditLine *el, wchar_t *editor) -{ - - if (wcscmp(editor, L"emacs") == 0) { - map_init_emacs(el); - return 0; - } - if (wcscmp(editor, L"vi") == 0) { - map_init_vi(el); - return 0; - } - return -1; -} - - -/* map_get_editor(): - * Retrieve the editor - */ -libedit_private int -map_get_editor(EditLine *el, const wchar_t **editor) -{ - - if (editor == NULL) - return -1; - switch (el->el_map.type) { - case MAP_EMACS: - *editor = L"emacs"; - return 0; - case MAP_VI: - *editor = L"vi"; - return 0; - } - return -1; -} - - -/* map_print_key(): - * Print the function description for 1 key - */ -static void -map_print_key(EditLine *el, el_action_t *map, const wchar_t *in) -{ - char outbuf[EL_BUFSIZ]; - el_bindings_t *bp, *ep; - - if (in[0] == '\0' || in[1] == '\0') { - (void) keymacro__decode_str(in, outbuf, sizeof(outbuf), ""); - ep = &el->el_map.help[el->el_map.nfunc]; - for (bp = el->el_map.help; bp < ep; bp++) - if (bp->func == map[(unsigned char) *in]) { - (void) fprintf(el->el_outfile, - "%s\t->\t%ls\n", outbuf, bp->name); - return; - } - } else - keymacro_print(el, in); -} - - -/* map_print_some_keys(): - * Print keys from first to last - */ -static void -map_print_some_keys(EditLine *el, el_action_t *map, wint_t first, wint_t last) -{ - el_bindings_t *bp, *ep; - wchar_t firstbuf[2], lastbuf[2]; - char unparsbuf[EL_BUFSIZ], extrabuf[EL_BUFSIZ]; - - firstbuf[0] = first; - firstbuf[1] = 0; - lastbuf[0] = last; - lastbuf[1] = 0; - if (map[first] == ED_UNASSIGNED) { - if (first == last) { - (void) keymacro__decode_str(firstbuf, unparsbuf, - sizeof(unparsbuf), STRQQ); - (void) fprintf(el->el_outfile, - "%-15s-> is undefined\n", unparsbuf); - } - return; - } - ep = &el->el_map.help[el->el_map.nfunc]; - for (bp = el->el_map.help; bp < ep; bp++) { - if (bp->func == map[first]) { - if (first == last) { - (void) keymacro__decode_str(firstbuf, unparsbuf, - sizeof(unparsbuf), STRQQ); - (void) fprintf(el->el_outfile, "%-15s-> %ls\n", - unparsbuf, bp->name); - } else { - (void) keymacro__decode_str(firstbuf, unparsbuf, - sizeof(unparsbuf), STRQQ); - (void) keymacro__decode_str(lastbuf, extrabuf, - sizeof(extrabuf), STRQQ); - (void) fprintf(el->el_outfile, - "%-4s to %-7s-> %ls\n", - unparsbuf, extrabuf, bp->name); - } - return; - } - } -#ifdef MAP_DEBUG - if (map == el->el_map.key) { - (void) keymacro__decode_str(firstbuf, unparsbuf, - sizeof(unparsbuf), STRQQ); - (void) fprintf(el->el_outfile, - "BUG!!! %s isn't bound to anything.\n", unparsbuf); - (void) fprintf(el->el_outfile, "el->el_map.key[%d] == %d\n", - first, el->el_map.key[first]); - } else { - (void) keymacro__decode_str(firstbuf, unparsbuf, - sizeof(unparsbuf), STRQQ); - (void) fprintf(el->el_outfile, - "BUG!!! %s isn't bound to anything.\n", unparsbuf); - (void) fprintf(el->el_outfile, "el->el_map.alt[%d] == %d\n", - first, el->el_map.alt[first]); - } -#endif - EL_ABORT((el->el_errfile, "Error printing keys\n")); -} - - -/* map_print_all_keys(): - * Print the function description for all keys. - */ -static void -map_print_all_keys(EditLine *el) -{ - int prev, i; - - (void) fprintf(el->el_outfile, "Standard key bindings\n"); - prev = 0; - for (i = 0; i < N_KEYS; i++) { - if (el->el_map.key[prev] == el->el_map.key[i]) - continue; - map_print_some_keys(el, el->el_map.key, prev, i - 1); - prev = i; - } - map_print_some_keys(el, el->el_map.key, prev, i - 1); - - (void) fprintf(el->el_outfile, "Alternative key bindings\n"); - prev = 0; - for (i = 0; i < N_KEYS; i++) { - if (el->el_map.alt[prev] == el->el_map.alt[i]) - continue; - map_print_some_keys(el, el->el_map.alt, prev, i - 1); - prev = i; - } - map_print_some_keys(el, el->el_map.alt, prev, i - 1); - - (void) fprintf(el->el_outfile, "Multi-character bindings\n"); - keymacro_print(el, L""); - (void) fprintf(el->el_outfile, "Arrow key bindings\n"); - terminal_print_arrow(el, L""); -} - - -/* map_bind(): - * Add/remove/change bindings - */ -libedit_private int -map_bind(EditLine *el, int argc, const wchar_t **argv) -{ - el_action_t *map; - int ntype, rem; - const wchar_t *p; - wchar_t inbuf[EL_BUFSIZ]; - wchar_t outbuf[EL_BUFSIZ]; - const wchar_t *in = NULL; - wchar_t *out; - el_bindings_t *bp, *ep; - int cmd; - int key; - - if (argv == NULL) - return -1; - - map = el->el_map.key; - ntype = XK_CMD; - key = rem = 0; - for (argc = 1; (p = argv[argc]) != NULL; argc++) - if (p[0] == '-') - switch (p[1]) { - case 'a': - map = el->el_map.alt; - break; - - case 's': - ntype = XK_STR; - break; - case 'k': - key = 1; - break; - - case 'r': - rem = 1; - break; - - case 'v': - map_init_vi(el); - return 0; - - case 'e': - map_init_emacs(el); - return 0; - - case 'l': - ep = &el->el_map.help[el->el_map.nfunc]; - for (bp = el->el_map.help; bp < ep; bp++) - (void) fprintf(el->el_outfile, - "%ls\n\t%ls\n", - bp->name, bp->description); - return 0; - default: - (void) fprintf(el->el_errfile, - "%ls: Invalid switch `%lc'.\n", - argv[0], (wint_t)p[1]); - } - else - break; - - if (argv[argc] == NULL) { - map_print_all_keys(el); - return 0; - } - if (key) - in = argv[argc++]; - else if ((in = parse__string(inbuf, argv[argc++])) == NULL) { - (void) fprintf(el->el_errfile, - "%ls: Invalid \\ or ^ in instring.\n", - argv[0]); - return -1; - } - if (rem) { - if (key) { - (void) terminal_clear_arrow(el, in); - return -1; - } - if (in[1]) - (void) keymacro_delete(el, in); - else if (map[(unsigned char) *in] == ED_SEQUENCE_LEAD_IN) - (void) keymacro_delete(el, in); - else - map[(unsigned char) *in] = ED_UNASSIGNED; - return 0; - } - if (argv[argc] == NULL) { - if (key) - terminal_print_arrow(el, in); - else - map_print_key(el, map, in); - return 0; - } -#ifdef notyet - if (argv[argc + 1] != NULL) { - bindkeymacro_usage(); - return -1; - } -#endif - - switch (ntype) { - case XK_STR: - if ((out = parse__string(outbuf, argv[argc])) == NULL) { - (void) fprintf(el->el_errfile, - "%ls: Invalid \\ or ^ in outstring.\n", argv[0]); - return -1; - } - if (key) - terminal_set_arrow(el, in, keymacro_map_str(el, out), ntype); - else - keymacro_add(el, in, keymacro_map_str(el, out), ntype); - map[(unsigned char) *in] = ED_SEQUENCE_LEAD_IN; - break; - - case XK_CMD: - if ((cmd = parse_cmd(el, argv[argc])) == -1) { - (void) fprintf(el->el_errfile, - "%ls: Invalid command `%ls'.\n", - argv[0], argv[argc]); - return -1; - } - if (key) - terminal_set_arrow(el, in, keymacro_map_cmd(el, cmd), ntype); - else { - if (in[1]) { - keymacro_add(el, in, keymacro_map_cmd(el, cmd), ntype); - map[(unsigned char) *in] = ED_SEQUENCE_LEAD_IN; - } else { - keymacro_clear(el, map, in); - map[(unsigned char) *in] = (el_action_t)cmd; - } - } - break; - - /* coverity[dead_error_begin] */ - default: - EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", ntype)); - break; - } - return 0; -} - - -/* map_addfunc(): - * add a user defined function - */ -libedit_private int -map_addfunc(EditLine *el, const wchar_t *name, const wchar_t *help, - el_func_t func) -{ - void *p; - size_t nf = el->el_map.nfunc + 1; - - if (name == NULL || help == NULL || func == NULL) - return -1; - - if ((p = el_realloc(el->el_map.func, nf * - sizeof(*el->el_map.func))) == NULL) - return -1; - el->el_map.func = p; - if ((p = el_realloc(el->el_map.help, nf * sizeof(*el->el_map.help))) - == NULL) - return -1; - el->el_map.help = p; - - nf = (size_t)el->el_map.nfunc; - el->el_map.func[nf] = func; - - el->el_map.help[nf].name = name; - el->el_map.help[nf].func = (int)nf; - el->el_map.help[nf].description = help; - el->el_map.nfunc++; - - return 0; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/map.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/map.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/map.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/map.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -/* $NetBSD: map.h,v 1.13 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)map.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.map.h: Editor maps - */ -#ifndef _h_el_map -#define _h_el_map - -typedef el_action_t (*el_func_t)(EditLine *, wint_t); - -typedef struct el_bindings_t { /* for the "bind" shell command */ - const wchar_t *name; /* function name for bind command */ - int func; /* function numeric value */ - const wchar_t *description; /* description of function */ -} el_bindings_t; - -typedef struct el_map_t { - el_action_t *alt; /* The current alternate key map */ - el_action_t *key; /* The current normal key map */ - el_action_t *current; /* The keymap we are using */ - const el_action_t *emacs; /* The default emacs key map */ - const el_action_t *vic; /* The vi command mode key map */ - const el_action_t *vii; /* The vi insert mode key map */ - int type; /* Emacs or vi */ - el_bindings_t *help; /* The help for the editor functions */ - el_func_t *func; /* List of available functions */ - size_t nfunc; /* The number of functions/help items */ -} el_map_t; - -#define MAP_EMACS 0 -#define MAP_VI 1 - -#define N_KEYS 256 - -libedit_private int map_bind(EditLine *, int, const wchar_t **); -libedit_private int map_init(EditLine *); -libedit_private void map_end(EditLine *); -libedit_private void map_init_vi(EditLine *); -libedit_private void map_init_emacs(EditLine *); -libedit_private int map_set_editor(EditLine *, wchar_t *); -libedit_private int map_get_editor(EditLine *, const wchar_t **); -libedit_private int map_addfunc(EditLine *, const wchar_t *, const wchar_t *, - el_func_t); - -#endif /* _h_el_map */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/parse.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/parse.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/parse.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/parse.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,289 +0,0 @@ -/* $NetBSD: parse.c,v 1.41 2018/11/29 03:10:20 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)parse.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: parse.c,v 1.41 2018/11/29 03:10:20 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * parse.c: parse an editline extended command - * - * commands are: - * - * bind - * echotc - * edit - * gettc - * history - * settc - * setty - */ -#include -#include - -#include "el.h" -#include "parse.h" - -static const struct { - const wchar_t *name; - int (*func)(EditLine *, int, const wchar_t **); -} cmds[] = { - { L"bind", map_bind }, - { L"echotc", terminal_echotc }, - { L"edit", el_editmode }, - { L"history", hist_command }, - { L"telltc", terminal_telltc }, - { L"settc", terminal_settc }, - { L"setty", tty_stty }, - { NULL, NULL } -}; - - -/* parse_line(): - * Parse a line and dispatch it - */ -libedit_private int -parse_line(EditLine *el, const wchar_t *line) -{ - const wchar_t **argv = NULL; - int argc = 0; - TokenizerW *tok; - - tok = tok_winit(NULL); - tok_wstr(tok, line, &argc, &argv); - argc = el_wparse(el, argc, argv); - tok_wend(tok); - return argc; -} - - -/* el_parse(): - * Command dispatcher - */ -int -el_wparse(EditLine *el, int argc, const wchar_t *argv[]) -{ - const wchar_t *ptr; - int i; - - if (argc < 1) - return -1; - ptr = wcschr(argv[0], L':'); - if (ptr != NULL) { - wchar_t *tprog; - size_t l; - - if (ptr == argv[0]) - return 0; - l = (size_t)(ptr - argv[0]); - tprog = el_malloc((l + 1) * sizeof(*tprog)); - if (tprog == NULL) - return 0; - (void) wcsncpy(tprog, argv[0], l); - tprog[l] = '\0'; - ptr++; - l = (size_t)el_match(el->el_prog, tprog); - el_free(tprog); - if (!l) - return 0; - } else - ptr = argv[0]; - - for (i = 0; cmds[i].name != NULL; i++) - if (wcscmp(cmds[i].name, ptr) == 0) { - i = (*cmds[i].func) (el, argc, argv); - return -i; - } - return -1; -} - - -/* parse__escape(): - * Parse a string of the form ^ \ \ \U+xxxx and return - * the appropriate character or -1 if the escape is not valid - */ -libedit_private int -parse__escape(const wchar_t **ptr) -{ - const wchar_t *p; - wint_t c; - - p = *ptr; - - if (p[1] == 0) - return -1; - - if (*p == '\\') { - p++; - switch (*p) { - case 'a': - c = '\007'; /* Bell */ - break; - case 'b': - c = '\010'; /* Backspace */ - break; - case 't': - c = '\011'; /* Horizontal Tab */ - break; - case 'n': - c = '\012'; /* New Line */ - break; - case 'v': - c = '\013'; /* Vertical Tab */ - break; - case 'f': - c = '\014'; /* Form Feed */ - break; - case 'r': - c = '\015'; /* Carriage Return */ - break; - case 'e': - c = '\033'; /* Escape */ - break; - case 'U': /* Unicode \U+xxxx or \U+xxxxx format */ - { - int i; - const wchar_t hex[] = L"0123456789ABCDEF"; - const wchar_t *h; - ++p; - if (*p++ != '+') - return -1; - c = 0; - for (i = 0; i < 5; ++i) { - h = wcschr(hex, *p++); - if (!h && i < 4) - return -1; - else if (h) - c = (c << 4) | ((int)(h - hex)); - else - --p; - } - if (c > 0x10FFFF) /* outside valid character range */ - return -1; - break; - } - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - { - int cnt, ch; - - for (cnt = 0, c = 0; cnt < 3; cnt++) { - ch = *p++; - if (ch < '0' || ch > '7') { - p--; - break; - } - c = (c << 3) | (ch - '0'); - } - if ((c & (wint_t)0xffffff00) != (wint_t)0) - return -1; - --p; - break; - } - default: - c = *p; - break; - } - } else if (*p == '^') { - p++; - c = (*p == '?') ? '\177' : (*p & 0237); - } else - c = *p; - *ptr = ++p; - return c; -} - -/* parse__string(): - * Parse the escapes from in and put the raw string out - */ -libedit_private wchar_t * -parse__string(wchar_t *out, const wchar_t *in) -{ - wchar_t *rv = out; - int n; - - for (;;) - switch (*in) { - case '\0': - *out = '\0'; - return rv; - - case '\\': - case '^': - if ((n = parse__escape(&in)) == -1) - return NULL; - *out++ = (wchar_t)n; - break; - - case 'M': - if (in[1] == '-' && in[2] != '\0') { - *out++ = '\033'; - in += 2; - break; - } - /*FALLTHROUGH*/ - - default: - *out++ = *in++; - break; - } -} - - -/* parse_cmd(): - * Return the command number for the command string given - * or -1 if one is not found - */ -libedit_private int -parse_cmd(EditLine *el, const wchar_t *cmd) -{ - el_bindings_t *b = el->el_map.help; - size_t i; - - for (i = 0; i < el->el_map.nfunc; i++) - if (wcscmp(b[i].name, cmd) == 0) - return b[i].func; - return -1; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/parse.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/parse.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/parse.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/parse.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ -/* $NetBSD: parse.h,v 1.9 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)parse.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.parse.h: Parser functions - */ -#ifndef _h_el_parse -#define _h_el_parse - -libedit_private int parse_line(EditLine *, const wchar_t *); -libedit_private int parse__escape(const wchar_t **); -libedit_private wchar_t *parse__string(wchar_t *, const wchar_t *); -libedit_private int parse_cmd(EditLine *, const wchar_t *); - -#endif /* _h_el_parse */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/prompt.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/prompt.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/prompt.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/prompt.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,202 +0,0 @@ -/* $NetBSD: prompt.c,v 1.27 2017/06/27 23:25:13 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)prompt.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: prompt.c,v 1.27 2017/06/27 23:25:13 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * prompt.c: Prompt printing functions - */ -#include -#include "el.h" - -static wchar_t *prompt_default(EditLine *); -static wchar_t *prompt_default_r(EditLine *); - -/* prompt_default(): - * Just a default prompt, in case the user did not provide one - */ -static wchar_t * -/*ARGSUSED*/ -prompt_default(EditLine *el __attribute__((__unused__))) -{ - static wchar_t a[3] = L"? "; - - return a; -} - - -/* prompt_default_r(): - * Just a default rprompt, in case the user did not provide one - */ -static wchar_t * -/*ARGSUSED*/ -prompt_default_r(EditLine *el __attribute__((__unused__))) -{ - static wchar_t a[1] = L""; - - return a; -} - - -/* prompt_print(): - * Print the prompt and update the prompt position. - */ -libedit_private void -prompt_print(EditLine *el, int op) -{ - el_prompt_t *elp; - wchar_t *p; - - if (op == EL_PROMPT) - elp = &el->el_prompt; - else - elp = &el->el_rprompt; - - if (elp->p_wide) - p = (*elp->p_func)(el); - else - p = ct_decode_string((char *)(void *)(*elp->p_func)(el), - &el->el_scratch); - - for (; *p; p++) { - if (elp->p_ignore == *p) { - wchar_t *litstart = ++p; - while (*p && *p != elp->p_ignore) - p++; - if (!*p || !p[1]) { - // XXX: We lose the last literal - break; - } - re_putliteral(el, litstart, p++); - continue; - } - re_putc(el, *p, 1); - } - - elp->p_pos.v = el->el_refresh.r_cursor.v; - elp->p_pos.h = el->el_refresh.r_cursor.h; -} - - -/* prompt_init(): - * Initialize the prompt stuff - */ -libedit_private int -prompt_init(EditLine *el) -{ - - el->el_prompt.p_func = prompt_default; - el->el_prompt.p_pos.v = 0; - el->el_prompt.p_pos.h = 0; - el->el_prompt.p_ignore = '\0'; - el->el_rprompt.p_func = prompt_default_r; - el->el_rprompt.p_pos.v = 0; - el->el_rprompt.p_pos.h = 0; - el->el_rprompt.p_ignore = '\0'; - return 0; -} - - -/* prompt_end(): - * Clean up the prompt stuff - */ -libedit_private void -/*ARGSUSED*/ -prompt_end(EditLine *el __attribute__((__unused__))) -{ -} - - -/* prompt_set(): - * Install a prompt printing function - */ -libedit_private int -prompt_set(EditLine *el, el_pfunc_t prf, wchar_t c, int op, int wide) -{ - el_prompt_t *p; - - if (op == EL_PROMPT || op == EL_PROMPT_ESC) - p = &el->el_prompt; - else - p = &el->el_rprompt; - - if (prf == NULL) { - if (op == EL_PROMPT || op == EL_PROMPT_ESC) - p->p_func = prompt_default; - else - p->p_func = prompt_default_r; - } else { - p->p_func = prf; - } - - p->p_ignore = c; - - p->p_pos.v = 0; - p->p_pos.h = 0; - p->p_wide = wide; - - return 0; -} - - -/* prompt_get(): - * Retrieve the prompt printing function - */ -libedit_private int -prompt_get(EditLine *el, el_pfunc_t *prf, wchar_t *c, int op) -{ - el_prompt_t *p; - - if (prf == NULL) - return -1; - - if (op == EL_PROMPT) - p = &el->el_prompt; - else - p = &el->el_rprompt; - - if (prf) - *prf = p->p_func; - if (c) - *c = p->p_ignore; - - return 0; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/prompt.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/prompt.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/prompt.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/prompt.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -/* $NetBSD: prompt.h,v 1.15 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)prompt.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.prompt.h: Prompt printing stuff - */ -#ifndef _h_el_prompt -#define _h_el_prompt - -typedef wchar_t *(*el_pfunc_t)(EditLine *); - -typedef struct el_prompt_t { - el_pfunc_t p_func; /* Function to return the prompt */ - coord_t p_pos; /* position in the line after prompt */ - wchar_t p_ignore; /* character to start/end literal */ - int p_wide; -} el_prompt_t; - -libedit_private void prompt_print(EditLine *, int); -libedit_private int prompt_set(EditLine *, el_pfunc_t, wchar_t, int, int); -libedit_private int prompt_get(EditLine *, el_pfunc_t *, wchar_t *, int); -libedit_private int prompt_init(EditLine *); -libedit_private void prompt_end(EditLine *); - -#endif /* _h_el_prompt */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/read.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/read.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/read.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/read.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,625 +0,0 @@ -/* $NetBSD: read.c,v 1.105 2018/11/25 16:21:04 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)read.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: read.c,v 1.105 2018/11/25 16:21:04 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * read.c: Terminal read functions - */ -#include -#include -#include -#include -#include -#include -#include - -#include "el.h" -#include "fcns.h" -#include "read.h" - -#define EL_MAXMACRO 10 - -struct macros { - wchar_t **macro; - int level; - int offset; -}; - -struct el_read_t { - struct macros macros; - el_rfunc_t read_char; /* Function to read a character. */ - int read_errno; -}; - -static int read__fixio(int, int); -static int read_char(EditLine *, wchar_t *); -static int read_getcmd(EditLine *, el_action_t *, wchar_t *); -static void read_clearmacros(struct macros *); -static void read_pop(struct macros *); -static const wchar_t *noedit_wgets(EditLine *, int *); - -/* read_init(): - * Initialize the read stuff - */ -libedit_private int -read_init(EditLine *el) -{ - struct macros *ma; - - if ((el->el_read = el_malloc(sizeof(*el->el_read))) == NULL) - return -1; - - ma = &el->el_read->macros; - if ((ma->macro = el_malloc(EL_MAXMACRO * - sizeof(*ma->macro))) == NULL) { - free(el->el_read); - return -1; - } - ma->level = -1; - ma->offset = 0; - - /* builtin read_char */ - el->el_read->read_char = read_char; - return 0; -} - -/* el_read_end(): - * Free the data structures used by the read stuff. - */ -libedit_private void -read_end(struct el_read_t *el_read) -{ - read_clearmacros(&el_read->macros); - el_free(el_read->macros.macro); - el_read->macros.macro = NULL; - el_free(el_read); -} - -/* el_read_setfn(): - * Set the read char function to the one provided. - * If it is set to EL_BUILTIN_GETCFN, then reset to the builtin one. - */ -libedit_private int -el_read_setfn(struct el_read_t *el_read, el_rfunc_t rc) -{ - el_read->read_char = (rc == EL_BUILTIN_GETCFN) ? read_char : rc; - return 0; -} - - -/* el_read_getfn(): - * return the current read char function, or EL_BUILTIN_GETCFN - * if it is the default one - */ -libedit_private el_rfunc_t -el_read_getfn(struct el_read_t *el_read) -{ - return el_read->read_char == read_char ? - EL_BUILTIN_GETCFN : el_read->read_char; -} - - -/* read__fixio(): - * Try to recover from a read error - */ -/* ARGSUSED */ -static int -read__fixio(int fd __attribute__((__unused__)), int e) -{ - - switch (e) { - case -1: /* Make sure that the code is reachable */ - -#ifdef EWOULDBLOCK - case EWOULDBLOCK: -#ifndef TRY_AGAIN -#define TRY_AGAIN -#endif -#endif /* EWOULDBLOCK */ - -#if defined(POSIX) && defined(EAGAIN) -#if defined(EWOULDBLOCK) && EWOULDBLOCK != EAGAIN - case EAGAIN: -#ifndef TRY_AGAIN -#define TRY_AGAIN -#endif -#endif /* EWOULDBLOCK && EWOULDBLOCK != EAGAIN */ -#endif /* POSIX && EAGAIN */ - - e = 0; -#ifdef TRY_AGAIN -#if defined(F_SETFL) && defined(O_NDELAY) - if ((e = fcntl(fd, F_GETFL, 0)) == -1) - return -1; - - if (fcntl(fd, F_SETFL, e & ~O_NDELAY) == -1) - return -1; - else - e = 1; -#endif /* F_SETFL && O_NDELAY */ - -#ifdef FIONBIO - { - int zero = 0; - - if (ioctl(fd, FIONBIO, &zero) == -1) - return -1; - else - e = 1; - } -#endif /* FIONBIO */ - -#endif /* TRY_AGAIN */ - return e ? 0 : -1; - - case EINTR: - return 0; - - default: - return -1; - } -} - - -/* el_push(): - * Push a macro - */ -void -el_wpush(EditLine *el, const wchar_t *str) -{ - struct macros *ma = &el->el_read->macros; - - if (str != NULL && ma->level + 1 < EL_MAXMACRO) { - ma->level++; - if ((ma->macro[ma->level] = wcsdup(str)) != NULL) - return; - ma->level--; - } - terminal_beep(el); - terminal__flush(el); -} - - -/* read_getcmd(): - * Get next command from the input stream, - * return 0 on success or -1 on EOF or error. - * Character values > 255 are not looked up in the map, but inserted. - */ -static int -read_getcmd(EditLine *el, el_action_t *cmdnum, wchar_t *ch) -{ - static const wchar_t meta = (wchar_t)0x80; - el_action_t cmd; - - do { - if (el_wgetc(el, ch) != 1) - return -1; - -#ifdef KANJI - if ((*ch & meta)) { - el->el_state.metanext = 0; - cmd = CcViMap[' ']; - break; - } else -#endif /* KANJI */ - - if (el->el_state.metanext) { - el->el_state.metanext = 0; - *ch |= meta; - } - if (*ch >= N_KEYS) - cmd = ED_INSERT; - else - cmd = el->el_map.current[(unsigned char) *ch]; - if (cmd == ED_SEQUENCE_LEAD_IN) { - keymacro_value_t val; - switch (keymacro_get(el, ch, &val)) { - case XK_CMD: - cmd = val.cmd; - break; - case XK_STR: - el_wpush(el, val.str); - break; - case XK_NOD: - return -1; - default: - EL_ABORT((el->el_errfile, "Bad XK_ type \n")); - break; - } - } - } while (cmd == ED_SEQUENCE_LEAD_IN); - *cmdnum = cmd; - return 0; -} - -/* read_char(): - * Read a character from the tty. - */ -static int -read_char(EditLine *el, wchar_t *cp) -{ - ssize_t num_read; - int tried = 0; - char cbuf[MB_LEN_MAX]; - size_t cbp = 0; - int save_errno = errno; - - again: - el->el_signal->sig_no = 0; - while ((num_read = read(el->el_infd, cbuf + cbp, (size_t)1)) == -1) { - int e = errno; - switch (el->el_signal->sig_no) { - case SIGCONT: - el_wset(el, EL_REFRESH); - /*FALLTHROUGH*/ - case SIGWINCH: - sig_set(el); - goto again; - /* Abort input of current line. */ - case SIGINT: - return (int) num_read; - default: - break; - } - if (!tried && read__fixio(el->el_infd, e) == 0) { - errno = save_errno; - tried = 1; - } else { - errno = e; - *cp = L'\0'; - return -1; - } - } - - /* Test for EOF */ - if (num_read == 0) { - *cp = L'\0'; - return 0; - } - - for (;;) { - mbstate_t mbs; - - ++cbp; - /* This only works because UTF8 is stateless. */ - memset(&mbs, 0, sizeof(mbs)); - switch (mbrtowc(cp, cbuf, cbp, &mbs)) { - case (size_t)-1: - if (cbp > 1) { - /* - * Invalid sequence, discard all bytes - * except the last one. - */ - cbuf[0] = cbuf[cbp - 1]; - cbp = 0; - break; - } else { - /* Invalid byte, discard it. */ - cbp = 0; - goto again; - } - case (size_t)-2: - if (cbp >= MB_LEN_MAX) { - errno = EILSEQ; - *cp = L'\0'; - return -1; - } - /* Incomplete sequence, read another byte. */ - goto again; - default: - /* Valid character, process it. */ - return 1; - } - } -} - -/* read_pop(): - * Pop a macro from the stack - */ -static void -read_pop(struct macros *ma) -{ - int i; - - el_free(ma->macro[0]); - for (i = 0; i < ma->level; i++) - ma->macro[i] = ma->macro[i + 1]; - ma->level--; - ma->offset = 0; -} - -static void -read_clearmacros(struct macros *ma) -{ - while (ma->level >= 0) - el_free(ma->macro[ma->level--]); - ma->offset = 0; -} - -/* el_wgetc(): - * Read a wide character - */ -int -el_wgetc(EditLine *el, wchar_t *cp) -{ - struct macros *ma = &el->el_read->macros; - int num_read; - - terminal__flush(el); - for (;;) { - if (ma->level < 0) - break; - - if (ma->macro[0][ma->offset] == '\0') { - read_pop(ma); - continue; - } - - *cp = ma->macro[0][ma->offset++]; - - if (ma->macro[0][ma->offset] == '\0') { - /* Needed for QuoteMode On */ - read_pop(ma); - } - - return 1; - } - - if (tty_rawmode(el) < 0)/* make sure the tty is set up correctly */ - return 0; - - num_read = (*el->el_read->read_char)(el, cp); - - /* - * Remember the original reason of a read failure - * such that el_wgets() can restore it after doing - * various cleanup operation that might change errno. - */ - if (num_read < 0) - el->el_read->read_errno = errno; - - return num_read; -} - -libedit_private void -read_prepare(EditLine *el) -{ - if (el->el_flags & HANDLE_SIGNALS) - sig_set(el); - if (el->el_flags & NO_TTY) - return; - if ((el->el_flags & (UNBUFFERED|EDIT_DISABLED)) == UNBUFFERED) - tty_rawmode(el); - - /* This is relatively cheap, and things go terribly wrong if - we have the wrong size. */ - el_resize(el); - re_clear_display(el); /* reset the display stuff */ - ch_reset(el); - re_refresh(el); /* print the prompt */ - - if (el->el_flags & UNBUFFERED) - terminal__flush(el); -} - -libedit_private void -read_finish(EditLine *el) -{ - if ((el->el_flags & UNBUFFERED) == 0) - (void) tty_cookedmode(el); - if (el->el_flags & HANDLE_SIGNALS) - sig_clr(el); -} - -static const wchar_t * -noedit_wgets(EditLine *el, int *nread) -{ - el_line_t *lp = &el->el_line; - int num; - - while ((num = (*el->el_read->read_char)(el, lp->lastchar)) == 1) { - if (lp->lastchar + 1 >= lp->limit && - !ch_enlargebufs(el, (size_t)2)) - break; - lp->lastchar++; - if (el->el_flags & UNBUFFERED || - lp->lastchar[-1] == '\r' || - lp->lastchar[-1] == '\n') - break; - } - if (num == -1 && errno == EINTR) - lp->lastchar = lp->buffer; - lp->cursor = lp->lastchar; - *lp->lastchar = '\0'; - *nread = (int)(lp->lastchar - lp->buffer); - return *nread ? lp->buffer : NULL; -} - -const wchar_t * -el_wgets(EditLine *el, int *nread) -{ - int retval; - el_action_t cmdnum = 0; - int num; /* how many chars we have read at NL */ - wchar_t ch; - int nrb; - - if (nread == NULL) - nread = &nrb; - *nread = 0; - el->el_read->read_errno = 0; - - if (el->el_flags & NO_TTY) { - el->el_line.lastchar = el->el_line.buffer; - return noedit_wgets(el, nread); - } - -#ifdef FIONREAD - if (el->el_tty.t_mode == EX_IO && el->el_read->macros.level < 0) { - int chrs = 0; - - (void) ioctl(el->el_infd, FIONREAD, &chrs); - if (chrs == 0) { - if (tty_rawmode(el) < 0) { - errno = 0; - *nread = 0; - return NULL; - } - } - } -#endif /* FIONREAD */ - - if ((el->el_flags & UNBUFFERED) == 0) - read_prepare(el); - - if (el->el_flags & EDIT_DISABLED) { - if ((el->el_flags & UNBUFFERED) == 0) - el->el_line.lastchar = el->el_line.buffer; - terminal__flush(el); - return noedit_wgets(el, nread); - } - - for (num = -1; num == -1;) { /* while still editing this line */ - /* if EOF or error */ - if (read_getcmd(el, &cmdnum, &ch) == -1) - break; - if ((size_t)cmdnum >= el->el_map.nfunc) /* BUG CHECK command */ - continue; /* try again */ - /* now do the real command */ - /* vi redo needs these way down the levels... */ - el->el_state.thiscmd = cmdnum; - el->el_state.thisch = ch; - if (el->el_map.type == MAP_VI && - el->el_map.current == el->el_map.key && - el->el_chared.c_redo.pos < el->el_chared.c_redo.lim) { - if (cmdnum == VI_DELETE_PREV_CHAR && - el->el_chared.c_redo.pos != el->el_chared.c_redo.buf - && iswprint(el->el_chared.c_redo.pos[-1])) - el->el_chared.c_redo.pos--; - else - *el->el_chared.c_redo.pos++ = ch; - } - retval = (*el->el_map.func[cmdnum]) (el, ch); - - /* save the last command here */ - el->el_state.lastcmd = cmdnum; - - /* use any return value */ - switch (retval) { - case CC_CURSOR: - re_refresh_cursor(el); - break; - - case CC_REDISPLAY: - re_clear_lines(el); - re_clear_display(el); - /* FALLTHROUGH */ - - case CC_REFRESH: - re_refresh(el); - break; - - case CC_REFRESH_BEEP: - re_refresh(el); - terminal_beep(el); - break; - - case CC_NORM: /* normal char */ - break; - - case CC_ARGHACK: /* Suggested by Rich Salz */ - /* */ - continue; /* keep going... */ - - case CC_EOF: /* end of file typed */ - if ((el->el_flags & UNBUFFERED) == 0) - num = 0; - else if (num == -1) { - *el->el_line.lastchar++ = CONTROL('d'); - el->el_line.cursor = el->el_line.lastchar; - num = 1; - } - break; - - case CC_NEWLINE: /* normal end of line */ - num = (int)(el->el_line.lastchar - el->el_line.buffer); - break; - - case CC_FATAL: /* fatal error, reset to known state */ - /* put (real) cursor in a known place */ - re_clear_display(el); /* reset the display stuff */ - ch_reset(el); /* reset the input pointers */ - read_clearmacros(&el->el_read->macros); - re_refresh(el); /* print the prompt again */ - break; - - case CC_ERROR: - default: /* functions we don't know about */ - terminal_beep(el); - terminal__flush(el); - break; - } - el->el_state.argument = 1; - el->el_state.doingarg = 0; - el->el_chared.c_vcmd.action = NOP; - if (el->el_flags & UNBUFFERED) - break; - } - - terminal__flush(el); /* flush any buffered output */ - /* make sure the tty is set up correctly */ - if ((el->el_flags & UNBUFFERED) == 0) { - read_finish(el); - *nread = num != -1 ? num : 0; - } else - *nread = (int)(el->el_line.lastchar - el->el_line.buffer); - - if (*nread == 0) { - if (num == -1) { - *nread = -1; - if (el->el_read->read_errno) - errno = el->el_read->read_errno; - } - return NULL; - } else - return el->el_line.buffer; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/read.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/read.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/read.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/read.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -/* $NetBSD: read.h,v 1.12 2016/05/22 19:44:26 christos Exp $ */ - -/*- - * Copyright (c) 2001 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Anthony Mallet. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * el.read.h: Character reading functions - */ -#ifndef _h_el_read -#define _h_el_read - -libedit_private int read_init(EditLine *); -libedit_private void read_end(struct el_read_t *); -libedit_private void read_prepare(EditLine *); -libedit_private void read_finish(EditLine *); -libedit_private int el_read_setfn(struct el_read_t *, el_rfunc_t); -libedit_private el_rfunc_t el_read_getfn(struct el_read_t *); - -#endif /* _h_el_read */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/readline.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/readline.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/readline.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/readline.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,2432 +0,0 @@ -/* $NetBSD: readline.c,v 1.151 2019/02/15 23:20:35 christos Exp $ */ - -/*- - * Copyright (c) 1997 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Jaromir Dolecek. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: readline.c,v 1.151 2019/02/15 23:20:35 christos Exp $"); -#endif /* not lint && not SCCSID */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "editline/readline.h" -#include "el.h" -#include "fcns.h" -#include "filecomplete.h" - -#if !defined(SIZE_T_MAX) -# define SIZE_T_MAX (size_t)(-1) -#endif - -void rl_prep_terminal(int); -void rl_deprep_terminal(void); - -/* for rl_complete() */ -#define TAB '\r' - -/* see comment at the #ifdef for sense of this */ -/* #define GDB_411_HACK */ - -/* readline compatibility stuff - look at readline sources/documentation */ -/* to see what these variables mean */ -const char *rl_library_version = "EditLine wrapper"; -int rl_readline_version = RL_READLINE_VERSION; -static char empty[] = { '\0' }; -static char expand_chars[] = { ' ', '\t', '\n', '=', '(', '\0' }; -static char break_chars[] = { ' ', '\t', '\n', '"', '\\', '\'', '`', '@', '$', - '>', '<', '=', ';', '|', '&', '{', '(', '\0' }; -const char *rl_readline_name = empty; -FILE *rl_instream = NULL; -FILE *rl_outstream = NULL; -int rl_point = 0; -int rl_end = 0; -char *rl_line_buffer = NULL; -rl_vcpfunc_t *rl_linefunc = NULL; -int rl_done = 0; -rl_hook_func_t *rl_event_hook = NULL; -KEYMAP_ENTRY_ARRAY emacs_standard_keymap, - emacs_meta_keymap, - emacs_ctlx_keymap; -/* - * The following is not implemented; we always catch signals in the - * libedit fashion: set handlers on entry to el_gets() and clear them - * on the way out. This simplistic approach works for most cases; if - * it does not work for your application, please let us know. - */ -int rl_catch_signals = 1; -int rl_catch_sigwinch = 1; - -int history_base = 1; /* probably never subject to change */ -int history_length = 0; -int history_offset = 0; -int max_input_history = 0; -char history_expansion_char = '!'; -char history_subst_char = '^'; -char *history_no_expand_chars = expand_chars; -Function *history_inhibit_expansion_function = NULL; -char *history_arg_extract(int start, int end, const char *str); - -int rl_inhibit_completion = 0; -int rl_attempted_completion_over = 0; -const char *rl_basic_word_break_characters = break_chars; -char *rl_completer_word_break_characters = NULL; -char *rl_completer_quote_characters = NULL; -rl_compentry_func_t *rl_completion_entry_function = NULL; -char *(*rl_completion_word_break_hook)(void) = NULL; -rl_completion_func_t *rl_attempted_completion_function = NULL; -Function *rl_pre_input_hook = NULL; -Function *rl_startup1_hook = NULL; -int (*rl_getc_function)(FILE *) = NULL; -char *rl_terminal_name = NULL; -int rl_already_prompted = 0; -int rl_filename_completion_desired = 0; -int rl_ignore_completion_duplicates = 0; -int readline_echoing_p = 1; -int _rl_print_completions_horizontally = 0; -VFunction *rl_redisplay_function = NULL; -Function *rl_startup_hook = NULL; -int rl_did_startup_hook = 0; -VFunction *rl_completion_display_matches_hook = NULL; -VFunction *rl_prep_term_function = (VFunction *)rl_prep_terminal; -VFunction *rl_deprep_term_function = (VFunction *)rl_deprep_terminal; -KEYMAP_ENTRY_ARRAY emacs_meta_keymap; - -/* - * The current prompt string. - */ -char *rl_prompt = NULL; -/* - * This is set to character indicating type of completion being done by - * rl_complete_internal(); this is available for application completion - * functions. - */ -int rl_completion_type = 0; - -/* - * If more than this number of items results from query for possible - * completions, we ask user if they are sure to really display the list. - */ -int rl_completion_query_items = 100; - -/* - * List of characters which are word break characters, but should be left - * in the parsed text when it is passed to the completion function. - * Shell uses this to help determine what kind of completing to do. - */ -const char *rl_special_prefixes = NULL; - -/* - * This is the character appended to the completed words if at the end of - * the line. Default is ' ' (a space). - */ -int rl_completion_append_character = ' '; - -/* stuff below is used internally by libedit for readline emulation */ - -static History *h = NULL; -static EditLine *e = NULL; -static rl_command_func_t *map[256]; -static jmp_buf topbuf; - -/* internal functions */ -static unsigned char _el_rl_complete(EditLine *, int); -static unsigned char _el_rl_tstp(EditLine *, int); -static char *_get_prompt(EditLine *); -static int _getc_function(EditLine *, wchar_t *); -static int _history_expand_command(const char *, size_t, size_t, - char **); -static char *_rl_compat_sub(const char *, const char *, - const char *, int); -static int _rl_event_read_char(EditLine *, wchar_t *); -static void _rl_update_pos(void); - -static HIST_ENTRY rl_he; - -/* ARGSUSED */ -static char * -_get_prompt(EditLine *el __attribute__((__unused__))) -{ - rl_already_prompted = 1; - return rl_prompt; -} - - -/* - * read one key from user defined input function - */ -static int -/*ARGSUSED*/ -_getc_function(EditLine *el __attribute__((__unused__)), wchar_t *c) -{ - int i; - - i = (*rl_getc_function)(rl_instream); - if (i == -1) - return 0; - *c = (wchar_t)i; - return 1; -} - -static void -_resize_fun(EditLine *el, void *a) -{ - const LineInfo *li; - char **ap = a; - - li = el_line(el); - /* a cheesy way to get rid of const cast. */ - *ap = memchr(li->buffer, *li->buffer, (size_t)1); -} - -static const char * -_default_history_file(void) -{ - struct passwd *p; - static char *path; - size_t len; - - if (path) - return path; - - if ((p = getpwuid(getuid())) == NULL) - return NULL; - - len = strlen(p->pw_dir) + sizeof("/.history"); - if ((path = malloc(len)) == NULL) - return NULL; - - (void)snprintf(path, len, "%s/.history", p->pw_dir); - return path; -} - -/* - * READLINE compatibility stuff - */ - -/* - * Set the prompt - */ -int -rl_set_prompt(const char *prompt) -{ - char *p; - - if (!prompt) - prompt = ""; - if (rl_prompt != NULL && strcmp(rl_prompt, prompt) == 0) - return 0; - if (rl_prompt) - el_free(rl_prompt); - rl_prompt = strdup(prompt); - if (rl_prompt == NULL) - return -1; - - while ((p = strchr(rl_prompt, RL_PROMPT_END_IGNORE)) != NULL) - *p = RL_PROMPT_START_IGNORE; - - return 0; -} - -/* - * initialize rl compat stuff - */ -int -rl_initialize(void) -{ - HistEvent ev; - int editmode = 1; - struct termios t; - - if (e != NULL) - el_end(e); - if (h != NULL) - history_end(h); - - if (!rl_instream) - rl_instream = stdin; - if (!rl_outstream) - rl_outstream = stdout; - - /* - * See if we don't really want to run the editor - */ - if (tcgetattr(fileno(rl_instream), &t) != -1 && (t.c_lflag & ECHO) == 0) - editmode = 0; - - e = el_init_internal(rl_readline_name, rl_instream, rl_outstream, - stderr, fileno(rl_instream), fileno(rl_outstream), fileno(stderr), - NO_RESET); - - if (!editmode) - el_set(e, EL_EDITMODE, 0); - - h = history_init(); - if (!e || !h) - return -1; - - history(h, &ev, H_SETSIZE, INT_MAX); /* unlimited */ - history_length = 0; - max_input_history = INT_MAX; - el_set(e, EL_HIST, history, h); - - /* Setup resize function */ - el_set(e, EL_RESIZE, _resize_fun, &rl_line_buffer); - - /* setup getc function if valid */ - if (rl_getc_function) - el_set(e, EL_GETCFN, _getc_function); - - /* for proper prompt printing in readline() */ - if (rl_set_prompt("") == -1) { - history_end(h); - el_end(e); - return -1; - } - el_set(e, EL_PROMPT_ESC, _get_prompt, RL_PROMPT_START_IGNORE); - el_set(e, EL_SIGNAL, rl_catch_signals); - - /* set default mode to "emacs"-style and read setting afterwards */ - /* so this can be overridden */ - el_set(e, EL_EDITOR, "emacs"); - if (rl_terminal_name != NULL) - el_set(e, EL_TERMINAL, rl_terminal_name); - else - el_get(e, EL_TERMINAL, &rl_terminal_name); - - /* - * Word completion - this has to go AFTER rebinding keys - * to emacs-style. - */ - el_set(e, EL_ADDFN, "rl_complete", - "ReadLine compatible completion function", - _el_rl_complete); - el_set(e, EL_BIND, "^I", "rl_complete", NULL); - - /* - * Send TSTP when ^Z is pressed. - */ - el_set(e, EL_ADDFN, "rl_tstp", - "ReadLine compatible suspend function", - _el_rl_tstp); - el_set(e, EL_BIND, "^Z", "rl_tstp", NULL); - - /* - * Set some readline compatible key-bindings. - */ - el_set(e, EL_BIND, "^R", "em-inc-search-prev", NULL); - - /* - * Allow the use of Home/End keys. - */ - el_set(e, EL_BIND, "\\e[1~", "ed-move-to-beg", NULL); - el_set(e, EL_BIND, "\\e[4~", "ed-move-to-end", NULL); - el_set(e, EL_BIND, "\\e[7~", "ed-move-to-beg", NULL); - el_set(e, EL_BIND, "\\e[8~", "ed-move-to-end", NULL); - el_set(e, EL_BIND, "\\e[H", "ed-move-to-beg", NULL); - el_set(e, EL_BIND, "\\e[F", "ed-move-to-end", NULL); - - /* - * Allow the use of the Delete/Insert keys. - */ - el_set(e, EL_BIND, "\\e[3~", "ed-delete-next-char", NULL); - el_set(e, EL_BIND, "\\e[2~", "ed-quoted-insert", NULL); - - /* - * Ctrl-left-arrow and Ctrl-right-arrow for word moving. - */ - el_set(e, EL_BIND, "\\e[1;5C", "em-next-word", NULL); - el_set(e, EL_BIND, "\\e[1;5D", "ed-prev-word", NULL); - el_set(e, EL_BIND, "\\e[5C", "em-next-word", NULL); - el_set(e, EL_BIND, "\\e[5D", "ed-prev-word", NULL); - el_set(e, EL_BIND, "\\e\\e[C", "em-next-word", NULL); - el_set(e, EL_BIND, "\\e\\e[D", "ed-prev-word", NULL); - - /* read settings from configuration file */ - el_source(e, NULL); - - /* - * Unfortunately, some applications really do use rl_point - * and rl_line_buffer directly. - */ - _resize_fun(e, &rl_line_buffer); - _rl_update_pos(); - - tty_end(e, TCSADRAIN); - - return 0; -} - - -/* - * read one line from input stream and return it, chomping - * trailing newline (if there is any) - */ -char * -readline(const char *p) -{ - HistEvent ev; - const char * volatile prompt = p; - int count; - const char *ret; - char *buf; - static int used_event_hook; - - if (e == NULL || h == NULL) - rl_initialize(); - if (rl_did_startup_hook == 0 && rl_startup_hook) { - rl_did_startup_hook = 1; - (*rl_startup_hook)(NULL, 0); - } - tty_init(e); - - - rl_done = 0; - - (void)setjmp(topbuf); - buf = NULL; - - /* update prompt accordingly to what has been passed */ - if (rl_set_prompt(prompt) == -1) - goto out; - - if (rl_pre_input_hook) - (*rl_pre_input_hook)(NULL, 0); - - if (rl_event_hook && !(e->el_flags & NO_TTY)) { - el_set(e, EL_GETCFN, _rl_event_read_char); - used_event_hook = 1; - } - - if (!rl_event_hook && used_event_hook) { - el_set(e, EL_GETCFN, EL_BUILTIN_GETCFN); - used_event_hook = 0; - } - - rl_already_prompted = 0; - - /* get one line from input stream */ - ret = el_gets(e, &count); - - if (ret && count > 0) { - int lastidx; - - buf = strdup(ret); - if (buf == NULL) - goto out; - lastidx = count - 1; - if (buf[lastidx] == '\n') - buf[lastidx] = '\0'; - } else - buf = NULL; - - history(h, &ev, H_GETSIZE); - history_length = ev.num; - -out: - tty_end(e, TCSADRAIN); - return buf; -} - -/* - * history functions - */ - -/* - * is normally called before application starts to use - * history expansion functions - */ -void -using_history(void) -{ - if (h == NULL || e == NULL) - rl_initialize(); - history_offset = history_length; -} - - -/* - * substitute ``what'' with ``with'', returning resulting string; if - * globally == 1, substitutes all occurrences of what, otherwise only the - * first one - */ -static char * -_rl_compat_sub(const char *str, const char *what, const char *with, - int globally) -{ - const char *s; - char *r, *result; - size_t len, with_len, what_len; - - len = strlen(str); - with_len = strlen(with); - what_len = strlen(what); - - /* calculate length we need for result */ - s = str; - while (*s) { - if (*s == *what && !strncmp(s, what, what_len)) { - len += with_len - what_len; - if (!globally) - break; - s += what_len; - } else - s++; - } - r = result = el_malloc((len + 1) * sizeof(*r)); - if (result == NULL) - return NULL; - s = str; - while (*s) { - if (*s == *what && !strncmp(s, what, what_len)) { - (void)strncpy(r, with, with_len); - r += with_len; - s += what_len; - if (!globally) { - (void)strcpy(r, s); - return result; - } - } else - *r++ = *s++; - } - *r = '\0'; - return result; -} - -static char *last_search_pat; /* last !?pat[?] search pattern */ -static char *last_search_match; /* last !?pat[?] that matched */ - -const char * -get_history_event(const char *cmd, int *cindex, int qchar) -{ - int idx, sign, sub, num, begin, ret; - size_t len; - char *pat; - const char *rptr; - HistEvent ev; - - idx = *cindex; - if (cmd[idx++] != history_expansion_char) - return NULL; - - /* find out which event to take */ - if (cmd[idx] == history_expansion_char || cmd[idx] == '\0') { - if (history(h, &ev, H_FIRST) != 0) - return NULL; - *cindex = cmd[idx]? (idx + 1):idx; - return ev.str; - } - sign = 0; - if (cmd[idx] == '-') { - sign = 1; - idx++; - } - - if ('0' <= cmd[idx] && cmd[idx] <= '9') { - HIST_ENTRY *he; - - num = 0; - while (cmd[idx] && '0' <= cmd[idx] && cmd[idx] <= '9') { - num = num * 10 + cmd[idx] - '0'; - idx++; - } - if (sign) - num = history_length - num + history_base; - - if (!(he = history_get(num))) - return NULL; - - *cindex = idx; - return he->line; - } - sub = 0; - if (cmd[idx] == '?') { - sub = 1; - idx++; - } - begin = idx; - while (cmd[idx]) { - if (cmd[idx] == '\n') - break; - if (sub && cmd[idx] == '?') - break; - if (!sub && (cmd[idx] == ':' || cmd[idx] == ' ' - || cmd[idx] == '\t' || cmd[idx] == qchar)) - break; - idx++; - } - len = (size_t)idx - (size_t)begin; - if (sub && cmd[idx] == '?') - idx++; - if (sub && len == 0 && last_search_pat && *last_search_pat) - pat = last_search_pat; - else if (len == 0) - return NULL; - else { - if ((pat = el_malloc((len + 1) * sizeof(*pat))) == NULL) - return NULL; - (void)strncpy(pat, cmd + begin, len); - pat[len] = '\0'; - } - - if (history(h, &ev, H_CURR) != 0) { - if (pat != last_search_pat) - el_free(pat); - return NULL; - } - num = ev.num; - - if (sub) { - if (pat != last_search_pat) { - if (last_search_pat) - el_free(last_search_pat); - last_search_pat = pat; - } - ret = history_search(pat, -1); - } else - ret = history_search_prefix(pat, -1); - - if (ret == -1) { - /* restore to end of list on failed search */ - history(h, &ev, H_FIRST); - (void)fprintf(rl_outstream, "%s: Event not found\n", pat); - if (pat != last_search_pat) - el_free(pat); - return NULL; - } - - if (sub && len) { - if (last_search_match && last_search_match != pat) - el_free(last_search_match); - last_search_match = pat; - } - - if (pat != last_search_pat) - el_free(pat); - - if (history(h, &ev, H_CURR) != 0) - return NULL; - *cindex = idx; - rptr = ev.str; - - /* roll back to original position */ - (void)history(h, &ev, H_SET, num); - - return rptr; -} - -/* - * the real function doing history expansion - takes as argument command - * to do and data upon which the command should be executed - * does expansion the way I've understood readline documentation - * - * returns 0 if data was not modified, 1 if it was and 2 if the string - * should be only printed and not executed; in case of error, - * returns -1 and *result points to NULL - * it's the caller's responsibility to free() the string returned in *result - */ -static int -_history_expand_command(const char *command, size_t offs, size_t cmdlen, - char **result) -{ - char *tmp, *search = NULL, *aptr; - const char *ptr, *cmd; - static char *from = NULL, *to = NULL; - int start, end, idx, has_mods = 0; - int p_on = 0, g_on = 0; - - *result = NULL; - aptr = NULL; - ptr = NULL; - - /* First get event specifier */ - idx = 0; - - if (strchr(":^*$", command[offs + 1])) { - char str[4]; - /* - * "!:" is shorthand for "!!:". - * "!^", "!*" and "!$" are shorthand for - * "!!:^", "!!:*" and "!!:$" respectively. - */ - str[0] = str[1] = '!'; - str[2] = '0'; - ptr = get_history_event(str, &idx, 0); - idx = (command[offs + 1] == ':')? 1:0; - has_mods = 1; - } else { - if (command[offs + 1] == '#') { - /* use command so far */ - if ((aptr = el_malloc((offs + 1) * sizeof(*aptr))) - == NULL) - return -1; - (void)strncpy(aptr, command, offs); - aptr[offs] = '\0'; - idx = 1; - } else { - int qchar; - - qchar = (offs > 0 && command[offs - 1] == '"')? '"':0; - ptr = get_history_event(command + offs, &idx, qchar); - } - has_mods = command[offs + (size_t)idx] == ':'; - } - - if (ptr == NULL && aptr == NULL) - return -1; - - if (!has_mods) { - *result = strdup(aptr ? aptr : ptr); - if (aptr) - el_free(aptr); - if (*result == NULL) - return -1; - return 1; - } - - cmd = command + offs + idx + 1; - - /* Now parse any word designators */ - - if (*cmd == '%') /* last word matched by ?pat? */ - tmp = strdup(last_search_match? last_search_match:""); - else if (strchr("^*$-0123456789", *cmd)) { - start = end = -1; - if (*cmd == '^') - start = end = 1, cmd++; - else if (*cmd == '$') - start = -1, cmd++; - else if (*cmd == '*') - start = 1, cmd++; - else if (*cmd == '-' || isdigit((unsigned char) *cmd)) { - start = 0; - while (*cmd && '0' <= *cmd && *cmd <= '9') - start = start * 10 + *cmd++ - '0'; - - if (*cmd == '-') { - if (isdigit((unsigned char) cmd[1])) { - cmd++; - end = 0; - while (*cmd && '0' <= *cmd && *cmd <= '9') - end = end * 10 + *cmd++ - '0'; - } else if (cmd[1] == '$') { - cmd += 2; - end = -1; - } else { - cmd++; - end = -2; - } - } else if (*cmd == '*') - end = -1, cmd++; - else - end = start; - } - tmp = history_arg_extract(start, end, aptr? aptr:ptr); - if (tmp == NULL) { - (void)fprintf(rl_outstream, "%s: Bad word specifier", - command + offs + idx); - if (aptr) - el_free(aptr); - return -1; - } - } else - tmp = strdup(aptr? aptr:ptr); - - if (aptr) - el_free(aptr); - - if (*cmd == '\0' || ((size_t)(cmd - (command + offs)) >= cmdlen)) { - *result = tmp; - return 1; - } - - for (; *cmd; cmd++) { - if (*cmd == ':') - continue; - else if (*cmd == 'h') { /* remove trailing path */ - if ((aptr = strrchr(tmp, '/')) != NULL) - *aptr = '\0'; - } else if (*cmd == 't') { /* remove leading path */ - if ((aptr = strrchr(tmp, '/')) != NULL) { - aptr = strdup(aptr + 1); - el_free(tmp); - tmp = aptr; - } - } else if (*cmd == 'r') { /* remove trailing suffix */ - if ((aptr = strrchr(tmp, '.')) != NULL) - *aptr = '\0'; - } else if (*cmd == 'e') { /* remove all but suffix */ - if ((aptr = strrchr(tmp, '.')) != NULL) { - aptr = strdup(aptr); - el_free(tmp); - tmp = aptr; - } - } else if (*cmd == 'p') /* print only */ - p_on = 1; - else if (*cmd == 'g') - g_on = 2; - else if (*cmd == 's' || *cmd == '&') { - char *what, *with, delim; - size_t len, from_len; - size_t size; - - if (*cmd == '&' && (from == NULL || to == NULL)) - continue; - else if (*cmd == 's') { - delim = *(++cmd), cmd++; - size = 16; - what = el_realloc(from, size * sizeof(*what)); - if (what == NULL) { - el_free(from); - el_free(tmp); - return 0; - } - len = 0; - for (; *cmd && *cmd != delim; cmd++) { - if (*cmd == '\\' && cmd[1] == delim) - cmd++; - if (len >= size) { - char *nwhat; - nwhat = el_realloc(what, - (size <<= 1) * - sizeof(*nwhat)); - if (nwhat == NULL) { - el_free(what); - el_free(tmp); - return 0; - } - what = nwhat; - } - what[len++] = *cmd; - } - what[len] = '\0'; - from = what; - if (*what == '\0') { - el_free(what); - if (search) { - from = strdup(search); - if (from == NULL) { - el_free(tmp); - return 0; - } - } else { - from = NULL; - el_free(tmp); - return -1; - } - } - cmd++; /* shift after delim */ - if (!*cmd) - continue; - - size = 16; - with = el_realloc(to, size * sizeof(*with)); - if (with == NULL) { - el_free(to); - el_free(tmp); - return -1; - } - len = 0; - from_len = strlen(from); - for (; *cmd && *cmd != delim; cmd++) { - if (len + from_len + 1 >= size) { - char *nwith; - size += from_len + 1; - nwith = el_realloc(with, - size * sizeof(*nwith)); - if (nwith == NULL) { - el_free(with); - el_free(tmp); - return -1; - } - with = nwith; - } - if (*cmd == '&') { - /* safe */ - (void)strcpy(&with[len], from); - len += from_len; - continue; - } - if (*cmd == '\\' - && (*(cmd + 1) == delim - || *(cmd + 1) == '&')) - cmd++; - with[len++] = *cmd; - } - with[len] = '\0'; - to = with; - } - - aptr = _rl_compat_sub(tmp, from, to, g_on); - if (aptr) { - el_free(tmp); - tmp = aptr; - } - g_on = 0; - } - } - *result = tmp; - return p_on? 2:1; -} - - -/* - * csh-style history expansion - */ -int -history_expand(char *str, char **output) -{ - int ret = 0; - size_t idx, i, size; - char *tmp, *result; - - if (h == NULL || e == NULL) - rl_initialize(); - - if (history_expansion_char == 0) { - *output = strdup(str); - return 0; - } - - *output = NULL; - if (str[0] == history_subst_char) { - /* ^foo^foo2^ is equivalent to !!:s^foo^foo2^ */ - *output = el_malloc((strlen(str) + 4 + 1) * sizeof(**output)); - if (*output == NULL) - return 0; - (*output)[0] = (*output)[1] = history_expansion_char; - (*output)[2] = ':'; - (*output)[3] = 's'; - (void)strcpy((*output) + 4, str); - str = *output; - } else { - *output = strdup(str); - if (*output == NULL) - return 0; - } - -#define ADD_STRING(what, len, fr) \ - { \ - if (idx + len + 1 > size) { \ - char *nresult = el_realloc(result, \ - (size += len + 1) * sizeof(*nresult)); \ - if (nresult == NULL) { \ - el_free(*output); \ - if (/*CONSTCOND*/fr) \ - el_free(tmp); \ - return 0; \ - } \ - result = nresult; \ - } \ - (void)strncpy(&result[idx], what, len); \ - idx += len; \ - result[idx] = '\0'; \ - } - - result = NULL; - size = idx = 0; - tmp = NULL; - for (i = 0; str[i];) { - int qchar, loop_again; - size_t len, start, j; - - qchar = 0; - loop_again = 1; - start = j = i; -loop: - for (; str[j]; j++) { - if (str[j] == '\\' && - str[j + 1] == history_expansion_char) { - len = strlen(&str[j + 1]) + 1; - memmove(&str[j], &str[j + 1], len); - continue; - } - if (!loop_again) { - if (isspace((unsigned char) str[j]) - || str[j] == qchar) - break; - } - if (str[j] == history_expansion_char - && !strchr(history_no_expand_chars, str[j + 1]) - && (!history_inhibit_expansion_function || - (*history_inhibit_expansion_function)(str, - (int)j) == 0)) - break; - } - - if (str[j] && loop_again) { - i = j; - qchar = (j > 0 && str[j - 1] == '"' )? '"':0; - j++; - if (str[j] == history_expansion_char) - j++; - loop_again = 0; - goto loop; - } - len = i - start; - ADD_STRING(&str[start], len, 0); - - if (str[i] == '\0' || str[i] != history_expansion_char) { - len = j - i; - ADD_STRING(&str[i], len, 0); - if (start == 0) - ret = 0; - else - ret = 1; - break; - } - ret = _history_expand_command (str, i, (j - i), &tmp); - if (ret > 0 && tmp) { - len = strlen(tmp); - ADD_STRING(tmp, len, 1); - } - if (tmp) { - el_free(tmp); - tmp = NULL; - } - i = j; - } - - /* ret is 2 for "print only" option */ - if (ret == 2) { - add_history(result); -#ifdef GDB_411_HACK - /* gdb 4.11 has been shipped with readline, where */ - /* history_expand() returned -1 when the line */ - /* should not be executed; in readline 2.1+ */ - /* it should return 2 in such a case */ - ret = -1; -#endif - } - el_free(*output); - *output = result; - - return ret; -} - -/* -* Return a string consisting of arguments of "str" from "start" to "end". -*/ -char * -history_arg_extract(int start, int end, const char *str) -{ - size_t i, len, max; - char **arr, *result = NULL; - - arr = history_tokenize(str); - if (!arr) - return NULL; - if (arr && *arr == NULL) - goto out; - - for (max = 0; arr[max]; max++) - continue; - max--; - - if (start == '$') - start = (int)max; - if (end == '$') - end = (int)max; - if (end < 0) - end = (int)max + end + 1; - if (start < 0) - start = end; - - if (start < 0 || end < 0 || (size_t)start > max || - (size_t)end > max || start > end) - goto out; - - for (i = (size_t)start, len = 0; i <= (size_t)end; i++) - len += strlen(arr[i]) + 1; - len++; - result = el_malloc(len * sizeof(*result)); - if (result == NULL) - goto out; - - for (i = (size_t)start, len = 0; i <= (size_t)end; i++) { - (void)strcpy(result + len, arr[i]); - len += strlen(arr[i]); - if (i < (size_t)end) - result[len++] = ' '; - } - result[len] = '\0'; - -out: - for (i = 0; arr[i]; i++) - el_free(arr[i]); - el_free(arr); - - return result; -} - -/* - * Parse the string into individual tokens, - * similar to how shell would do it. - */ -char ** -history_tokenize(const char *str) -{ - int size = 1, idx = 0, i, start; - size_t len; - char **result = NULL, *temp, delim = '\0'; - - for (i = 0; str[i];) { - while (isspace((unsigned char) str[i])) - i++; - start = i; - for (; str[i];) { - if (str[i] == '\\') { - if (str[i+1] != '\0') - i++; - } else if (str[i] == delim) - delim = '\0'; - else if (!delim && - (isspace((unsigned char) str[i]) || - strchr("()<>;&|$", str[i]))) - break; - else if (!delim && strchr("'`\"", str[i])) - delim = str[i]; - if (str[i]) - i++; - } - - if (idx + 2 >= size) { - char **nresult; - size <<= 1; - nresult = el_realloc(result, (size_t)size * sizeof(*nresult)); - if (nresult == NULL) { - el_free(result); - return NULL; - } - result = nresult; - } - len = (size_t)i - (size_t)start; - temp = el_malloc((size_t)(len + 1) * sizeof(*temp)); - if (temp == NULL) { - for (i = 0; i < idx; i++) - el_free(result[i]); - el_free(result); - return NULL; - } - (void)strncpy(temp, &str[start], len); - temp[len] = '\0'; - result[idx++] = temp; - result[idx] = NULL; - if (str[i]) - i++; - } - return result; -} - - -/* - * limit size of history record to ``max'' events - */ -void -stifle_history(int max) -{ - HistEvent ev; - HIST_ENTRY *he; - - if (h == NULL || e == NULL) - rl_initialize(); - - if (history(h, &ev, H_SETSIZE, max) == 0) { - max_input_history = max; - if (history_length > max) - history_base = history_length - max; - while (history_length > max) { - he = remove_history(0); - el_free(he->data); - el_free((void *)(unsigned long)he->line); - el_free(he); - } - } -} - - -/* - * "unlimit" size of history - set the limit to maximum allowed int value - */ -int -unstifle_history(void) -{ - HistEvent ev; - int omax; - - history(h, &ev, H_SETSIZE, INT_MAX); - omax = max_input_history; - max_input_history = INT_MAX; - return omax; /* some value _must_ be returned */ -} - - -int -history_is_stifled(void) -{ - - /* cannot return true answer */ - return max_input_history != INT_MAX; -} - -static const char _history_tmp_template[] = "/tmp/.historyXXXXXX"; - -int -history_truncate_file (const char *filename, int nlines) -{ - int ret = 0; - FILE *fp, *tp; - char template[sizeof(_history_tmp_template)]; - char buf[4096]; - int fd; - char *cp; - off_t off; - int count = 0; - ssize_t left = 0; - - if (filename == NULL && (filename = _default_history_file()) == NULL) - return errno; - if ((fp = fopen(filename, "r+")) == NULL) - return errno; - strcpy(template, _history_tmp_template); - if ((fd = mkstemp(template)) == -1) { - ret = errno; - goto out1; - } - - if ((tp = fdopen(fd, "r+")) == NULL) { - close(fd); - ret = errno; - goto out2; - } - - for(;;) { - if (fread(buf, sizeof(buf), (size_t)1, fp) != 1) { - if (ferror(fp)) { - ret = errno; - break; - } - if (fseeko(fp, (off_t)sizeof(buf) * count, SEEK_SET) == - (off_t)-1) { - ret = errno; - break; - } - left = (ssize_t)fread(buf, (size_t)1, sizeof(buf), fp); - if (ferror(fp)) { - ret = errno; - break; - } - if (left == 0) { - count--; - left = sizeof(buf); - } else if (fwrite(buf, (size_t)left, (size_t)1, tp) - != 1) { - ret = errno; - break; - } - fflush(tp); - break; - } - if (fwrite(buf, sizeof(buf), (size_t)1, tp) != 1) { - ret = errno; - break; - } - count++; - } - if (ret) - goto out3; - cp = buf + left - 1; - if(*cp != '\n') - cp++; - for(;;) { - while (--cp >= buf) { - if (*cp == '\n') { - if (--nlines == 0) { - if (++cp >= buf + sizeof(buf)) { - count++; - cp = buf; - } - break; - } - } - } - if (nlines <= 0 || count == 0) - break; - count--; - if (fseeko(tp, (off_t)sizeof(buf) * count, SEEK_SET) < 0) { - ret = errno; - break; - } - if (fread(buf, sizeof(buf), (size_t)1, tp) != 1) { - if (ferror(tp)) { - ret = errno; - break; - } - ret = EAGAIN; - break; - } - cp = buf + sizeof(buf); - } - - if (ret || nlines > 0) - goto out3; - - if (fseeko(fp, (off_t)0, SEEK_SET) == (off_t)-1) { - ret = errno; - goto out3; - } - - if (fseeko(tp, (off_t)sizeof(buf) * count + (cp - buf), SEEK_SET) == - (off_t)-1) { - ret = errno; - goto out3; - } - - for(;;) { - if ((left = (ssize_t)fread(buf, (size_t)1, sizeof(buf), tp)) == 0) { - if (ferror(fp)) - ret = errno; - break; - } - if (fwrite(buf, (size_t)left, (size_t)1, fp) != 1) { - ret = errno; - break; - } - } - fflush(fp); - if((off = ftello(fp)) > 0) - (void)ftruncate(fileno(fp), off); -out3: - fclose(tp); -out2: - unlink(template); -out1: - fclose(fp); - - return ret; -} - - -/* - * read history from a file given - */ -int -read_history(const char *filename) -{ - HistEvent ev; - - if (h == NULL || e == NULL) - rl_initialize(); - if (filename == NULL && (filename = _default_history_file()) == NULL) - return errno; - errno = 0; - if (history(h, &ev, H_LOAD, filename) == -1) - return errno ? errno : EINVAL; - if (history(h, &ev, H_GETSIZE) == 0) - history_length = ev.num; - if (history_length < 0) - return EINVAL; - return 0; -} - - -/* - * write history to a file given - */ -int -write_history(const char *filename) -{ - HistEvent ev; - - if (h == NULL || e == NULL) - rl_initialize(); - if (filename == NULL && (filename = _default_history_file()) == NULL) - return errno; - return history(h, &ev, H_SAVE, filename) == -1 ? - (errno ? errno : EINVAL) : 0; -} - -int -append_history(int n, const char *filename) -{ - HistEvent ev; - FILE *fp; - - if (h == NULL || e == NULL) - rl_initialize(); - if (filename == NULL && (filename = _default_history_file()) == NULL) - return errno; - - if ((fp = fopen(filename, "a")) == NULL) - return errno; - - if (history(h, &ev, H_NSAVE_FP, (size_t)n, fp) == -1) { - int serrno = errno ? errno : EINVAL; - fclose(fp); - return serrno; - } - fclose(fp); - return 0; -} - -/* - * returns history ``num''th event - * - * returned pointer points to static variable - */ -HIST_ENTRY * -history_get(int num) -{ - static HIST_ENTRY she; - HistEvent ev; - int curr_num; - - if (h == NULL || e == NULL) - rl_initialize(); - - if (num < history_base) - return NULL; - - /* save current position */ - if (history(h, &ev, H_CURR) != 0) - return NULL; - curr_num = ev.num; - - /* - * use H_DELDATA to set to nth history (without delete) by passing - * (void **)-1 -- as in history_set_pos - */ - if (history(h, &ev, H_DELDATA, num - history_base, (void **)-1) != 0) - goto out; - - /* get current entry */ - if (history(h, &ev, H_CURR) != 0) - goto out; - if (history(h, &ev, H_NEXT_EVDATA, ev.num, &she.data) != 0) - goto out; - she.line = ev.str; - - /* restore pointer to where it was */ - (void)history(h, &ev, H_SET, curr_num); - - return &she; - -out: - /* restore pointer to where it was */ - (void)history(h, &ev, H_SET, curr_num); - return NULL; -} - - -/* - * add the line to history table - */ -int -add_history(const char *line) -{ - HistEvent ev; - - if (h == NULL || e == NULL) - rl_initialize(); - - if (history(h, &ev, H_ENTER, line) == -1) - return 0; - - (void)history(h, &ev, H_GETSIZE); - if (ev.num == history_length) - history_base++; - else - history_length = ev.num; - return 0; -} - - -/* - * remove the specified entry from the history list and return it. - */ -HIST_ENTRY * -remove_history(int num) -{ - HIST_ENTRY *he; - HistEvent ev; - - if (h == NULL || e == NULL) - rl_initialize(); - - if ((he = el_malloc(sizeof(*he))) == NULL) - return NULL; - - if (history(h, &ev, H_DELDATA, num, &he->data) != 0) { - el_free(he); - return NULL; - } - - he->line = ev.str; - if (history(h, &ev, H_GETSIZE) == 0) - history_length = ev.num; - - return he; -} - - -/* - * replace the line and data of the num-th entry - */ -HIST_ENTRY * -replace_history_entry(int num, const char *line, histdata_t data) -{ - HIST_ENTRY *he; - HistEvent ev; - int curr_num; - - if (h == NULL || e == NULL) - rl_initialize(); - - /* save current position */ - if (history(h, &ev, H_CURR) != 0) - return NULL; - curr_num = ev.num; - - /* start from the oldest */ - if (history(h, &ev, H_LAST) != 0) - return NULL; /* error */ - - if ((he = el_malloc(sizeof(*he))) == NULL) - return NULL; - - /* look forwards for event matching specified offset */ - if (history(h, &ev, H_NEXT_EVDATA, num, &he->data)) - goto out; - - he->line = strdup(ev.str); - if (he->line == NULL) - goto out; - - if (history(h, &ev, H_REPLACE, line, data)) - goto out; - - /* restore pointer to where it was */ - if (history(h, &ev, H_SET, curr_num)) - goto out; - - return he; -out: - el_free(he); - return NULL; -} - -/* - * clear the history list - delete all entries - */ -void -clear_history(void) -{ - HistEvent ev; - - if (h == NULL || e == NULL) - rl_initialize(); - - (void)history(h, &ev, H_CLEAR); - history_offset = history_length = 0; -} - - -/* - * returns offset of the current history event - */ -int -where_history(void) -{ - return history_offset; -} - -static HIST_ENTRY **_history_listp; -static HIST_ENTRY *_history_list; - -HIST_ENTRY ** -history_list(void) -{ - HistEvent ev; - HIST_ENTRY **nlp, *nl; - int i; - - if (history(h, &ev, H_LAST) != 0) - return NULL; - - if ((nlp = el_realloc(_history_listp, - ((size_t)history_length + 1) * sizeof(*nlp))) == NULL) - return NULL; - _history_listp = nlp; - - if ((nl = el_realloc(_history_list, - (size_t)history_length * sizeof(*nl))) == NULL) - return NULL; - _history_list = nl; - - i = 0; - do { - _history_listp[i] = &_history_list[i]; - _history_list[i].line = ev.str; - _history_list[i].data = NULL; - if (i++ == history_length) - abort(); - } while (history(h, &ev, H_PREV) == 0); - _history_listp[i] = NULL; - return _history_listp; -} - -/* - * returns current history event or NULL if there is no such event - */ -HIST_ENTRY * -current_history(void) -{ - HistEvent ev; - - if (history(h, &ev, H_PREV_EVENT, history_offset + 1) != 0) - return NULL; - - rl_he.line = ev.str; - rl_he.data = NULL; - return &rl_he; -} - - -/* - * returns total number of bytes history events' data are using - */ -int -history_total_bytes(void) -{ - HistEvent ev; - int curr_num; - size_t size; - - if (history(h, &ev, H_CURR) != 0) - return -1; - curr_num = ev.num; - - (void)history(h, &ev, H_FIRST); - size = 0; - do - size += strlen(ev.str) * sizeof(*ev.str); - while (history(h, &ev, H_NEXT) == 0); - - /* get to the same position as before */ - history(h, &ev, H_PREV_EVENT, curr_num); - - return (int)size; -} - - -/* - * sets the position in the history list to ``pos'' - */ -int -history_set_pos(int pos) -{ - if (pos >= history_length || pos < 0) - return 0; - - history_offset = pos; - return 1; -} - - -/* - * returns previous event in history and shifts pointer accordingly - * Note that readline and editline define directions in opposite ways. - */ -HIST_ENTRY * -previous_history(void) -{ - HistEvent ev; - - if (history_offset == 0) - return NULL; - - if (history(h, &ev, H_LAST) != 0) - return NULL; - - history_offset--; - return current_history(); -} - - -/* - * returns next event in history and shifts pointer accordingly - */ -HIST_ENTRY * -next_history(void) -{ - HistEvent ev; - - if (history_offset >= history_length) - return NULL; - - if (history(h, &ev, H_LAST) != 0) - return NULL; - - history_offset++; - return current_history(); -} - - -/* - * searches for first history event containing the str - */ -int -history_search(const char *str, int direction) -{ - HistEvent ev; - const char *strp; - int curr_num; - - if (history(h, &ev, H_CURR) != 0) - return -1; - curr_num = ev.num; - - for (;;) { - if ((strp = strstr(ev.str, str)) != NULL) - return (int)(strp - ev.str); - if (history(h, &ev, direction < 0 ? H_NEXT:H_PREV) != 0) - break; - } - (void)history(h, &ev, H_SET, curr_num); - return -1; -} - - -/* - * searches for first history event beginning with str - */ -int -history_search_prefix(const char *str, int direction) -{ - HistEvent ev; - - return (history(h, &ev, direction < 0 ? - H_PREV_STR : H_NEXT_STR, str)); -} - - -/* - * search for event in history containing str, starting at offset - * abs(pos); continue backward, if pos<0, forward otherwise - */ -/* ARGSUSED */ -int -history_search_pos(const char *str, - int direction __attribute__((__unused__)), int pos) -{ - HistEvent ev; - int curr_num, off; - - off = (pos > 0) ? pos : -pos; - pos = (pos > 0) ? 1 : -1; - - if (history(h, &ev, H_CURR) != 0) - return -1; - curr_num = ev.num; - - if (!history_set_pos(off) || history(h, &ev, H_CURR) != 0) - return -1; - - for (;;) { - if (strstr(ev.str, str)) - return off; - if (history(h, &ev, (pos < 0) ? H_PREV : H_NEXT) != 0) - break; - } - - /* set "current" pointer back to previous state */ - (void)history(h, &ev, - pos < 0 ? H_NEXT_EVENT : H_PREV_EVENT, curr_num); - - return -1; -} - - -/********************************/ -/* completion functions */ - -char * -tilde_expand(char *name) -{ - return fn_tilde_expand(name); -} - -char * -filename_completion_function(const char *name, int state) -{ - return fn_filename_completion_function(name, state); -} - -/* - * a completion generator for usernames; returns _first_ username - * which starts with supplied text - * text contains a partial username preceded by random character - * (usually '~'); state resets search from start (??? should we do that anyway) - * it's the caller's responsibility to free the returned value - */ -char * -username_completion_function(const char *text, int state) -{ - struct passwd *pass = NULL; - - if (text[0] == '\0') - return NULL; - - if (*text == '~') - text++; - - if (state == 0) - setpwent(); - - while ( - (pass = getpwent()) != NULL - && text[0] == pass->pw_name[0] - && strcmp(text, pass->pw_name) == 0) - continue; - - if (pass == NULL) { - endpwent(); - return NULL; - } - return strdup(pass->pw_name); -} - - -/* - * el-compatible wrapper to send TSTP on ^Z - */ -/* ARGSUSED */ -static unsigned char -_el_rl_tstp(EditLine *el __attribute__((__unused__)), int ch __attribute__((__unused__))) -{ - (void)kill(0, SIGTSTP); - return CC_NORM; -} - -static const char * -/*ARGSUSED*/ -_rl_completion_append_character_function(const char *dummy - __attribute__((__unused__))) -{ - static char buf[2]; - buf[0] = (char)rl_completion_append_character; - buf[1] = '\0'; - return buf; -} - - -/* - * Display list of strings in columnar format on readline's output stream. - * 'matches' is list of strings, 'len' is number of strings in 'matches', - * 'max' is maximum length of string in 'matches'. - */ -void -rl_display_match_list(char **matches, int len, int max) -{ - - fn_display_match_list(e, matches, (size_t)len, (size_t)max, - _rl_completion_append_character_function); -} - -/* - * complete word at current point - */ -/* ARGSUSED */ -int -rl_complete(int ignore __attribute__((__unused__)), int invoking_key) -{ - static ct_buffer_t wbreak_conv, sprefix_conv; - const char *breakchars; - - if (h == NULL || e == NULL) - rl_initialize(); - - if (rl_inhibit_completion) { - char arr[2]; - arr[0] = (char)invoking_key; - arr[1] = '\0'; - el_insertstr(e, arr); - return CC_REFRESH; - } - - if (rl_completion_word_break_hook != NULL) - breakchars = (*rl_completion_word_break_hook)(); - else - breakchars = rl_basic_word_break_characters; - - _rl_update_pos(); - - /* Just look at how many global variables modify this operation! */ - return fn_complete(e, - (rl_compentry_func_t *)rl_completion_entry_function, - rl_attempted_completion_function, - ct_decode_string(rl_basic_word_break_characters, &wbreak_conv), - ct_decode_string(breakchars, &sprefix_conv), - _rl_completion_append_character_function, - (size_t)rl_completion_query_items, - &rl_completion_type, &rl_attempted_completion_over, - &rl_point, &rl_end); - - -} - - -/* ARGSUSED */ -static unsigned char -_el_rl_complete(EditLine *el __attribute__((__unused__)), int ch) -{ - return (unsigned char)rl_complete(0, ch); -} - -/* - * misc other functions - */ - -/* - * bind key c to readline-type function func - */ -int -rl_bind_key(int c, rl_command_func_t *func) -{ - int retval = -1; - - if (h == NULL || e == NULL) - rl_initialize(); - - if (func == rl_insert) { - /* XXX notice there is no range checking of ``c'' */ - e->el_map.key[c] = ED_INSERT; - retval = 0; - } - return retval; -} - - -/* - * read one key from input - handles chars pushed back - * to input stream also - */ -int -rl_read_key(void) -{ - char fooarr[2 * sizeof(int)]; - - if (e == NULL || h == NULL) - rl_initialize(); - - return el_getc(e, fooarr); -} - - -/* - * reset the terminal - */ -/* ARGSUSED */ -int -rl_reset_terminal(const char *p __attribute__((__unused__))) -{ - - if (h == NULL || e == NULL) - rl_initialize(); - el_reset(e); - return 0; -} - - -/* - * insert character ``c'' back into input stream, ``count'' times - */ -int -rl_insert(int count, int c) -{ - char arr[2]; - - if (h == NULL || e == NULL) - rl_initialize(); - - /* XXX - int -> char conversion can lose on multichars */ - arr[0] = (char)c; - arr[1] = '\0'; - - for (; count > 0; count--) - el_push(e, arr); - - return 0; -} - -int -rl_insert_text(const char *text) -{ - if (!text || *text == 0) - return 0; - - if (h == NULL || e == NULL) - rl_initialize(); - - if (el_insertstr(e, text) < 0) - return 0; - return (int)strlen(text); -} - -/*ARGSUSED*/ -int -rl_newline(int count __attribute__((__unused__)), - int c __attribute__((__unused__))) -{ - /* - * Readline-4.0 appears to ignore the args. - */ - return rl_insert(1, '\n'); -} - -/*ARGSUSED*/ -static unsigned char -rl_bind_wrapper(EditLine *el __attribute__((__unused__)), unsigned char c) -{ - if (map[c] == NULL) - return CC_ERROR; - - _rl_update_pos(); - - (*map[c])(1, c); - - /* If rl_done was set by the above call, deal with it here */ - if (rl_done) - return CC_EOF; - - return CC_NORM; -} - -int -rl_add_defun(const char *name, rl_command_func_t *fun, int c) -{ - char dest[8]; - if ((size_t)c >= sizeof(map) / sizeof(map[0]) || c < 0) - return -1; - map[(unsigned char)c] = fun; - el_set(e, EL_ADDFN, name, name, rl_bind_wrapper); - vis(dest, c, VIS_WHITE|VIS_NOSLASH, 0); - el_set(e, EL_BIND, dest, name, NULL); - return 0; -} - -void -rl_callback_read_char(void) -{ - int count = 0, done = 0; - const char *buf = el_gets(e, &count); - char *wbuf; - - if (buf == NULL || count-- <= 0) - return; - if (count == 0 && buf[0] == e->el_tty.t_c[TS_IO][C_EOF]) - done = 1; - if (buf[count] == '\n' || buf[count] == '\r') - done = 2; - - if (done && rl_linefunc != NULL) { - el_set(e, EL_UNBUFFERED, 0); - if (done == 2) { - if ((wbuf = strdup(buf)) != NULL) - wbuf[count] = '\0'; - } else - wbuf = NULL; - (*(void (*)(const char *))rl_linefunc)(wbuf); - el_set(e, EL_UNBUFFERED, 1); - } -} - -void -rl_callback_handler_install(const char *prompt, rl_vcpfunc_t *linefunc) -{ - if (e == NULL) { - rl_initialize(); - } - (void)rl_set_prompt(prompt); - rl_linefunc = linefunc; - el_set(e, EL_UNBUFFERED, 1); -} - -void -rl_callback_handler_remove(void) -{ - rl_linefunc = NULL; - el_end(e); - e = NULL; -} - -void -rl_redisplay(void) -{ - char a[2]; - a[0] = (char)e->el_tty.t_c[TS_IO][C_REPRINT]; - a[1] = '\0'; - el_push(e, a); -} - -int -rl_get_previous_history(int count, int key) -{ - char a[2]; - a[0] = (char)key; - a[1] = '\0'; - while (count--) - el_push(e, a); - return 0; -} - -void -/*ARGSUSED*/ -rl_prep_terminal(int meta_flag __attribute__((__unused__))) -{ - el_set(e, EL_PREP_TERM, 1); -} - -void -rl_deprep_terminal(void) -{ - el_set(e, EL_PREP_TERM, 0); -} - -int -rl_read_init_file(const char *s) -{ - return el_source(e, s); -} - -int -rl_parse_and_bind(const char *line) -{ - const char **argv; - int argc; - Tokenizer *tok; - - tok = tok_init(NULL); - tok_str(tok, line, &argc, &argv); - argc = el_parse(e, argc, argv); - tok_end(tok); - return argc ? 1 : 0; -} - -int -rl_variable_bind(const char *var, const char *value) -{ - /* - * The proper return value is undocument, but this is what the - * readline source seems to do. - */ - return el_set(e, EL_BIND, "", var, value, NULL) == -1 ? 1 : 0; -} - -int -rl_stuff_char(int c) -{ - char buf[2]; - - buf[0] = (char)c; - buf[1] = '\0'; - el_insertstr(e, buf); - return 1; -} - -static int -_rl_event_read_char(EditLine *el, wchar_t *wc) -{ - char ch; - int n; - ssize_t num_read = 0; - - ch = '\0'; - *wc = L'\0'; - while (rl_event_hook) { - - (*rl_event_hook)(); - -#if defined(FIONREAD) - if (ioctl(el->el_infd, FIONREAD, &n) < 0) - return -1; - if (n) - num_read = read(el->el_infd, &ch, (size_t)1); - else - num_read = 0; -#elif defined(F_SETFL) && defined(O_NDELAY) - if ((n = fcntl(el->el_infd, F_GETFL, 0)) < 0) - return -1; - if (fcntl(el->el_infd, F_SETFL, n|O_NDELAY) < 0) - return -1; - num_read = read(el->el_infd, &ch, 1); - if (fcntl(el->el_infd, F_SETFL, n)) - return -1; -#else - /* not non-blocking, but what you gonna do? */ - num_read = read(el->el_infd, &ch, 1); - return -1; -#endif - - if (num_read < 0 && errno == EAGAIN) - continue; - if (num_read == 0) - continue; - break; - } - if (!rl_event_hook) - el_set(el, EL_GETCFN, EL_BUILTIN_GETCFN); - *wc = (wchar_t)ch; - return (int)num_read; -} - -static void -_rl_update_pos(void) -{ - const LineInfo *li = el_line(e); - - rl_point = (int)(li->cursor - li->buffer); - rl_end = (int)(li->lastchar - li->buffer); -} - -void -rl_get_screen_size(int *rows, int *cols) -{ - if (rows) - el_get(e, EL_GETTC, "li", rows, (void *)0); - if (cols) - el_get(e, EL_GETTC, "co", cols, (void *)0); -} - -void -rl_set_screen_size(int rows, int cols) -{ - char buf[64]; - (void)snprintf(buf, sizeof(buf), "%d", rows); - el_set(e, EL_SETTC, "li", buf, NULL); - (void)snprintf(buf, sizeof(buf), "%d", cols); - el_set(e, EL_SETTC, "co", buf, NULL); -} - -char ** -rl_completion_matches(const char *str, rl_compentry_func_t *fun) -{ - size_t len, max, i, j, min; - char **list, *match, *a, *b; - - len = 1; - max = 10; - if ((list = el_malloc(max * sizeof(*list))) == NULL) - return NULL; - - while ((match = (*fun)(str, (int)(len - 1))) != NULL) { - list[len++] = match; - if (len == max) { - char **nl; - max += 10; - if ((nl = el_realloc(list, max * sizeof(*nl))) == NULL) - goto out; - list = nl; - } - } - if (len == 1) - goto out; - list[len] = NULL; - if (len == 2) { - if ((list[0] = strdup(list[1])) == NULL) - goto out; - return list; - } - qsort(&list[1], len - 1, sizeof(*list), - (int (*)(const void *, const void *)) strcmp); - min = SIZE_MAX; - for (i = 1, a = list[i]; i < len - 1; i++, a = b) { - b = list[i + 1]; - for (j = 0; a[j] && a[j] == b[j]; j++) - continue; - if (min > j) - min = j; - } - if (min == 0 && *str) { - if ((list[0] = strdup(str)) == NULL) - goto out; - } else { - if ((list[0] = el_malloc((min + 1) * sizeof(*list[0]))) == NULL) - goto out; - (void)memcpy(list[0], list[1], min); - list[0][min] = '\0'; - } - return list; - -out: - el_free(list); - return NULL; -} - -char * -rl_filename_completion_function (const char *text, int state) -{ - return fn_filename_completion_function(text, state); -} - -void -rl_forced_update_display(void) -{ - el_set(e, EL_REFRESH); -} - -int -_rl_abort_internal(void) -{ - el_beep(e); - longjmp(topbuf, 1); - /*NOTREACHED*/ -} - -int -_rl_qsort_string_compare(char **s1, char **s2) -{ - return strcoll(*s1, *s2); -} - -HISTORY_STATE * -history_get_history_state(void) -{ - HISTORY_STATE *hs; - - if ((hs = el_malloc(sizeof(*hs))) == NULL) - return NULL; - hs->length = history_length; - return hs; -} - -int -/*ARGSUSED*/ -rl_kill_text(int from __attribute__((__unused__)), - int to __attribute__((__unused__))) -{ - return 0; -} - -Keymap -rl_make_bare_keymap(void) -{ - return NULL; -} - -Keymap -rl_get_keymap(void) -{ - return NULL; -} - -void -/*ARGSUSED*/ -rl_set_keymap(Keymap k __attribute__((__unused__))) -{ -} - -int -/*ARGSUSED*/ -rl_generic_bind(int type __attribute__((__unused__)), - const char * keyseq __attribute__((__unused__)), - const char * data __attribute__((__unused__)), - Keymap k __attribute__((__unused__))) -{ - return 0; -} - -int -/*ARGSUSED*/ -rl_bind_key_in_map(int key __attribute__((__unused__)), - rl_command_func_t *fun __attribute__((__unused__)), - Keymap k __attribute__((__unused__))) -{ - return 0; -} - -/* unsupported, but needed by python */ -void -rl_cleanup_after_signal(void) -{ -} - -int -rl_on_new_line(void) -{ - return 0; -} - -void -rl_free_line_state(void) -{ -} - -int -/*ARGSUSED*/ -rl_set_keyboard_input_timeout(int u __attribute__((__unused__))) -{ - return 0; -} - -void -rl_resize_terminal(void) -{ - el_resize(e); -} - -void -rl_reset_after_signal(void) -{ - if (rl_prep_term_function) - (*rl_prep_term_function)(); -} - -void -rl_echo_signal_char(int sig) -{ - int c = tty_get_signal_character(e, sig); - if (c == -1) - return; - re_putc(e, c, 0); -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/refresh.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/refresh.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/refresh.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/refresh.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1223 +0,0 @@ -/* $NetBSD: refresh.c,v 1.56 2019/01/04 03:03:44 uwe Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)refresh.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: refresh.c,v 1.56 2019/01/04 03:03:44 uwe Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * refresh.c: Lower level screen refreshing functions - */ -#include -#include -#include - -#include "el.h" - -static void re_nextline(EditLine *); -static void re_addc(EditLine *, wint_t); -static void re_update_line(EditLine *, wchar_t *, wchar_t *, int); -static void re_insert (EditLine *, wchar_t *, int, int, wchar_t *, int); -static void re_delete(EditLine *, wchar_t *, int, int, int); -static void re_fastputc(EditLine *, wint_t); -static void re_clear_eol(EditLine *, int, int, int); -static void re__strncopy(wchar_t *, wchar_t *, size_t); -static void re__copy_and_pad(wchar_t *, const wchar_t *, size_t); - -#ifdef DEBUG_REFRESH -static void re_printstr(EditLine *, const char *, wchar_t *, wchar_t *); -#define __F el->el_errfile -#define ELRE_ASSERT(a, b, c) do \ - if (/*CONSTCOND*/ a) { \ - (void) fprintf b; \ - c; \ - } \ - while (/*CONSTCOND*/0) -#define ELRE_DEBUG(a, b) ELRE_ASSERT(a,b,;) - -/* re_printstr(): - * Print a string on the debugging pty - */ -static void -re_printstr(EditLine *el, const char *str, wchar_t *f, wchar_t *t) -{ - - ELRE_DEBUG(1, (__F, "%s:\"", str)); - while (f < t) - ELRE_DEBUG(1, (__F, "%c", *f++ & 0177)); - ELRE_DEBUG(1, (__F, "\"\r\n")); -} -#else -#define ELRE_ASSERT(a, b, c) -#define ELRE_DEBUG(a, b) -#endif - -/* re_nextline(): - * Move to the next line or scroll - */ -static void -re_nextline(EditLine *el) -{ - el->el_refresh.r_cursor.h = 0; /* reset it. */ - - /* - * If we would overflow (input is longer than terminal size), - * emulate scroll by dropping first line and shuffling the rest. - * We do this via pointer shuffling - it's safe in this case - * and we avoid memcpy(). - */ - if (el->el_refresh.r_cursor.v + 1 >= el->el_terminal.t_size.v) { - int i, lins = el->el_terminal.t_size.v; - wchar_t *firstline = el->el_vdisplay[0]; - - for(i = 1; i < lins; i++) - el->el_vdisplay[i - 1] = el->el_vdisplay[i]; - - firstline[0] = '\0'; /* empty the string */ - el->el_vdisplay[i - 1] = firstline; - } else - el->el_refresh.r_cursor.v++; - - ELRE_ASSERT(el->el_refresh.r_cursor.v >= el->el_terminal.t_size.v, - (__F, "\r\nre_putc: overflow! r_cursor.v == %d > %d\r\n", - el->el_refresh.r_cursor.v, el->el_terminal.t_size.v), - abort()); -} - -/* re_addc(): - * Draw c, expanding tabs, control chars etc. - */ -static void -re_addc(EditLine *el, wint_t c) -{ - switch (ct_chr_class(c)) { - case CHTYPE_TAB: /* expand the tab */ - for (;;) { - re_putc(el, ' ', 1); - if ((el->el_refresh.r_cursor.h & 07) == 0) - break; /* go until tab stop */ - } - break; - case CHTYPE_NL: { - int oldv = el->el_refresh.r_cursor.v; - re_putc(el, '\0', 0); /* assure end of line */ - if (oldv == el->el_refresh.r_cursor.v) /* XXX */ - re_nextline(el); - break; - } - case CHTYPE_PRINT: - re_putc(el, c, 1); - break; - default: { - wchar_t visbuf[VISUAL_WIDTH_MAX]; - ssize_t i, n = - ct_visual_char(visbuf, VISUAL_WIDTH_MAX, c); - for (i = 0; n-- > 0; ++i) - re_putc(el, visbuf[i], 1); - break; - } - } -} - -/* re_putliteral(): - * Place the literal string given - */ -libedit_private void -re_putliteral(EditLine *el, const wchar_t *begin, const wchar_t *end) -{ - coord_t *cur = &el->el_refresh.r_cursor; - wint_t c; - int sizeh = el->el_terminal.t_size.h; - int i, w; - - c = literal_add(el, begin, end, &w); - if (c == 0 || w <= 0) - return; - el->el_vdisplay[cur->v][cur->h] = c; - - i = w; - if (i > sizeh - cur->h) /* avoid overflow */ - i = sizeh - cur->h; - while (--i > 0) - el->el_vdisplay[cur->v][cur->h + i] = MB_FILL_CHAR; - - cur->h += w; - if (cur->h >= sizeh) { - /* assure end of line */ - el->el_vdisplay[cur->v][sizeh] = '\0'; - re_nextline(el); - } -} - -/* re_putc(): - * Draw the character given - */ -libedit_private void -re_putc(EditLine *el, wint_t c, int shift) -{ - coord_t *cur = &el->el_refresh.r_cursor; - int i, w = wcwidth(c); - int sizeh = el->el_terminal.t_size.h; - - ELRE_DEBUG(1, (__F, "printing %5x '%lc'\r\n", c, c)); - if (w == -1) - w = 0; - - while (shift && (cur->h + w > sizeh)) - re_putc(el, ' ', 1); - - el->el_vdisplay[cur->v][cur->h] = c; - /* assumes !shift is only used for single-column chars */ - i = w; - while (--i > 0) - el->el_vdisplay[cur->v][cur->h + i] = MB_FILL_CHAR; - - if (!shift) - return; - - cur->h += w; /* advance to next place */ - if (cur->h >= sizeh) { - /* assure end of line */ - el->el_vdisplay[cur->v][sizeh] = '\0'; - re_nextline(el); - } -} - - -/* re_refresh(): - * draws the new virtual screen image from the current input - * line, then goes line-by-line changing the real image to the new - * virtual image. The routine to re-draw a line can be replaced - * easily in hopes of a smarter one being placed there. - */ -libedit_private void -re_refresh(EditLine *el) -{ - int i, rhdiff; - wchar_t *cp, *st; - coord_t cur; -#ifdef notyet - size_t termsz; -#endif - - ELRE_DEBUG(1, (__F, "el->el_line.buffer = :%ls:\r\n", - el->el_line.buffer)); - - literal_clear(el); - /* reset the Drawing cursor */ - el->el_refresh.r_cursor.h = 0; - el->el_refresh.r_cursor.v = 0; - - terminal_move_to_char(el, 0); - - /* temporarily draw rprompt to calculate its size */ - prompt_print(el, EL_RPROMPT); - - /* reset the Drawing cursor */ - el->el_refresh.r_cursor.h = 0; - el->el_refresh.r_cursor.v = 0; - - if (el->el_line.cursor >= el->el_line.lastchar) { - if (el->el_map.current == el->el_map.alt - && el->el_line.lastchar != el->el_line.buffer) - el->el_line.cursor = el->el_line.lastchar - 1; - else - el->el_line.cursor = el->el_line.lastchar; - } - - cur.h = -1; /* set flag in case I'm not set */ - cur.v = 0; - - prompt_print(el, EL_PROMPT); - - /* draw the current input buffer */ -#if notyet - termsz = el->el_terminal.t_size.h * el->el_terminal.t_size.v; - if (el->el_line.lastchar - el->el_line.buffer > termsz) { - /* - * If line is longer than terminal, process only part - * of line which would influence display. - */ - size_t rem = (el->el_line.lastchar-el->el_line.buffer)%termsz; - - st = el->el_line.lastchar - rem - - (termsz - (((rem / el->el_terminal.t_size.v) - 1) - * el->el_terminal.t_size.v)); - } else -#endif - st = el->el_line.buffer; - - for (cp = st; cp < el->el_line.lastchar; cp++) { - if (cp == el->el_line.cursor) { - int w = wcwidth(*cp); - /* save for later */ - cur.h = el->el_refresh.r_cursor.h; - cur.v = el->el_refresh.r_cursor.v; - /* handle being at a linebroken doublewidth char */ - if (w > 1 && el->el_refresh.r_cursor.h + w > - el->el_terminal.t_size.h) { - cur.h = 0; - cur.v++; - } - } - re_addc(el, *cp); - } - - if (cur.h == -1) { /* if I haven't been set yet, I'm at the end */ - cur.h = el->el_refresh.r_cursor.h; - cur.v = el->el_refresh.r_cursor.v; - } - rhdiff = el->el_terminal.t_size.h - el->el_refresh.r_cursor.h - - el->el_rprompt.p_pos.h; - if (el->el_rprompt.p_pos.h && !el->el_rprompt.p_pos.v && - !el->el_refresh.r_cursor.v && rhdiff > 1) { - /* - * have a right-hand side prompt that will fit - * on the end of the first line with at least - * one character gap to the input buffer. - */ - while (--rhdiff > 0) /* pad out with spaces */ - re_putc(el, ' ', 1); - prompt_print(el, EL_RPROMPT); - } else { - el->el_rprompt.p_pos.h = 0; /* flag "not using rprompt" */ - el->el_rprompt.p_pos.v = 0; - } - - re_putc(el, '\0', 0); /* make line ended with NUL, no cursor shift */ - - el->el_refresh.r_newcv = el->el_refresh.r_cursor.v; - - ELRE_DEBUG(1, (__F, - "term.h=%d vcur.h=%d vcur.v=%d vdisplay[0]=\r\n:%80.80s:\r\n", - el->el_terminal.t_size.h, el->el_refresh.r_cursor.h, - el->el_refresh.r_cursor.v, ct_encode_string(el->el_vdisplay[0], - &el->el_scratch))); - - ELRE_DEBUG(1, (__F, "updating %d lines.\r\n", el->el_refresh.r_newcv)); - for (i = 0; i <= el->el_refresh.r_newcv; i++) { - /* NOTE THAT re_update_line MAY CHANGE el_display[i] */ - re_update_line(el, el->el_display[i], el->el_vdisplay[i], i); - - /* - * Copy the new line to be the current one, and pad out with - * spaces to the full width of the terminal so that if we try - * moving the cursor by writing the character that is at the - * end of the screen line, it won't be a NUL or some old - * leftover stuff. - */ - re__copy_and_pad(el->el_display[i], el->el_vdisplay[i], - (size_t) el->el_terminal.t_size.h); - } - ELRE_DEBUG(1, (__F, - "\r\nel->el_refresh.r_cursor.v=%d,el->el_refresh.r_oldcv=%d i=%d\r\n", - el->el_refresh.r_cursor.v, el->el_refresh.r_oldcv, i)); - - if (el->el_refresh.r_oldcv > el->el_refresh.r_newcv) - for (; i <= el->el_refresh.r_oldcv; i++) { - terminal_move_to_line(el, i); - terminal_move_to_char(el, 0); - /* This wcslen should be safe even with MB_FILL_CHARs */ - terminal_clear_EOL(el, (int) wcslen(el->el_display[i])); -#ifdef DEBUG_REFRESH - terminal_overwrite(el, L"C\b", 2); -#endif /* DEBUG_REFRESH */ - el->el_display[i][0] = '\0'; - } - - el->el_refresh.r_oldcv = el->el_refresh.r_newcv; /* set for next time */ - ELRE_DEBUG(1, (__F, - "\r\ncursor.h = %d, cursor.v = %d, cur.h = %d, cur.v = %d\r\n", - el->el_refresh.r_cursor.h, el->el_refresh.r_cursor.v, - cur.h, cur.v)); - terminal_move_to_line(el, cur.v); /* go to where the cursor is */ - terminal_move_to_char(el, cur.h); -} - - -/* re_goto_bottom(): - * used to go to last used screen line - */ -libedit_private void -re_goto_bottom(EditLine *el) -{ - - terminal_move_to_line(el, el->el_refresh.r_oldcv); - terminal__putc(el, '\n'); - re_clear_display(el); - terminal__flush(el); -} - - -/* re_insert(): - * insert num characters of s into d (in front of the character) - * at dat, maximum length of d is dlen - */ -static void -/*ARGSUSED*/ -re_insert(EditLine *el __attribute__((__unused__)), - wchar_t *d, int dat, int dlen, wchar_t *s, int num) -{ - wchar_t *a, *b; - - if (num <= 0) - return; - if (num > dlen - dat) - num = dlen - dat; - - ELRE_DEBUG(1, - (__F, "re_insert() starting: %d at %d max %d, d == \"%s\"\n", - num, dat, dlen, ct_encode_string(d, &el->el_scratch))); - ELRE_DEBUG(1, (__F, "s == \"%s\"\n", ct_encode_string(s, - &el->el_scratch))); - - /* open up the space for num chars */ - if (num > 0) { - b = d + dlen - 1; - a = b - num; - while (a >= &d[dat]) - *b-- = *a--; - d[dlen] = '\0'; /* just in case */ - } - - ELRE_DEBUG(1, (__F, - "re_insert() after insert: %d at %d max %d, d == \"%s\"\n", - num, dat, dlen, ct_encode_string(d, &el->el_scratch))); - ELRE_DEBUG(1, (__F, "s == \"%s\"\n", ct_encode_string(s, - &el->el_scratch))); - - /* copy the characters */ - for (a = d + dat; (a < d + dlen) && (num > 0); num--) - *a++ = *s++; - -#ifdef notyet - /* ct_encode_string() uses a static buffer, so we can't conveniently - * encode both d & s here */ - ELRE_DEBUG(1, - (__F, "re_insert() after copy: %d at %d max %d, %s == \"%s\"\n", - num, dat, dlen, d, s)); - ELRE_DEBUG(1, (__F, "s == \"%s\"\n", s)); -#endif -} - - -/* re_delete(): - * delete num characters d at dat, maximum length of d is dlen - */ -static void -/*ARGSUSED*/ -re_delete(EditLine *el __attribute__((__unused__)), - wchar_t *d, int dat, int dlen, int num) -{ - wchar_t *a, *b; - - if (num <= 0) - return; - if (dat + num >= dlen) { - d[dat] = '\0'; - return; - } - ELRE_DEBUG(1, - (__F, "re_delete() starting: %d at %d max %d, d == \"%s\"\n", - num, dat, dlen, ct_encode_string(d, &el->el_scratch))); - - /* open up the space for num chars */ - if (num > 0) { - b = d + dat; - a = b + num; - while (a < &d[dlen]) - *b++ = *a++; - d[dlen] = '\0'; /* just in case */ - } - ELRE_DEBUG(1, - (__F, "re_delete() after delete: %d at %d max %d, d == \"%s\"\n", - num, dat, dlen, ct_encode_string(d, &el->el_scratch))); -} - - -/* re__strncopy(): - * Like strncpy without padding. - */ -static void -re__strncopy(wchar_t *a, wchar_t *b, size_t n) -{ - - while (n-- && *b) - *a++ = *b++; -} - -/* re_clear_eol(): - * Find the number of characters we need to clear till the end of line - * in order to make sure that we have cleared the previous contents of - * the line. fx and sx is the number of characters inserted or deleted - * in the first or second diff, diff is the difference between the - * number of characters between the new and old line. - */ -static void -re_clear_eol(EditLine *el, int fx, int sx, int diff) -{ - - ELRE_DEBUG(1, (__F, "re_clear_eol sx %d, fx %d, diff %d\n", - sx, fx, diff)); - - if (fx < 0) - fx = -fx; - if (sx < 0) - sx = -sx; - if (fx > diff) - diff = fx; - if (sx > diff) - diff = sx; - - ELRE_DEBUG(1, (__F, "re_clear_eol %d\n", diff)); - terminal_clear_EOL(el, diff); -} - -/***************************************************************** - re_update_line() is based on finding the middle difference of each line - on the screen; vis: - - /old first difference - /beginning of line | /old last same /old EOL - v v v v -old: eddie> Oh, my little gruntle-buggy is to me, as lurgid as -new: eddie> Oh, my little buggy says to me, as lurgid as - ^ ^ ^ ^ - \beginning of line | \new last same \new end of line - \new first difference - - all are character pointers for the sake of speed. Special cases for - no differences, as well as for end of line additions must be handled. -**************************************************************** */ - -/* Minimum at which doing an insert it "worth it". This should be about - * half the "cost" of going into insert mode, inserting a character, and - * going back out. This should really be calculated from the termcap - * data... For the moment, a good number for ANSI terminals. - */ -#define MIN_END_KEEP 4 - -static void -re_update_line(EditLine *el, wchar_t *old, wchar_t *new, int i) -{ - wchar_t *o, *n, *p, c; - wchar_t *ofd, *ols, *oe, *nfd, *nls, *ne; - wchar_t *osb, *ose, *nsb, *nse; - int fx, sx; - size_t len; - - /* - * find first diff - */ - for (o = old, n = new; *o && (*o == *n); o++, n++) - continue; - ofd = o; - nfd = n; - - /* - * Find the end of both old and new - */ - while (*o) - o++; - /* - * Remove any trailing blanks off of the end, being careful not to - * back up past the beginning. - */ - while (ofd < o) { - if (o[-1] != ' ') - break; - o--; - } - oe = o; - *oe = '\0'; - - while (*n) - n++; - - /* remove blanks from end of new */ - while (nfd < n) { - if (n[-1] != ' ') - break; - n--; - } - ne = n; - *ne = '\0'; - - /* - * if no diff, continue to next line of redraw - */ - if (*ofd == '\0' && *nfd == '\0') { - ELRE_DEBUG(1, (__F, "no difference.\r\n")); - return; - } - /* - * find last same pointer - */ - while ((o > ofd) && (n > nfd) && (*--o == *--n)) - continue; - ols = ++o; - nls = ++n; - - /* - * find same beginning and same end - */ - osb = ols; - nsb = nls; - ose = ols; - nse = nls; - - /* - * case 1: insert: scan from nfd to nls looking for *ofd - */ - if (*ofd) { - for (c = *ofd, n = nfd; n < nls; n++) { - if (c == *n) { - for (o = ofd, p = n; - p < nls && o < ols && *o == *p; - o++, p++) - continue; - /* - * if the new match is longer and it's worth - * keeping, then we take it - */ - if (((nse - nsb) < (p - n)) && - (2 * (p - n) > n - nfd)) { - nsb = n; - nse = p; - osb = ofd; - ose = o; - } - } - } - } - /* - * case 2: delete: scan from ofd to ols looking for *nfd - */ - if (*nfd) { - for (c = *nfd, o = ofd; o < ols; o++) { - if (c == *o) { - for (n = nfd, p = o; - p < ols && n < nls && *p == *n; - p++, n++) - continue; - /* - * if the new match is longer and it's worth - * keeping, then we take it - */ - if (((ose - osb) < (p - o)) && - (2 * (p - o) > o - ofd)) { - nsb = nfd; - nse = n; - osb = o; - ose = p; - } - } - } - } - /* - * Pragmatics I: If old trailing whitespace or not enough characters to - * save to be worth it, then don't save the last same info. - */ - if ((oe - ols) < MIN_END_KEEP) { - ols = oe; - nls = ne; - } - /* - * Pragmatics II: if the terminal isn't smart enough, make the data - * dumber so the smart update doesn't try anything fancy - */ - - /* - * fx is the number of characters we need to insert/delete: in the - * beginning to bring the two same begins together - */ - fx = (int)((nsb - nfd) - (osb - ofd)); - /* - * sx is the number of characters we need to insert/delete: in the - * end to bring the two same last parts together - */ - sx = (int)((nls - nse) - (ols - ose)); - - if (!EL_CAN_INSERT) { - if (fx > 0) { - osb = ols; - ose = ols; - nsb = nls; - nse = nls; - } - if (sx > 0) { - ols = oe; - nls = ne; - } - if ((ols - ofd) < (nls - nfd)) { - ols = oe; - nls = ne; - } - } - if (!EL_CAN_DELETE) { - if (fx < 0) { - osb = ols; - ose = ols; - nsb = nls; - nse = nls; - } - if (sx < 0) { - ols = oe; - nls = ne; - } - if ((ols - ofd) > (nls - nfd)) { - ols = oe; - nls = ne; - } - } - /* - * Pragmatics III: make sure the middle shifted pointers are correct if - * they don't point to anything (we may have moved ols or nls). - */ - /* if the change isn't worth it, don't bother */ - /* was: if (osb == ose) */ - if ((ose - osb) < MIN_END_KEEP) { - osb = ols; - ose = ols; - nsb = nls; - nse = nls; - } - /* - * Now that we are done with pragmatics we recompute fx, sx - */ - fx = (int)((nsb - nfd) - (osb - ofd)); - sx = (int)((nls - nse) - (ols - ose)); - - ELRE_DEBUG(1, (__F, "fx %d, sx %d\n", fx, sx)); - ELRE_DEBUG(1, (__F, "ofd %td, osb %td, ose %td, ols %td, oe %td\n", - ofd - old, osb - old, ose - old, ols - old, oe - old)); - ELRE_DEBUG(1, (__F, "nfd %td, nsb %td, nse %td, nls %td, ne %td\n", - nfd - new, nsb - new, nse - new, nls - new, ne - new)); - ELRE_DEBUG(1, (__F, - "xxx-xxx:\"00000000001111111111222222222233333333334\"\r\n")); - ELRE_DEBUG(1, (__F, - "xxx-xxx:\"01234567890123456789012345678901234567890\"\r\n")); -#ifdef DEBUG_REFRESH - re_printstr(el, "old- oe", old, oe); - re_printstr(el, "new- ne", new, ne); - re_printstr(el, "old-ofd", old, ofd); - re_printstr(el, "new-nfd", new, nfd); - re_printstr(el, "ofd-osb", ofd, osb); - re_printstr(el, "nfd-nsb", nfd, nsb); - re_printstr(el, "osb-ose", osb, ose); - re_printstr(el, "nsb-nse", nsb, nse); - re_printstr(el, "ose-ols", ose, ols); - re_printstr(el, "nse-nls", nse, nls); - re_printstr(el, "ols- oe", ols, oe); - re_printstr(el, "nls- ne", nls, ne); -#endif /* DEBUG_REFRESH */ - - /* - * el_cursor.v to this line i MUST be in this routine so that if we - * don't have to change the line, we don't move to it. el_cursor.h to - * first diff char - */ - terminal_move_to_line(el, i); - - /* - * at this point we have something like this: - * - * /old /ofd /osb /ose /ols /oe - * v.....................v v..................v v........v - * eddie> Oh, my fredded gruntle-buggy is to me, as foo var lurgid as - * eddie> Oh, my fredded quiux buggy is to me, as gruntle-lurgid as - * ^.....................^ ^..................^ ^........^ - * \new \nfd \nsb \nse \nls \ne - * - * fx is the difference in length between the chars between nfd and - * nsb, and the chars between ofd and osb, and is thus the number of - * characters to delete if < 0 (new is shorter than old, as above), - * or insert (new is longer than short). - * - * sx is the same for the second differences. - */ - - /* - * if we have a net insert on the first difference, AND inserting the - * net amount ((nsb-nfd) - (osb-ofd)) won't push the last useful - * character (which is ne if nls != ne, otherwise is nse) off the edge - * of the screen (el->el_terminal.t_size.h) else we do the deletes first - * so that we keep everything we need to. - */ - - /* - * if the last same is the same like the end, there is no last same - * part, otherwise we want to keep the last same part set p to the - * last useful old character - */ - p = (ols != oe) ? oe : ose; - - /* - * if (There is a diffence in the beginning) && (we need to insert - * characters) && (the number of characters to insert is less than - * the term width) - * We need to do an insert! - * else if (we need to delete characters) - * We need to delete characters! - * else - * No insert or delete - */ - if ((nsb != nfd) && fx > 0 && - ((p - old) + fx <= el->el_terminal.t_size.h)) { - ELRE_DEBUG(1, - (__F, "first diff insert at %td...\r\n", nfd - new)); - /* - * Move to the first char to insert, where the first diff is. - */ - terminal_move_to_char(el, (int)(nfd - new)); - /* - * Check if we have stuff to keep at end - */ - if (nsb != ne) { - ELRE_DEBUG(1, (__F, "with stuff to keep at end\r\n")); - /* - * insert fx chars of new starting at nfd - */ - if (fx > 0) { - ELRE_DEBUG(!EL_CAN_INSERT, (__F, - "ERROR: cannot insert in early first diff\n")); - terminal_insertwrite(el, nfd, fx); - re_insert(el, old, (int)(ofd - old), - el->el_terminal.t_size.h, nfd, fx); - } - /* - * write (nsb-nfd) - fx chars of new starting at - * (nfd + fx) - */ - len = (size_t) ((nsb - nfd) - fx); - terminal_overwrite(el, (nfd + fx), len); - re__strncopy(ofd + fx, nfd + fx, len); - } else { - ELRE_DEBUG(1, (__F, "without anything to save\r\n")); - len = (size_t)(nsb - nfd); - terminal_overwrite(el, nfd, len); - re__strncopy(ofd, nfd, len); - /* - * Done - */ - return; - } - } else if (fx < 0) { - ELRE_DEBUG(1, - (__F, "first diff delete at %td...\r\n", ofd - old)); - /* - * move to the first char to delete where the first diff is - */ - terminal_move_to_char(el, (int)(ofd - old)); - /* - * Check if we have stuff to save - */ - if (osb != oe) { - ELRE_DEBUG(1, (__F, "with stuff to save at end\r\n")); - /* - * fx is less than zero *always* here but we check - * for code symmetry - */ - if (fx < 0) { - ELRE_DEBUG(!EL_CAN_DELETE, (__F, - "ERROR: cannot delete in first diff\n")); - terminal_deletechars(el, -fx); - re_delete(el, old, (int)(ofd - old), - el->el_terminal.t_size.h, -fx); - } - /* - * write (nsb-nfd) chars of new starting at nfd - */ - len = (size_t) (nsb - nfd); - terminal_overwrite(el, nfd, len); - re__strncopy(ofd, nfd, len); - - } else { - ELRE_DEBUG(1, (__F, - "but with nothing left to save\r\n")); - /* - * write (nsb-nfd) chars of new starting at nfd - */ - terminal_overwrite(el, nfd, (size_t)(nsb - nfd)); - re_clear_eol(el, fx, sx, - (int)((oe - old) - (ne - new))); - /* - * Done - */ - return; - } - } else - fx = 0; - - if (sx < 0 && (ose - old) + fx < el->el_terminal.t_size.h) { - ELRE_DEBUG(1, (__F, - "second diff delete at %td...\r\n", (ose - old) + fx)); - /* - * Check if we have stuff to delete - */ - /* - * fx is the number of characters inserted (+) or deleted (-) - */ - - terminal_move_to_char(el, (int)((ose - old) + fx)); - /* - * Check if we have stuff to save - */ - if (ols != oe) { - ELRE_DEBUG(1, (__F, "with stuff to save at end\r\n")); - /* - * Again a duplicate test. - */ - if (sx < 0) { - ELRE_DEBUG(!EL_CAN_DELETE, (__F, - "ERROR: cannot delete in second diff\n")); - terminal_deletechars(el, -sx); - } - /* - * write (nls-nse) chars of new starting at nse - */ - terminal_overwrite(el, nse, (size_t)(nls - nse)); - } else { - ELRE_DEBUG(1, (__F, - "but with nothing left to save\r\n")); - terminal_overwrite(el, nse, (size_t)(nls - nse)); - re_clear_eol(el, fx, sx, - (int)((oe - old) - (ne - new))); - } - } - /* - * if we have a first insert AND WE HAVEN'T ALREADY DONE IT... - */ - if ((nsb != nfd) && (osb - ofd) <= (nsb - nfd) && (fx == 0)) { - ELRE_DEBUG(1, (__F, "late first diff insert at %td...\r\n", - nfd - new)); - - terminal_move_to_char(el, (int)(nfd - new)); - /* - * Check if we have stuff to keep at the end - */ - if (nsb != ne) { - ELRE_DEBUG(1, (__F, "with stuff to keep at end\r\n")); - /* - * We have to recalculate fx here because we set it - * to zero above as a flag saying that we hadn't done - * an early first insert. - */ - fx = (int)((nsb - nfd) - (osb - ofd)); - if (fx > 0) { - /* - * insert fx chars of new starting at nfd - */ - ELRE_DEBUG(!EL_CAN_INSERT, (__F, - "ERROR: cannot insert in late first diff\n")); - terminal_insertwrite(el, nfd, fx); - re_insert(el, old, (int)(ofd - old), - el->el_terminal.t_size.h, nfd, fx); - } - /* - * write (nsb-nfd) - fx chars of new starting at - * (nfd + fx) - */ - len = (size_t) ((nsb - nfd) - fx); - terminal_overwrite(el, (nfd + fx), len); - re__strncopy(ofd + fx, nfd + fx, len); - } else { - ELRE_DEBUG(1, (__F, "without anything to save\r\n")); - len = (size_t) (nsb - nfd); - terminal_overwrite(el, nfd, len); - re__strncopy(ofd, nfd, len); - } - } - /* - * line is now NEW up to nse - */ - if (sx >= 0) { - ELRE_DEBUG(1, (__F, - "second diff insert at %d...\r\n", (int)(nse - new))); - terminal_move_to_char(el, (int)(nse - new)); - if (ols != oe) { - ELRE_DEBUG(1, (__F, "with stuff to keep at end\r\n")); - if (sx > 0) { - /* insert sx chars of new starting at nse */ - ELRE_DEBUG(!EL_CAN_INSERT, (__F, - "ERROR: cannot insert in second diff\n")); - terminal_insertwrite(el, nse, sx); - } - /* - * write (nls-nse) - sx chars of new starting at - * (nse + sx) - */ - terminal_overwrite(el, (nse + sx), - (size_t)((nls - nse) - sx)); - } else { - ELRE_DEBUG(1, (__F, "without anything to save\r\n")); - terminal_overwrite(el, nse, (size_t)(nls - nse)); - - /* - * No need to do a clear-to-end here because we were - * doing a second insert, so we will have over - * written all of the old string. - */ - } - } - ELRE_DEBUG(1, (__F, "done.\r\n")); -} - - -/* re__copy_and_pad(): - * Copy string and pad with spaces - */ -static void -re__copy_and_pad(wchar_t *dst, const wchar_t *src, size_t width) -{ - size_t i; - - for (i = 0; i < width; i++) { - if (*src == '\0') - break; - *dst++ = *src++; - } - - for (; i < width; i++) - *dst++ = ' '; - - *dst = '\0'; -} - - -/* re_refresh_cursor(): - * Move to the new cursor position - */ -libedit_private void -re_refresh_cursor(EditLine *el) -{ - wchar_t *cp; - int h, v, th, w; - - if (el->el_line.cursor >= el->el_line.lastchar) { - if (el->el_map.current == el->el_map.alt - && el->el_line.lastchar != el->el_line.buffer) - el->el_line.cursor = el->el_line.lastchar - 1; - else - el->el_line.cursor = el->el_line.lastchar; - } - - /* first we must find where the cursor is... */ - h = el->el_prompt.p_pos.h; - v = el->el_prompt.p_pos.v; - th = el->el_terminal.t_size.h; /* optimize for speed */ - - /* do input buffer to el->el_line.cursor */ - for (cp = el->el_line.buffer; cp < el->el_line.cursor; cp++) { - switch (ct_chr_class(*cp)) { - case CHTYPE_NL: /* handle newline in data part too */ - h = 0; - v++; - break; - case CHTYPE_TAB: /* if a tab, to next tab stop */ - while (++h & 07) - continue; - break; - default: - w = wcwidth(*cp); - if (w > 1 && h + w > th) { /* won't fit on line */ - h = 0; - v++; - } - h += ct_visual_width(*cp); - break; - } - - if (h >= th) { /* check, extra long tabs picked up here also */ - h -= th; - v++; - } - } - /* if we have a next character, and it's a doublewidth one, we need to - * check whether we need to linebreak for it to fit */ - if (cp < el->el_line.lastchar && (w = wcwidth(*cp)) > 1) - if (h + w > th) { - h = 0; - v++; - } - - /* now go there */ - terminal_move_to_line(el, v); - terminal_move_to_char(el, h); - terminal__flush(el); -} - - -/* re_fastputc(): - * Add a character fast. - */ -static void -re_fastputc(EditLine *el, wint_t c) -{ - wchar_t *lastline; - int w; - - w = wcwidth(c); - while (w > 1 && el->el_cursor.h + w > el->el_terminal.t_size.h) - re_fastputc(el, ' '); - - terminal__putc(el, c); - el->el_display[el->el_cursor.v][el->el_cursor.h++] = c; - while (--w > 0) - el->el_display[el->el_cursor.v][el->el_cursor.h++] - = MB_FILL_CHAR; - - if (el->el_cursor.h >= el->el_terminal.t_size.h) { - /* if we must overflow */ - el->el_cursor.h = 0; - - /* - * If we would overflow (input is longer than terminal size), - * emulate scroll by dropping first line and shuffling the rest. - * We do this via pointer shuffling - it's safe in this case - * and we avoid memcpy(). - */ - if (el->el_cursor.v + 1 >= el->el_terminal.t_size.v) { - int i, lins = el->el_terminal.t_size.v; - - lastline = el->el_display[0]; - for(i = 1; i < lins; i++) - el->el_display[i - 1] = el->el_display[i]; - - el->el_display[i - 1] = lastline; - } else { - el->el_cursor.v++; - lastline = el->el_display[++el->el_refresh.r_oldcv]; - } - re__copy_and_pad(lastline, L"", (size_t)el->el_terminal.t_size.h); - - if (EL_HAS_AUTO_MARGINS) { - if (EL_HAS_MAGIC_MARGINS) { - terminal__putc(el, ' '); - terminal__putc(el, '\b'); - } - } else { - terminal__putc(el, '\r'); - terminal__putc(el, '\n'); - } - } -} - - -/* re_fastaddc(): - * we added just one char, handle it fast. - * Assumes that screen cursor == real cursor - */ -libedit_private void -re_fastaddc(EditLine *el) -{ - wchar_t c; - int rhdiff; - - c = el->el_line.cursor[-1]; - - if (c == '\t' || el->el_line.cursor != el->el_line.lastchar) { - re_refresh(el); /* too hard to handle */ - return; - } - rhdiff = el->el_terminal.t_size.h - el->el_cursor.h - - el->el_rprompt.p_pos.h; - if (el->el_rprompt.p_pos.h && rhdiff < 3) { - re_refresh(el); /* clear out rprompt if less than 1 char gap */ - return; - } /* else (only do at end of line, no TAB) */ - switch (ct_chr_class(c)) { - case CHTYPE_TAB: /* already handled, should never happen here */ - break; - case CHTYPE_NL: - case CHTYPE_PRINT: - re_fastputc(el, c); - break; - case CHTYPE_ASCIICTL: - case CHTYPE_NONPRINT: { - wchar_t visbuf[VISUAL_WIDTH_MAX]; - ssize_t i, n = - ct_visual_char(visbuf, VISUAL_WIDTH_MAX, c); - for (i = 0; n-- > 0; ++i) - re_fastputc(el, visbuf[i]); - break; - } - } - terminal__flush(el); -} - - -/* re_clear_display(): - * clear the screen buffers so that new new prompt starts fresh. - */ -libedit_private void -re_clear_display(EditLine *el) -{ - int i; - - el->el_cursor.v = 0; - el->el_cursor.h = 0; - for (i = 0; i < el->el_terminal.t_size.v; i++) - el->el_display[i][0] = '\0'; - el->el_refresh.r_oldcv = 0; -} - - -/* re_clear_lines(): - * Make sure all lines are *really* blank - */ -libedit_private void -re_clear_lines(EditLine *el) -{ - - if (EL_CAN_CEOL) { - int i; - for (i = el->el_refresh.r_oldcv; i >= 0; i--) { - /* for each line on the screen */ - terminal_move_to_line(el, i); - terminal_move_to_char(el, 0); - terminal_clear_EOL(el, el->el_terminal.t_size.h); - } - } else { - terminal_move_to_line(el, el->el_refresh.r_oldcv); - /* go to last line */ - terminal__putc(el, '\r'); /* go to BOL */ - terminal__putc(el, '\n'); /* go to new line */ - } -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/refresh.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/refresh.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/refresh.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/refresh.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ -/* $NetBSD: refresh.h,v 1.11 2017/06/27 23:23:48 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)refresh.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.refresh.h: Screen refresh functions - */ -#ifndef _h_el_refresh -#define _h_el_refresh - -typedef struct { - coord_t r_cursor; /* Refresh cursor position */ - int r_oldcv; /* Vertical locations */ - int r_newcv; -} el_refresh_t; - -libedit_private void re_putc(EditLine *, wint_t, int); -libedit_private void re_putliteral(EditLine *, const wchar_t *, - const wchar_t *); -libedit_private void re_clear_lines(EditLine *); -libedit_private void re_clear_display(EditLine *); -libedit_private void re_refresh(EditLine *); -libedit_private void re_refresh_cursor(EditLine *); -libedit_private void re_fastaddc(EditLine *); -libedit_private void re_goto_bottom(EditLine *); - -#endif /* _h_el_refresh */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/search.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/search.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/search.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/search.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,644 +0,0 @@ -/* $NetBSD: search.c,v 1.48 2018/02/26 17:36:14 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)search.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: search.c,v 1.48 2018/02/26 17:36:14 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * search.c: History and character search functions - */ -#include -#include -#include -#if defined(REGEX) -#include -#elif defined(REGEXP) -#include -#endif - -#include "el.h" -#include "common.h" -#include "fcns.h" - -/* - * Adjust cursor in vi mode to include the character under it - */ -#define EL_CURSOR(el) \ - ((el)->el_line.cursor + (((el)->el_map.type == MAP_VI) && \ - ((el)->el_map.current == (el)->el_map.alt))) - -/* search_init(): - * Initialize the search stuff - */ -libedit_private int -search_init(EditLine *el) -{ - - el->el_search.patbuf = el_malloc(EL_BUFSIZ * - sizeof(*el->el_search.patbuf)); - if (el->el_search.patbuf == NULL) - return -1; - el->el_search.patbuf[0] = L'\0'; - el->el_search.patlen = 0; - el->el_search.patdir = -1; - el->el_search.chacha = L'\0'; - el->el_search.chadir = CHAR_FWD; - el->el_search.chatflg = 0; - return 0; -} - - -/* search_end(): - * Initialize the search stuff - */ -libedit_private void -search_end(EditLine *el) -{ - - el_free(el->el_search.patbuf); - el->el_search.patbuf = NULL; -} - - -#ifdef REGEXP -/* regerror(): - * Handle regular expression errors - */ -void -/*ARGSUSED*/ -regerror(const char *msg) -{ -} -#endif - - -/* el_match(): - * Return if string matches pattern - */ -libedit_private int -el_match(const wchar_t *str, const wchar_t *pat) -{ - static ct_buffer_t conv; -#if defined (REGEX) - regex_t re; - int rv; -#elif defined (REGEXP) - regexp *rp; - int rv; -#else - extern char *re_comp(const char *); - extern int re_exec(const char *); -#endif - - if (wcsstr(str, pat) != 0) - return 1; - -#if defined(REGEX) - if (regcomp(&re, ct_encode_string(pat, &conv), 0) == 0) { - rv = regexec(&re, ct_encode_string(str, &conv), (size_t)0, NULL, - 0) == 0; - regfree(&re); - } else { - rv = 0; - } - return rv; -#elif defined(REGEXP) - if ((re = regcomp(ct_encode_string(pat, &conv))) != NULL) { - rv = regexec(re, ct_encode_string(str, &conv)); - el_free(re); - } else { - rv = 0; - } - return rv; -#else - if (re_comp(ct_encode_string(pat, &conv)) != NULL) - return 0; - else - return re_exec(ct_encode_string(str, &conv)) == 1; -#endif -} - - -/* c_hmatch(): - * return True if the pattern matches the prefix - */ -libedit_private int -c_hmatch(EditLine *el, const wchar_t *str) -{ -#ifdef SDEBUG - (void) fprintf(el->el_errfile, "match `%s' with `%s'\n", - el->el_search.patbuf, str); -#endif /* SDEBUG */ - - return el_match(str, el->el_search.patbuf); -} - - -/* c_setpat(): - * Set the history seatch pattern - */ -libedit_private void -c_setpat(EditLine *el) -{ - if (el->el_state.lastcmd != ED_SEARCH_PREV_HISTORY && - el->el_state.lastcmd != ED_SEARCH_NEXT_HISTORY) { - el->el_search.patlen = - (size_t)(EL_CURSOR(el) - el->el_line.buffer); - if (el->el_search.patlen >= EL_BUFSIZ) - el->el_search.patlen = EL_BUFSIZ - 1; - if (el->el_search.patlen != 0) { - (void) wcsncpy(el->el_search.patbuf, el->el_line.buffer, - el->el_search.patlen); - el->el_search.patbuf[el->el_search.patlen] = '\0'; - } else - el->el_search.patlen = wcslen(el->el_search.patbuf); - } -#ifdef SDEBUG - (void) fprintf(el->el_errfile, "\neventno = %d\n", - el->el_history.eventno); - (void) fprintf(el->el_errfile, "patlen = %d\n", el->el_search.patlen); - (void) fprintf(el->el_errfile, "patbuf = \"%s\"\n", - el->el_search.patbuf); - (void) fprintf(el->el_errfile, "cursor %d lastchar %d\n", - EL_CURSOR(el) - el->el_line.buffer, - el->el_line.lastchar - el->el_line.buffer); -#endif -} - - -/* ce_inc_search(): - * Emacs incremental search - */ -libedit_private el_action_t -ce_inc_search(EditLine *el, int dir) -{ - static const wchar_t STRfwd[] = L"fwd", STRbck[] = L"bck"; - static wchar_t pchar = L':'; /* ':' = normal, '?' = failed */ - static wchar_t endcmd[2] = {'\0', '\0'}; - wchar_t *ocursor = el->el_line.cursor, oldpchar = pchar, ch; - const wchar_t *cp; - - el_action_t ret = CC_NORM; - - int ohisteventno = el->el_history.eventno; - size_t oldpatlen = el->el_search.patlen; - int newdir = dir; - int done, redo; - - if (el->el_line.lastchar + sizeof(STRfwd) / - sizeof(*el->el_line.lastchar) + 2 + - el->el_search.patlen >= el->el_line.limit) - return CC_ERROR; - - for (;;) { - - if (el->el_search.patlen == 0) { /* first round */ - pchar = ':'; -#ifdef ANCHOR -#define LEN 2 - el->el_search.patbuf[el->el_search.patlen++] = '.'; - el->el_search.patbuf[el->el_search.patlen++] = '*'; -#else -#define LEN 0 -#endif - } - done = redo = 0; - *el->el_line.lastchar++ = '\n'; - for (cp = (newdir == ED_SEARCH_PREV_HISTORY) ? STRbck : STRfwd; - *cp; *el->el_line.lastchar++ = *cp++) - continue; - *el->el_line.lastchar++ = pchar; - for (cp = &el->el_search.patbuf[LEN]; - cp < &el->el_search.patbuf[el->el_search.patlen]; - *el->el_line.lastchar++ = *cp++) - continue; - *el->el_line.lastchar = '\0'; - re_refresh(el); - - if (el_wgetc(el, &ch) != 1) - return ed_end_of_file(el, 0); - - switch (el->el_map.current[(unsigned char) ch]) { - case ED_INSERT: - case ED_DIGIT: - if (el->el_search.patlen >= EL_BUFSIZ - LEN) - terminal_beep(el); - else { - el->el_search.patbuf[el->el_search.patlen++] = - ch; - *el->el_line.lastchar++ = ch; - *el->el_line.lastchar = '\0'; - re_refresh(el); - } - break; - - case EM_INC_SEARCH_NEXT: - newdir = ED_SEARCH_NEXT_HISTORY; - redo++; - break; - - case EM_INC_SEARCH_PREV: - newdir = ED_SEARCH_PREV_HISTORY; - redo++; - break; - - case EM_DELETE_PREV_CHAR: - case ED_DELETE_PREV_CHAR: - if (el->el_search.patlen > LEN) - done++; - else - terminal_beep(el); - break; - - default: - switch (ch) { - case 0007: /* ^G: Abort */ - ret = CC_ERROR; - done++; - break; - - case 0027: /* ^W: Append word */ - /* No can do if globbing characters in pattern */ - for (cp = &el->el_search.patbuf[LEN];; cp++) - if (cp >= &el->el_search.patbuf[ - el->el_search.patlen]) { - el->el_line.cursor += - el->el_search.patlen - LEN - 1; - cp = c__next_word(el->el_line.cursor, - el->el_line.lastchar, 1, - ce__isword); - while (el->el_line.cursor < cp && - *el->el_line.cursor != '\n') { - if (el->el_search.patlen >= - EL_BUFSIZ - LEN) { - terminal_beep(el); - break; - } - el->el_search.patbuf[el->el_search.patlen++] = - *el->el_line.cursor; - *el->el_line.lastchar++ = - *el->el_line.cursor++; - } - el->el_line.cursor = ocursor; - *el->el_line.lastchar = '\0'; - re_refresh(el); - break; - } else if (isglob(*cp)) { - terminal_beep(el); - break; - } - break; - - default: /* Terminate and execute cmd */ - endcmd[0] = ch; - el_wpush(el, endcmd); - /* FALLTHROUGH */ - - case 0033: /* ESC: Terminate */ - ret = CC_REFRESH; - done++; - break; - } - break; - } - - while (el->el_line.lastchar > el->el_line.buffer && - *el->el_line.lastchar != '\n') - *el->el_line.lastchar-- = '\0'; - *el->el_line.lastchar = '\0'; - - if (!done) { - - /* Can't search if unmatched '[' */ - for (cp = &el->el_search.patbuf[el->el_search.patlen-1], - ch = L']'; - cp >= &el->el_search.patbuf[LEN]; - cp--) - if (*cp == '[' || *cp == ']') { - ch = *cp; - break; - } - if (el->el_search.patlen > LEN && ch != L'[') { - if (redo && newdir == dir) { - if (pchar == '?') { /* wrap around */ - el->el_history.eventno = - newdir == ED_SEARCH_PREV_HISTORY ? 0 : 0x7fffffff; - if (hist_get(el) == CC_ERROR) - /* el->el_history.event - * no was fixed by - * first call */ - (void) hist_get(el); - el->el_line.cursor = newdir == - ED_SEARCH_PREV_HISTORY ? - el->el_line.lastchar : - el->el_line.buffer; - } else - el->el_line.cursor += - newdir == - ED_SEARCH_PREV_HISTORY ? - -1 : 1; - } -#ifdef ANCHOR - el->el_search.patbuf[el->el_search.patlen++] = - '.'; - el->el_search.patbuf[el->el_search.patlen++] = - '*'; -#endif - el->el_search.patbuf[el->el_search.patlen] = - '\0'; - if (el->el_line.cursor < el->el_line.buffer || - el->el_line.cursor > el->el_line.lastchar || - (ret = ce_search_line(el, newdir)) - == CC_ERROR) { - /* avoid c_setpat */ - el->el_state.lastcmd = - (el_action_t) newdir; - ret = (el_action_t) - (newdir == ED_SEARCH_PREV_HISTORY ? - ed_search_prev_history(el, 0) : - ed_search_next_history(el, 0)); - if (ret != CC_ERROR) { - el->el_line.cursor = newdir == - ED_SEARCH_PREV_HISTORY ? - el->el_line.lastchar : - el->el_line.buffer; - (void) ce_search_line(el, - newdir); - } - } - el->el_search.patlen -= LEN; - el->el_search.patbuf[el->el_search.patlen] = - '\0'; - if (ret == CC_ERROR) { - terminal_beep(el); - if (el->el_history.eventno != - ohisteventno) { - el->el_history.eventno = - ohisteventno; - if (hist_get(el) == CC_ERROR) - return CC_ERROR; - } - el->el_line.cursor = ocursor; - pchar = '?'; - } else { - pchar = ':'; - } - } - ret = ce_inc_search(el, newdir); - - if (ret == CC_ERROR && pchar == '?' && oldpchar == ':') - /* - * break abort of failed search at last - * non-failed - */ - ret = CC_NORM; - - } - if (ret == CC_NORM || (ret == CC_ERROR && oldpatlen == 0)) { - /* restore on normal return or error exit */ - pchar = oldpchar; - el->el_search.patlen = oldpatlen; - if (el->el_history.eventno != ohisteventno) { - el->el_history.eventno = ohisteventno; - if (hist_get(el) == CC_ERROR) - return CC_ERROR; - } - el->el_line.cursor = ocursor; - if (ret == CC_ERROR) - re_refresh(el); - } - if (done || ret != CC_NORM) - return ret; - } -} - - -/* cv_search(): - * Vi search. - */ -libedit_private el_action_t -cv_search(EditLine *el, int dir) -{ - wchar_t ch; - wchar_t tmpbuf[EL_BUFSIZ]; - ssize_t tmplen; - -#ifdef ANCHOR - tmpbuf[0] = '.'; - tmpbuf[1] = '*'; -#endif - tmplen = LEN; - - el->el_search.patdir = dir; - - tmplen = c_gets(el, &tmpbuf[LEN], - dir == ED_SEARCH_PREV_HISTORY ? L"\n/" : L"\n?" ); - if (tmplen == -1) - return CC_REFRESH; - - tmplen += LEN; - ch = tmpbuf[tmplen]; - tmpbuf[tmplen] = '\0'; - - if (tmplen == LEN) { - /* - * Use the old pattern, but wild-card it. - */ - if (el->el_search.patlen == 0) { - re_refresh(el); - return CC_ERROR; - } -#ifdef ANCHOR - if (el->el_search.patbuf[0] != '.' && - el->el_search.patbuf[0] != '*') { - (void) wcsncpy(tmpbuf, el->el_search.patbuf, - sizeof(tmpbuf) / sizeof(*tmpbuf) - 1); - el->el_search.patbuf[0] = '.'; - el->el_search.patbuf[1] = '*'; - (void) wcsncpy(&el->el_search.patbuf[2], tmpbuf, - EL_BUFSIZ - 3); - el->el_search.patlen++; - el->el_search.patbuf[el->el_search.patlen++] = '.'; - el->el_search.patbuf[el->el_search.patlen++] = '*'; - el->el_search.patbuf[el->el_search.patlen] = '\0'; - } -#endif - } else { -#ifdef ANCHOR - tmpbuf[tmplen++] = '.'; - tmpbuf[tmplen++] = '*'; -#endif - tmpbuf[tmplen] = '\0'; - (void) wcsncpy(el->el_search.patbuf, tmpbuf, EL_BUFSIZ - 1); - el->el_search.patlen = (size_t)tmplen; - } - el->el_state.lastcmd = (el_action_t) dir; /* avoid c_setpat */ - el->el_line.cursor = el->el_line.lastchar = el->el_line.buffer; - if ((dir == ED_SEARCH_PREV_HISTORY ? ed_search_prev_history(el, 0) : - ed_search_next_history(el, 0)) == CC_ERROR) { - re_refresh(el); - return CC_ERROR; - } - if (ch == 0033) { - re_refresh(el); - return ed_newline(el, 0); - } - return CC_REFRESH; -} - - -/* ce_search_line(): - * Look for a pattern inside a line - */ -libedit_private el_action_t -ce_search_line(EditLine *el, int dir) -{ - wchar_t *cp = el->el_line.cursor; - wchar_t *pattern = el->el_search.patbuf; - wchar_t oc, *ocp; -#ifdef ANCHOR - ocp = &pattern[1]; - oc = *ocp; - *ocp = '^'; -#else - ocp = pattern; - oc = *ocp; -#endif - - if (dir == ED_SEARCH_PREV_HISTORY) { - for (; cp >= el->el_line.buffer; cp--) { - if (el_match(cp, ocp)) { - *ocp = oc; - el->el_line.cursor = cp; - return CC_NORM; - } - } - *ocp = oc; - return CC_ERROR; - } else { - for (; *cp != '\0' && cp < el->el_line.limit; cp++) { - if (el_match(cp, ocp)) { - *ocp = oc; - el->el_line.cursor = cp; - return CC_NORM; - } - } - *ocp = oc; - return CC_ERROR; - } -} - - -/* cv_repeat_srch(): - * Vi repeat search - */ -libedit_private el_action_t -cv_repeat_srch(EditLine *el, wint_t c) -{ - -#ifdef SDEBUG - (void) fprintf(el->el_errfile, "dir %d patlen %d patbuf %s\n", - c, el->el_search.patlen, ct_encode_string(el->el_search.patbuf)); -#endif - - el->el_state.lastcmd = (el_action_t) c; /* Hack to stop c_setpat */ - el->el_line.lastchar = el->el_line.buffer; - - switch (c) { - case ED_SEARCH_NEXT_HISTORY: - return ed_search_next_history(el, 0); - case ED_SEARCH_PREV_HISTORY: - return ed_search_prev_history(el, 0); - default: - return CC_ERROR; - } -} - - -/* cv_csearch(): - * Vi character search - */ -libedit_private el_action_t -cv_csearch(EditLine *el, int direction, wint_t ch, int count, int tflag) -{ - wchar_t *cp; - - if (ch == 0) - return CC_ERROR; - - if (ch == (wint_t)-1) { - wchar_t c; - if (el_wgetc(el, &c) != 1) - return ed_end_of_file(el, 0); - ch = c; - } - - /* Save for ';' and ',' commands */ - el->el_search.chacha = ch; - el->el_search.chadir = direction; - el->el_search.chatflg = (char)tflag; - - cp = el->el_line.cursor; - while (count--) { - if ((wint_t)*cp == ch) - cp += direction; - for (;;cp += direction) { - if (cp >= el->el_line.lastchar) - return CC_ERROR; - if (cp < el->el_line.buffer) - return CC_ERROR; - if ((wint_t)*cp == ch) - break; - } - } - - if (tflag) - cp -= direction; - - el->el_line.cursor = cp; - - if (el->el_chared.c_vcmd.action != NOP) { - if (direction > 0) - el->el_line.cursor++; - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/search.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/search.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/search.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/search.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,64 +0,0 @@ -/* $NetBSD: search.h,v 1.14 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)search.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.search.h: Line and history searching utilities - */ -#ifndef _h_el_search -#define _h_el_search - -typedef struct el_search_t { - wchar_t *patbuf; /* The pattern buffer */ - size_t patlen; /* Length of the pattern buffer */ - int patdir; /* Direction of the last search */ - int chadir; /* Character search direction */ - wchar_t chacha; /* Character we are looking for */ - char chatflg; /* 0 if f, 1 if t */ -} el_search_t; - - -libedit_private int el_match(const wchar_t *, const wchar_t *); -libedit_private int search_init(EditLine *); -libedit_private void search_end(EditLine *); -libedit_private int c_hmatch(EditLine *, const wchar_t *); -libedit_private void c_setpat(EditLine *); -libedit_private el_action_t ce_inc_search(EditLine *, int); -libedit_private el_action_t cv_search(EditLine *, int); -libedit_private el_action_t ce_search_line(EditLine *, int); -libedit_private el_action_t cv_repeat_srch(EditLine *, wint_t); -libedit_private el_action_t cv_csearch(EditLine *, int, wint_t, int, int); - -#endif /* _h_el_search */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/shlib_version mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/shlib_version --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/shlib_version 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/shlib_version 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -# $NetBSD: shlib_version,v 1.19 2013/01/22 20:23:21 christos Exp $ -# Remember to update distrib/sets/lists/base/shl.* when changing -# -major=3 -minor=1 diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/sig.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/sig.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/sig.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/sig.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,205 +0,0 @@ -/* $NetBSD: sig.c,v 1.26 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)sig.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: sig.c,v 1.26 2016/05/09 21:46:56 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * sig.c: Signal handling stuff. - * our policy is to trap all signals, set a good state - * and pass the ball to our caller. - */ -#include -#include - -#include "el.h" -#include "common.h" - -static EditLine *sel = NULL; - -static const int sighdl[] = { -#define _DO(a) (a), - ALLSIGS -#undef _DO - - 1 -}; - -static void sig_handler(int); - -/* sig_handler(): - * This is the handler called for all signals - * XXX: we cannot pass any data so we just store the old editline - * state in a private variable - */ -static void -sig_handler(int signo) -{ - int i, save_errno; - sigset_t nset, oset; - - save_errno = errno; - (void) sigemptyset(&nset); - (void) sigaddset(&nset, signo); - (void) sigprocmask(SIG_BLOCK, &nset, &oset); - - sel->el_signal->sig_no = signo; - - switch (signo) { - case SIGCONT: - tty_rawmode(sel); - if (ed_redisplay(sel, 0) == CC_REFRESH) - re_refresh(sel); - terminal__flush(sel); - break; - - case SIGWINCH: - el_resize(sel); - break; - - default: - tty_cookedmode(sel); - break; - } - - for (i = 0; sighdl[i] != -1; i++) - if (signo == sighdl[i]) - break; - - (void) sigaction(signo, &sel->el_signal->sig_action[i], NULL); - sel->el_signal->sig_action[i].sa_handler = SIG_ERR; - sel->el_signal->sig_action[i].sa_flags = 0; - sigemptyset(&sel->el_signal->sig_action[i].sa_mask); - (void) sigprocmask(SIG_SETMASK, &oset, NULL); - (void) kill(0, signo); - errno = save_errno; -} - - -/* sig_init(): - * Initialize all signal stuff - */ -libedit_private int -sig_init(EditLine *el) -{ - size_t i; - sigset_t *nset, oset; - - el->el_signal = el_malloc(sizeof(*el->el_signal)); - if (el->el_signal == NULL) - return -1; - - nset = &el->el_signal->sig_set; - (void) sigemptyset(nset); -#define _DO(a) (void) sigaddset(nset, a); - ALLSIGS -#undef _DO - (void) sigprocmask(SIG_BLOCK, nset, &oset); - - for (i = 0; sighdl[i] != -1; i++) { - el->el_signal->sig_action[i].sa_handler = SIG_ERR; - el->el_signal->sig_action[i].sa_flags = 0; - sigemptyset(&el->el_signal->sig_action[i].sa_mask); - } - - (void) sigprocmask(SIG_SETMASK, &oset, NULL); - - return 0; -} - - -/* sig_end(): - * Clear all signal stuff - */ -libedit_private void -sig_end(EditLine *el) -{ - - el_free(el->el_signal); - el->el_signal = NULL; -} - - -/* sig_set(): - * set all the signal handlers - */ -libedit_private void -sig_set(EditLine *el) -{ - size_t i; - sigset_t oset; - struct sigaction osa, nsa; - - nsa.sa_handler = sig_handler; - nsa.sa_flags = 0; - sigemptyset(&nsa.sa_mask); - - (void) sigprocmask(SIG_BLOCK, &el->el_signal->sig_set, &oset); - - for (i = 0; sighdl[i] != -1; i++) { - /* This could happen if we get interrupted */ - if (sigaction(sighdl[i], &nsa, &osa) != -1 && - osa.sa_handler != sig_handler) - el->el_signal->sig_action[i] = osa; - } - sel = el; - (void) sigprocmask(SIG_SETMASK, &oset, NULL); -} - - -/* sig_clr(): - * clear all the signal handlers - */ -libedit_private void -sig_clr(EditLine *el) -{ - size_t i; - sigset_t oset; - - (void) sigprocmask(SIG_BLOCK, &el->el_signal->sig_set, &oset); - - for (i = 0; sighdl[i] != -1; i++) - if (el->el_signal->sig_action[i].sa_handler != SIG_ERR) - (void)sigaction(sighdl[i], - &el->el_signal->sig_action[i], NULL); - - sel = NULL; /* we are going to die if the handler is - * called */ - (void)sigprocmask(SIG_SETMASK, &oset, NULL); -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/sig.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/sig.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/sig.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/sig.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,70 +0,0 @@ -/* $NetBSD: sig.h,v 1.11 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)sig.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.sig.h: Signal handling functions - */ -#ifndef _h_el_sig -#define _h_el_sig - -#include - -/* - * Define here all the signals we are going to handle - * The _DO macro is used to iterate in the source code - */ -#define ALLSIGS \ - _DO(SIGINT) \ - _DO(SIGTSTP) \ - _DO(SIGQUIT) \ - _DO(SIGHUP) \ - _DO(SIGTERM) \ - _DO(SIGCONT) \ - _DO(SIGWINCH) -#define ALLSIGSNO 7 - -typedef struct { - struct sigaction sig_action[ALLSIGSNO]; - sigset_t sig_set; - volatile sig_atomic_t sig_no; -} *el_signal_t; - -libedit_private void sig_end(EditLine*); -libedit_private int sig_init(EditLine*); -libedit_private void sig_set(EditLine*); -libedit_private void sig_clr(EditLine*); - -#endif /* _h_el_sig */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/strlcat.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/strlcat.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/strlcat.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/strlcat.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,90 +0,0 @@ -/* $NetBSD: strlcat.c,v 1.4 2013/01/23 07:57:27 matt Exp $ */ -/* $OpenBSD: strlcat.c,v 1.10 2003/04/12 21:56:39 millert Exp $ */ - -/* - * Copyright (c) 1998 Todd C. Miller - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE - * FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include "config.h" - -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: strlcat.c,v 1.4 2013/01/23 07:57:27 matt Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include - -#ifdef _LIBC -# ifdef __weak_alias -__weak_alias(strlcat, _strlcat) -# endif -#endif - -#if !HAVE_STRLCAT -/* - * Appends src to string dst of size siz (unlike strncat, siz is the - * full size of dst, not space left). At most siz-1 characters - * will be copied. Always NUL terminates (unless siz <= strlen(dst)). - * Returns strlen(src) + MIN(siz, strlen(initial dst)). - * If retval >= siz, truncation occurred. - */ -size_t -strlcat(char *dst, const char *src, size_t siz) -{ -#if 1 - char *d = dst; - const char *s = src; - size_t n = siz; - size_t dlen; - - _DIAGASSERT(dst != NULL); - _DIAGASSERT(src != NULL); - - /* Find the end of dst and adjust bytes left but don't go past end */ - while (n-- != 0 && *d != '\0') - d++; - dlen = d - dst; - n = siz - dlen; - - if (n == 0) - return(dlen + strlen(s)); - while (*s != '\0') { - if (n != 1) { - *d++ = *s; - n--; - } - s++; - } - *d = '\0'; - - return(dlen + (s - src)); /* count does not include NUL */ -#else - _DIAGASSERT(dst != NULL); - _DIAGASSERT(src != NULL); - - /* - * Find length of string in dst (maxing out at siz). - */ - size_t dlen = strnlen(dst, siz); - - /* - * Copy src into any remaining space in dst (truncating if needed). - * Note strlcpy(dst, src, 0) returns strlen(src). - */ - return dlen + strlcpy(dst + dlen, src, siz - dlen); -#endif -} -#endif diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/strlcpy.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/strlcpy.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/strlcpy.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/strlcpy.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,70 +0,0 @@ -/* $NetBSD: strlcpy.c,v 1.3 2007/06/04 18:19:27 christos Exp $ */ -/* $OpenBSD: strlcpy.c,v 1.7 2003/04/12 21:56:39 millert Exp $ */ - -/* - * Copyright (c) 1998 Todd C. Miller - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE - * FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include "config.h" - -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: strlcpy.c,v 1.3 2007/06/04 18:19:27 christos Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include - -#ifdef _LIBC -# ifdef __weak_alias -__weak_alias(strlcpy, _strlcpy) -# endif -#endif - -#if !HAVE_STRLCPY -/* - * Copy src to string dst of size siz. At most siz-1 characters - * will be copied. Always NUL terminates (unless siz == 0). - * Returns strlen(src); if retval >= siz, truncation occurred. - */ -size_t -strlcpy(char *dst, const char *src, size_t siz) -{ - char *d = dst; - const char *s = src; - size_t n = siz; - - _DIAGASSERT(dst != NULL); - _DIAGASSERT(src != NULL); - - /* Copy as many bytes as will fit */ - if (n != 0 && --n != 0) { - do { - if ((*d++ = *s++) == 0) - break; - } while (--n != 0); - } - - /* Not enough room in dst, add NUL and traverse rest of src */ - if (n == 0) { - if (siz != 0) - *d = '\0'; /* NUL-terminate dst */ - while (*s++) - ; - } - - return(s - src - 1); /* count does not include NUL */ -} -#endif diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/sys.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/sys.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/sys.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/sys.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,127 +0,0 @@ -/* $NetBSD: sys.h,v 1.27 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)sys.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * sys.h: Put all the stupid compiler and system dependencies here... - */ -#ifndef _h_sys -#define _h_sys - -#ifdef HAVE_SYS_CDEFS_H -#include -#endif - -#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__) || __GNUC__ == 2 && __GNUC_MINOR__ < 8) -# define __attribute__(A) -#endif - -#ifndef _DIAGASSERT -# define _DIAGASSERT(x) -#endif - -#ifndef __BEGIN_DECLS -# ifdef __cplusplus -# define __BEGIN_DECLS extern "C" { -# define __END_DECLS } -# else -# define __BEGIN_DECLS -# define __END_DECLS -# endif -#endif - -/* If your compiler does not support this, define it to be empty. */ -#define libedit_private __attribute__((__visibility__("hidden"))) - -#ifndef __arraycount -# define __arraycount(a) (sizeof(a) / sizeof(*(a))) -#endif - -#ifndef _PTR_T -# define _PTR_T -typedef void *ptr_t; -#endif - -#ifndef _IOCTL_T -# define _IOCTL_T -typedef void *ioctl_t; -#endif - -#include - -#ifndef HAVE_STRLCAT -#define strlcat libedit_strlcat -size_t strlcat(char *dst, const char *src, size_t size); -#endif - -#ifndef HAVE_STRLCPY -#define strlcpy libedit_strlcpy -size_t strlcpy(char *dst, const char *src, size_t size); -#endif - -#ifndef HAVE_GETLINE -#define getline libedit_getline -ssize_t getline(char **line, size_t *len, FILE *fp); -#endif - -#ifndef _DIAGASSERT -#define _DIAGASSERT(x) -#endif - -#ifndef __RCSID -#define __RCSID(x) -#endif - -#ifndef HAVE_U_INT32_T -typedef unsigned int u_int32_t; -#endif - -#ifndef HAVE_SIZE_MAX -#define SIZE_MAX ((size_t)-1) -#endif - -#define REGEX /* Use POSIX.2 regular expression functions */ -#undef REGEXP /* Use UNIX V8 regular expression functions */ - -#if defined(__sun) -extern int tgetent(char *, const char *); -extern int tgetflag(char *); -extern int tgetnum(char *); -extern int tputs(const char *, int, int (*)(int)); -extern char* tgoto(const char*, int, int); -extern char* tgetstr(char*, char**); -#endif - -#endif /* _h_sys */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/terminal.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/terminal.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/terminal.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/terminal.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1659 +0,0 @@ -/* $NetBSD: terminal.c,v 1.35 2019/02/15 23:20:35 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)term.c 8.2 (Berkeley) 4/30/95"; -#else -__RCSID("$NetBSD: terminal.c,v 1.35 2019/02/15 23:20:35 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * terminal.c: Editor/termcap-curses interface - * We have to declare a static variable here, since the - * termcap putchar routine does not take an argument! - */ -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef HAVE_TERMCAP_H -#include -#endif -#ifdef HAVE_CURSES_H -#include -#elif HAVE_NCURSES_H -#include -#endif - -/* Solaris's term.h does horrid things. */ -#if defined(HAVE_TERM_H) && !defined(__sun) && !defined(HAVE_TERMCAP_H) -#include -#endif - -#ifdef _REENTRANT -#include -#endif - -#include "el.h" -#include "fcns.h" - -/* - * IMPORTANT NOTE: these routines are allowed to look at the current screen - * and the current position assuming that it is correct. If this is not - * true, then the update will be WRONG! This is (should be) a valid - * assumption... - */ - -#define TC_BUFSIZE ((size_t)2048) - -#define GoodStr(a) (el->el_terminal.t_str[a] != NULL && \ - el->el_terminal.t_str[a][0] != '\0') -#define Str(a) el->el_terminal.t_str[a] -#define Val(a) el->el_terminal.t_val[a] - -static const struct termcapstr { - const char *name; - const char *long_name; -} tstr[] = { -#define T_al 0 - { "al", "add new blank line" }, -#define T_bl 1 - { "bl", "audible bell" }, -#define T_cd 2 - { "cd", "clear to bottom" }, -#define T_ce 3 - { "ce", "clear to end of line" }, -#define T_ch 4 - { "ch", "cursor to horiz pos" }, -#define T_cl 5 - { "cl", "clear screen" }, -#define T_dc 6 - { "dc", "delete a character" }, -#define T_dl 7 - { "dl", "delete a line" }, -#define T_dm 8 - { "dm", "start delete mode" }, -#define T_ed 9 - { "ed", "end delete mode" }, -#define T_ei 10 - { "ei", "end insert mode" }, -#define T_fs 11 - { "fs", "cursor from status line" }, -#define T_ho 12 - { "ho", "home cursor" }, -#define T_ic 13 - { "ic", "insert character" }, -#define T_im 14 - { "im", "start insert mode" }, -#define T_ip 15 - { "ip", "insert padding" }, -#define T_kd 16 - { "kd", "sends cursor down" }, -#define T_kl 17 - { "kl", "sends cursor left" }, -#define T_kr 18 - { "kr", "sends cursor right" }, -#define T_ku 19 - { "ku", "sends cursor up" }, -#define T_md 20 - { "md", "begin bold" }, -#define T_me 21 - { "me", "end attributes" }, -#define T_nd 22 - { "nd", "non destructive space" }, -#define T_se 23 - { "se", "end standout" }, -#define T_so 24 - { "so", "begin standout" }, -#define T_ts 25 - { "ts", "cursor to status line" }, -#define T_up 26 - { "up", "cursor up one" }, -#define T_us 27 - { "us", "begin underline" }, -#define T_ue 28 - { "ue", "end underline" }, -#define T_vb 29 - { "vb", "visible bell" }, -#define T_DC 30 - { "DC", "delete multiple chars" }, -#define T_DO 31 - { "DO", "cursor down multiple" }, -#define T_IC 32 - { "IC", "insert multiple chars" }, -#define T_LE 33 - { "LE", "cursor left multiple" }, -#define T_RI 34 - { "RI", "cursor right multiple" }, -#define T_UP 35 - { "UP", "cursor up multiple" }, -#define T_kh 36 - { "kh", "send cursor home" }, -#define T_at7 37 - { "@7", "send cursor end" }, -#define T_kD 38 - { "kD", "send cursor delete" }, -#define T_str 39 - { NULL, NULL } -}; - -static const struct termcapval { - const char *name; - const char *long_name; -} tval[] = { -#define T_am 0 - { "am", "has automatic margins" }, -#define T_pt 1 - { "pt", "has physical tabs" }, -#define T_li 2 - { "li", "Number of lines" }, -#define T_co 3 - { "co", "Number of columns" }, -#define T_km 4 - { "km", "Has meta key" }, -#define T_xt 5 - { "xt", "Tab chars destructive" }, -#define T_xn 6 - { "xn", "newline ignored at right margin" }, -#define T_MT 7 - { "MT", "Has meta key" }, /* XXX? */ -#define T_val 8 - { NULL, NULL, } -}; -/* do two or more of the attributes use me */ - -static void terminal_setflags(EditLine *); -static int terminal_rebuffer_display(EditLine *); -static void terminal_free_display(EditLine *); -static int terminal_alloc_display(EditLine *); -static void terminal_alloc(EditLine *, const struct termcapstr *, - const char *); -static void terminal_init_arrow(EditLine *); -static void terminal_reset_arrow(EditLine *); -static int terminal_putc(int); -static void terminal_tputs(EditLine *, const char *, int); - -#ifdef _REENTRANT -static pthread_mutex_t terminal_mutex = PTHREAD_MUTEX_INITIALIZER; -#endif -static FILE *terminal_outfile = NULL; - - -/* terminal_setflags(): - * Set the terminal capability flags - */ -static void -terminal_setflags(EditLine *el) -{ - EL_FLAGS = 0; - if (el->el_tty.t_tabs) - EL_FLAGS |= (Val(T_pt) && !Val(T_xt)) ? TERM_CAN_TAB : 0; - - EL_FLAGS |= (Val(T_km) || Val(T_MT)) ? TERM_HAS_META : 0; - EL_FLAGS |= GoodStr(T_ce) ? TERM_CAN_CEOL : 0; - EL_FLAGS |= (GoodStr(T_dc) || GoodStr(T_DC)) ? TERM_CAN_DELETE : 0; - EL_FLAGS |= (GoodStr(T_im) || GoodStr(T_ic) || GoodStr(T_IC)) ? - TERM_CAN_INSERT : 0; - EL_FLAGS |= (GoodStr(T_up) || GoodStr(T_UP)) ? TERM_CAN_UP : 0; - EL_FLAGS |= Val(T_am) ? TERM_HAS_AUTO_MARGINS : 0; - EL_FLAGS |= Val(T_xn) ? TERM_HAS_MAGIC_MARGINS : 0; - - if (GoodStr(T_me) && GoodStr(T_ue)) - EL_FLAGS |= (strcmp(Str(T_me), Str(T_ue)) == 0) ? - TERM_CAN_ME : 0; - else - EL_FLAGS &= ~TERM_CAN_ME; - if (GoodStr(T_me) && GoodStr(T_se)) - EL_FLAGS |= (strcmp(Str(T_me), Str(T_se)) == 0) ? - TERM_CAN_ME : 0; - - -#ifdef DEBUG_SCREEN - if (!EL_CAN_UP) { - (void) fprintf(el->el_errfile, - "WARNING: Your terminal cannot move up.\n"); - (void) fprintf(el->el_errfile, - "Editing may be odd for long lines.\n"); - } - if (!EL_CAN_CEOL) - (void) fprintf(el->el_errfile, "no clear EOL capability.\n"); - if (!EL_CAN_DELETE) - (void) fprintf(el->el_errfile, "no delete char capability.\n"); - if (!EL_CAN_INSERT) - (void) fprintf(el->el_errfile, "no insert char capability.\n"); -#endif /* DEBUG_SCREEN */ -} - -/* terminal_init(): - * Initialize the terminal stuff - */ -libedit_private int -terminal_init(EditLine *el) -{ - - el->el_terminal.t_buf = el_malloc(TC_BUFSIZE * - sizeof(*el->el_terminal.t_buf)); - if (el->el_terminal.t_buf == NULL) - goto fail1; - el->el_terminal.t_cap = el_malloc(TC_BUFSIZE * - sizeof(*el->el_terminal.t_cap)); - if (el->el_terminal.t_cap == NULL) - goto fail2; - el->el_terminal.t_fkey = el_malloc(A_K_NKEYS * - sizeof(*el->el_terminal.t_fkey)); - if (el->el_terminal.t_fkey == NULL) - goto fail3; - el->el_terminal.t_loc = 0; - el->el_terminal.t_str = el_malloc(T_str * - sizeof(*el->el_terminal.t_str)); - if (el->el_terminal.t_str == NULL) - goto fail4; - (void) memset(el->el_terminal.t_str, 0, T_str * - sizeof(*el->el_terminal.t_str)); - el->el_terminal.t_val = el_malloc(T_val * - sizeof(*el->el_terminal.t_val)); - if (el->el_terminal.t_val == NULL) - goto fail5; - (void) memset(el->el_terminal.t_val, 0, T_val * - sizeof(*el->el_terminal.t_val)); - (void) terminal_set(el, NULL); - terminal_init_arrow(el); - return 0; -fail5: - free(el->el_terminal.t_str); - el->el_terminal.t_str = NULL; -fail4: - free(el->el_terminal.t_fkey); - el->el_terminal.t_fkey = NULL; -fail3: - free(el->el_terminal.t_cap); - el->el_terminal.t_cap = NULL; -fail2: - free(el->el_terminal.t_buf); - el->el_terminal.t_buf = NULL; -fail1: - return -1; -} - -/* terminal_end(): - * Clean up the terminal stuff - */ -libedit_private void -terminal_end(EditLine *el) -{ - - el_free(el->el_terminal.t_buf); - el->el_terminal.t_buf = NULL; - el_free(el->el_terminal.t_cap); - el->el_terminal.t_cap = NULL; - el->el_terminal.t_loc = 0; - el_free(el->el_terminal.t_str); - el->el_terminal.t_str = NULL; - el_free(el->el_terminal.t_val); - el->el_terminal.t_val = NULL; - el_free(el->el_terminal.t_fkey); - el->el_terminal.t_fkey = NULL; - terminal_free_display(el); -} - - -/* terminal_alloc(): - * Maintain a string pool for termcap strings - */ -static void -terminal_alloc(EditLine *el, const struct termcapstr *t, const char *cap) -{ - char termbuf[TC_BUFSIZE]; - size_t tlen, clen; - char **tlist = el->el_terminal.t_str; - char **tmp, **str = &tlist[t - tstr]; - - (void) memset(termbuf, 0, sizeof(termbuf)); - if (cap == NULL || *cap == '\0') { - *str = NULL; - return; - } else - clen = strlen(cap); - - tlen = *str == NULL ? 0 : strlen(*str); - - /* - * New string is shorter; no need to allocate space - */ - if (clen <= tlen) { - if (*str) - (void) strcpy(*str, cap); /* XXX strcpy is safe */ - return; - } - /* - * New string is longer; see if we have enough space to append - */ - if (el->el_terminal.t_loc + 3 < TC_BUFSIZE) { - /* XXX strcpy is safe */ - (void) strcpy(*str = &el->el_terminal.t_buf[ - el->el_terminal.t_loc], cap); - el->el_terminal.t_loc += clen + 1; /* one for \0 */ - return; - } - /* - * Compact our buffer; no need to check compaction, cause we know it - * fits... - */ - tlen = 0; - for (tmp = tlist; tmp < &tlist[T_str]; tmp++) - if (*tmp != NULL && **tmp != '\0' && *tmp != *str) { - char *ptr; - - for (ptr = *tmp; *ptr != '\0'; termbuf[tlen++] = *ptr++) - continue; - termbuf[tlen++] = '\0'; - } - memcpy(el->el_terminal.t_buf, termbuf, TC_BUFSIZE); - el->el_terminal.t_loc = tlen; - if (el->el_terminal.t_loc + 3 >= TC_BUFSIZE) { - (void) fprintf(el->el_errfile, - "Out of termcap string space.\n"); - return; - } - /* XXX strcpy is safe */ - (void) strcpy(*str = &el->el_terminal.t_buf[el->el_terminal.t_loc], - cap); - el->el_terminal.t_loc += (size_t)clen + 1; /* one for \0 */ - return; -} - - -/* terminal_rebuffer_display(): - * Rebuffer the display after the screen changed size - */ -static int -terminal_rebuffer_display(EditLine *el) -{ - coord_t *c = &el->el_terminal.t_size; - - terminal_free_display(el); - - c->h = Val(T_co); - c->v = Val(T_li); - - if (terminal_alloc_display(el) == -1) - return -1; - return 0; -} - -static wint_t ** -terminal_alloc_buffer(EditLine *el) -{ - wint_t **b; - coord_t *c = &el->el_terminal.t_size; - int i; - - b = el_malloc(sizeof(*b) * (size_t)(c->v + 1)); - if (b == NULL) - return NULL; - for (i = 0; i < c->v; i++) { - b[i] = el_malloc(sizeof(**b) * (size_t)(c->h + 1)); - if (b[i] == NULL) { - while (--i >= 0) - el_free(b[i]); - el_free(b); - return NULL; - } - } - b[c->v] = NULL; - return b; -} - -static void -terminal_free_buffer(wint_t ***bp) -{ - wint_t **b; - wint_t **bufp; - - if (*bp == NULL) - return; - - b = *bp; - *bp = NULL; - - for (bufp = b; *bufp != NULL; bufp++) - el_free(*bufp); - el_free(b); -} - -/* terminal_alloc_display(): - * Allocate a new display. - */ -static int -terminal_alloc_display(EditLine *el) -{ - el->el_display = terminal_alloc_buffer(el); - if (el->el_display == NULL) - goto done; - el->el_vdisplay = terminal_alloc_buffer(el); - if (el->el_vdisplay == NULL) - goto done; - return 0; -done: - terminal_free_display(el); - return -1; -} - - -/* terminal_free_display(): - * Free the display buffers - */ -static void -terminal_free_display(EditLine *el) -{ - terminal_free_buffer(&el->el_display); - terminal_free_buffer(&el->el_vdisplay); -} - - -/* terminal_move_to_line(): - * move to line (first line == 0) - * as efficiently as possible - */ -libedit_private void -terminal_move_to_line(EditLine *el, int where) -{ - int del; - - if (where == el->el_cursor.v) - return; - - if (where > el->el_terminal.t_size.v) { -#ifdef DEBUG_SCREEN - (void) fprintf(el->el_errfile, - "%s: where is ridiculous: %d\r\n", __func__, where); -#endif /* DEBUG_SCREEN */ - return; - } - if ((del = where - el->el_cursor.v) > 0) { - if ((del > 1) && GoodStr(T_DO)) { - terminal_tputs(el, tgoto(Str(T_DO), del, del), del); - del = 0; - } else { - for (; del > 0; del--) - terminal__putc(el, '\n'); - /* because the \n will become \r\n */ - el->el_cursor.h = 0; - } - } else { /* del < 0 */ - if (GoodStr(T_UP) && (-del > 1 || !GoodStr(T_up))) - terminal_tputs(el, tgoto(Str(T_UP), -del, -del), -del); - else { - if (GoodStr(T_up)) - for (; del < 0; del++) - terminal_tputs(el, Str(T_up), 1); - } - } - el->el_cursor.v = where;/* now where is here */ -} - - -/* terminal_move_to_char(): - * Move to the character position specified - */ -libedit_private void -terminal_move_to_char(EditLine *el, int where) -{ - int del, i; - -mc_again: - if (where == el->el_cursor.h) - return; - - if (where > el->el_terminal.t_size.h) { -#ifdef DEBUG_SCREEN - (void) fprintf(el->el_errfile, - "%s: where is ridiculous: %d\r\n", __func__, where); -#endif /* DEBUG_SCREEN */ - return; - } - if (!where) { /* if where is first column */ - terminal__putc(el, '\r'); /* do a CR */ - el->el_cursor.h = 0; - return; - } - del = where - el->el_cursor.h; - - if ((del < -4 || del > 4) && GoodStr(T_ch)) - /* go there directly */ - terminal_tputs(el, tgoto(Str(T_ch), where, where), where); - else { - if (del > 0) { /* moving forward */ - if ((del > 4) && GoodStr(T_RI)) - terminal_tputs(el, tgoto(Str(T_RI), del, del), - del); - else { - /* if I can do tabs, use them */ - if (EL_CAN_TAB) { - if ((el->el_cursor.h & 0370) != - (where & ~0x7) - && (el->el_display[ - el->el_cursor.v][where & 0370] != - MB_FILL_CHAR) - ) { - /* if not within tab stop */ - for (i = - (el->el_cursor.h & 0370); - i < (where & ~0x7); - i += 8) - terminal__putc(el, - '\t'); - /* then tab over */ - el->el_cursor.h = where & ~0x7; - } - } - /* - * it's usually cheaper to just write the - * chars, so we do. - */ - /* - * NOTE THAT terminal_overwrite() WILL CHANGE - * el->el_cursor.h!!! - */ - terminal_overwrite(el, &el->el_display[ - el->el_cursor.v][el->el_cursor.h], - (size_t)(where - el->el_cursor.h)); - - } - } else { /* del < 0 := moving backward */ - if ((-del > 4) && GoodStr(T_LE)) - terminal_tputs(el, tgoto(Str(T_LE), -del, -del), - -del); - else { /* can't go directly there */ - /* - * if the "cost" is greater than the "cost" - * from col 0 - */ - if (EL_CAN_TAB ? - ((unsigned int)-del > - (((unsigned int) where >> 3) + - (where & 07))) - : (-del > where)) { - terminal__putc(el, '\r');/* do a CR */ - el->el_cursor.h = 0; - goto mc_again; /* and try again */ - } - for (i = 0; i < -del; i++) - terminal__putc(el, '\b'); - } - } - } - el->el_cursor.h = where; /* now where is here */ -} - - -/* terminal_overwrite(): - * Overstrike num characters - * Assumes MB_FILL_CHARs are present to keep the column count correct - */ -libedit_private void -terminal_overwrite(EditLine *el, const wchar_t *cp, size_t n) -{ - if (n == 0) - return; - - if (n > (size_t)el->el_terminal.t_size.h) { -#ifdef DEBUG_SCREEN - (void) fprintf(el->el_errfile, - "%s: n is ridiculous: %zu\r\n", __func__, n); -#endif /* DEBUG_SCREEN */ - return; - } - - do { - /* terminal__putc() ignores any MB_FILL_CHARs */ - terminal__putc(el, *cp++); - el->el_cursor.h++; - } while (--n); - - if (el->el_cursor.h >= el->el_terminal.t_size.h) { /* wrap? */ - if (EL_HAS_AUTO_MARGINS) { /* yes */ - el->el_cursor.h = 0; - el->el_cursor.v++; - if (EL_HAS_MAGIC_MARGINS) { - /* force the wrap to avoid the "magic" - * situation */ - wchar_t c; - if ((c = el->el_display[el->el_cursor.v] - [el->el_cursor.h]) != '\0') { - terminal_overwrite(el, &c, (size_t)1); - while (el->el_display[el->el_cursor.v] - [el->el_cursor.h] == MB_FILL_CHAR) - el->el_cursor.h++; - } else { - terminal__putc(el, ' '); - el->el_cursor.h = 1; - } - } - } else /* no wrap, but cursor stays on screen */ - el->el_cursor.h = el->el_terminal.t_size.h - 1; - } -} - - -/* terminal_deletechars(): - * Delete num characters - */ -libedit_private void -terminal_deletechars(EditLine *el, int num) -{ - if (num <= 0) - return; - - if (!EL_CAN_DELETE) { -#ifdef DEBUG_EDIT - (void) fprintf(el->el_errfile, " ERROR: cannot delete \n"); -#endif /* DEBUG_EDIT */ - return; - } - if (num > el->el_terminal.t_size.h) { -#ifdef DEBUG_SCREEN - (void) fprintf(el->el_errfile, - "%s: num is ridiculous: %d\r\n", __func__, num); -#endif /* DEBUG_SCREEN */ - return; - } - if (GoodStr(T_DC)) /* if I have multiple delete */ - if ((num > 1) || !GoodStr(T_dc)) { /* if dc would be more - * expen. */ - terminal_tputs(el, tgoto(Str(T_DC), num, num), num); - return; - } - if (GoodStr(T_dm)) /* if I have delete mode */ - terminal_tputs(el, Str(T_dm), 1); - - if (GoodStr(T_dc)) /* else do one at a time */ - while (num--) - terminal_tputs(el, Str(T_dc), 1); - - if (GoodStr(T_ed)) /* if I have delete mode */ - terminal_tputs(el, Str(T_ed), 1); -} - - -/* terminal_insertwrite(): - * Puts terminal in insert character mode or inserts num - * characters in the line - * Assumes MB_FILL_CHARs are present to keep column count correct - */ -libedit_private void -terminal_insertwrite(EditLine *el, wchar_t *cp, int num) -{ - if (num <= 0) - return; - if (!EL_CAN_INSERT) { -#ifdef DEBUG_EDIT - (void) fprintf(el->el_errfile, " ERROR: cannot insert \n"); -#endif /* DEBUG_EDIT */ - return; - } - if (num > el->el_terminal.t_size.h) { -#ifdef DEBUG_SCREEN - (void) fprintf(el->el_errfile, - "%s: num is ridiculous: %d\r\n", __func__, num); -#endif /* DEBUG_SCREEN */ - return; - } - if (GoodStr(T_IC)) /* if I have multiple insert */ - if ((num > 1) || !GoodStr(T_ic)) { - /* if ic would be more expensive */ - terminal_tputs(el, tgoto(Str(T_IC), num, num), num); - terminal_overwrite(el, cp, (size_t)num); - /* this updates el_cursor.h */ - return; - } - if (GoodStr(T_im) && GoodStr(T_ei)) { /* if I have insert mode */ - terminal_tputs(el, Str(T_im), 1); - - el->el_cursor.h += num; - do - terminal__putc(el, *cp++); - while (--num); - - if (GoodStr(T_ip)) /* have to make num chars insert */ - terminal_tputs(el, Str(T_ip), 1); - - terminal_tputs(el, Str(T_ei), 1); - return; - } - do { - if (GoodStr(T_ic)) /* have to make num chars insert */ - terminal_tputs(el, Str(T_ic), 1); - - terminal__putc(el, *cp++); - - el->el_cursor.h++; - - if (GoodStr(T_ip)) /* have to make num chars insert */ - terminal_tputs(el, Str(T_ip), 1); - /* pad the inserted char */ - - } while (--num); -} - - -/* terminal_clear_EOL(): - * clear to end of line. There are num characters to clear - */ -libedit_private void -terminal_clear_EOL(EditLine *el, int num) -{ - int i; - - if (EL_CAN_CEOL && GoodStr(T_ce)) - terminal_tputs(el, Str(T_ce), 1); - else { - for (i = 0; i < num; i++) - terminal__putc(el, ' '); - el->el_cursor.h += num; /* have written num spaces */ - } -} - - -/* terminal_clear_screen(): - * Clear the screen - */ -libedit_private void -terminal_clear_screen(EditLine *el) -{ /* clear the whole screen and home */ - - if (GoodStr(T_cl)) - /* send the clear screen code */ - terminal_tputs(el, Str(T_cl), Val(T_li)); - else if (GoodStr(T_ho) && GoodStr(T_cd)) { - terminal_tputs(el, Str(T_ho), Val(T_li)); /* home */ - /* clear to bottom of screen */ - terminal_tputs(el, Str(T_cd), Val(T_li)); - } else { - terminal__putc(el, '\r'); - terminal__putc(el, '\n'); - } -} - - -/* terminal_beep(): - * Beep the way the terminal wants us - */ -libedit_private void -terminal_beep(EditLine *el) -{ - if (GoodStr(T_bl)) - /* what termcap says we should use */ - terminal_tputs(el, Str(T_bl), 1); - else - terminal__putc(el, '\007'); /* an ASCII bell; ^G */ -} - - -libedit_private void -terminal_get(EditLine *el, const char **term) -{ - *term = el->el_terminal.t_name; -} - - -/* terminal_set(): - * Read in the terminal capabilities from the requested terminal - */ -libedit_private int -terminal_set(EditLine *el, const char *term) -{ - int i; - char buf[TC_BUFSIZE]; - char *area; - const struct termcapstr *t; - sigset_t oset, nset; - int lins, cols; - - (void) sigemptyset(&nset); - (void) sigaddset(&nset, SIGWINCH); - (void) sigprocmask(SIG_BLOCK, &nset, &oset); - - area = buf; - - - if (term == NULL) - term = getenv("TERM"); - - if (!term || !term[0]) - term = "dumb"; - - if (strcmp(term, "emacs") == 0) - el->el_flags |= EDIT_DISABLED; - - (void) memset(el->el_terminal.t_cap, 0, TC_BUFSIZE); - - i = tgetent(el->el_terminal.t_cap, term); - - if (i <= 0) { - if (i == -1) - (void) fprintf(el->el_errfile, - "Cannot read termcap database;\n"); - else if (i == 0) - (void) fprintf(el->el_errfile, - "No entry for terminal type \"%s\";\n", term); - (void) fprintf(el->el_errfile, - "using dumb terminal settings.\n"); - Val(T_co) = 80; /* do a dumb terminal */ - Val(T_pt) = Val(T_km) = Val(T_li) = 0; - Val(T_xt) = Val(T_MT); - for (t = tstr; t->name != NULL; t++) - terminal_alloc(el, t, NULL); - } else { - /* auto/magic margins */ - Val(T_am) = tgetflag("am"); - Val(T_xn) = tgetflag("xn"); - /* Can we tab */ - Val(T_pt) = tgetflag("pt"); - Val(T_xt) = tgetflag("xt"); - /* do we have a meta? */ - Val(T_km) = tgetflag("km"); - Val(T_MT) = tgetflag("MT"); - /* Get the size */ - Val(T_co) = tgetnum("co"); - Val(T_li) = tgetnum("li"); - for (t = tstr; t->name != NULL; t++) { - /* XXX: some systems' tgetstr needs non const */ - terminal_alloc(el, t, tgetstr(strchr(t->name, *t->name), - &area)); - } - } - - if (Val(T_co) < 2) - Val(T_co) = 80; /* just in case */ - if (Val(T_li) < 1) - Val(T_li) = 24; - - el->el_terminal.t_size.v = Val(T_co); - el->el_terminal.t_size.h = Val(T_li); - - terminal_setflags(el); - - /* get the correct window size */ - (void) terminal_get_size(el, &lins, &cols); - if (terminal_change_size(el, lins, cols) == -1) - return -1; - (void) sigprocmask(SIG_SETMASK, &oset, NULL); - terminal_bind_arrow(el); - el->el_terminal.t_name = term; - return i <= 0 ? -1 : 0; -} - - -/* terminal_get_size(): - * Return the new window size in lines and cols, and - * true if the size was changed. - */ -libedit_private int -terminal_get_size(EditLine *el, int *lins, int *cols) -{ - - *cols = Val(T_co); - *lins = Val(T_li); - -#ifdef TIOCGWINSZ - { - struct winsize ws; - if (ioctl(el->el_infd, TIOCGWINSZ, &ws) != -1) { - if (ws.ws_col) - *cols = ws.ws_col; - if (ws.ws_row) - *lins = ws.ws_row; - } - } -#endif -#ifdef TIOCGSIZE - { - struct ttysize ts; - if (ioctl(el->el_infd, TIOCGSIZE, &ts) != -1) { - if (ts.ts_cols) - *cols = ts.ts_cols; - if (ts.ts_lines) - *lins = ts.ts_lines; - } - } -#endif - return Val(T_co) != *cols || Val(T_li) != *lins; -} - - -/* terminal_change_size(): - * Change the size of the terminal - */ -libedit_private int -terminal_change_size(EditLine *el, int lins, int cols) -{ - /* - * Just in case - */ - Val(T_co) = (cols < 2) ? 80 : cols; - Val(T_li) = (lins < 1) ? 24 : lins; - - /* re-make display buffers */ - if (terminal_rebuffer_display(el) == -1) - return -1; - re_clear_display(el); - return 0; -} - - -/* terminal_init_arrow(): - * Initialize the arrow key bindings from termcap - */ -static void -terminal_init_arrow(EditLine *el) -{ - funckey_t *arrow = el->el_terminal.t_fkey; - - arrow[A_K_DN].name = L"down"; - arrow[A_K_DN].key = T_kd; - arrow[A_K_DN].fun.cmd = ED_NEXT_HISTORY; - arrow[A_K_DN].type = XK_CMD; - - arrow[A_K_UP].name = L"up"; - arrow[A_K_UP].key = T_ku; - arrow[A_K_UP].fun.cmd = ED_PREV_HISTORY; - arrow[A_K_UP].type = XK_CMD; - - arrow[A_K_LT].name = L"left"; - arrow[A_K_LT].key = T_kl; - arrow[A_K_LT].fun.cmd = ED_PREV_CHAR; - arrow[A_K_LT].type = XK_CMD; - - arrow[A_K_RT].name = L"right"; - arrow[A_K_RT].key = T_kr; - arrow[A_K_RT].fun.cmd = ED_NEXT_CHAR; - arrow[A_K_RT].type = XK_CMD; - - arrow[A_K_HO].name = L"home"; - arrow[A_K_HO].key = T_kh; - arrow[A_K_HO].fun.cmd = ED_MOVE_TO_BEG; - arrow[A_K_HO].type = XK_CMD; - - arrow[A_K_EN].name = L"end"; - arrow[A_K_EN].key = T_at7; - arrow[A_K_EN].fun.cmd = ED_MOVE_TO_END; - arrow[A_K_EN].type = XK_CMD; - - arrow[A_K_DE].name = L"delete"; - arrow[A_K_DE].key = T_kD; - arrow[A_K_DE].fun.cmd = ED_DELETE_NEXT_CHAR; - arrow[A_K_DE].type = XK_CMD; -} - - -/* terminal_reset_arrow(): - * Reset arrow key bindings - */ -static void -terminal_reset_arrow(EditLine *el) -{ - funckey_t *arrow = el->el_terminal.t_fkey; - static const wchar_t strA[] = L"\033[A"; - static const wchar_t strB[] = L"\033[B"; - static const wchar_t strC[] = L"\033[C"; - static const wchar_t strD[] = L"\033[D"; - static const wchar_t strH[] = L"\033[H"; - static const wchar_t strF[] = L"\033[F"; - static const wchar_t stOA[] = L"\033OA"; - static const wchar_t stOB[] = L"\033OB"; - static const wchar_t stOC[] = L"\033OC"; - static const wchar_t stOD[] = L"\033OD"; - static const wchar_t stOH[] = L"\033OH"; - static const wchar_t stOF[] = L"\033OF"; - - keymacro_add(el, strA, &arrow[A_K_UP].fun, arrow[A_K_UP].type); - keymacro_add(el, strB, &arrow[A_K_DN].fun, arrow[A_K_DN].type); - keymacro_add(el, strC, &arrow[A_K_RT].fun, arrow[A_K_RT].type); - keymacro_add(el, strD, &arrow[A_K_LT].fun, arrow[A_K_LT].type); - keymacro_add(el, strH, &arrow[A_K_HO].fun, arrow[A_K_HO].type); - keymacro_add(el, strF, &arrow[A_K_EN].fun, arrow[A_K_EN].type); - keymacro_add(el, stOA, &arrow[A_K_UP].fun, arrow[A_K_UP].type); - keymacro_add(el, stOB, &arrow[A_K_DN].fun, arrow[A_K_DN].type); - keymacro_add(el, stOC, &arrow[A_K_RT].fun, arrow[A_K_RT].type); - keymacro_add(el, stOD, &arrow[A_K_LT].fun, arrow[A_K_LT].type); - keymacro_add(el, stOH, &arrow[A_K_HO].fun, arrow[A_K_HO].type); - keymacro_add(el, stOF, &arrow[A_K_EN].fun, arrow[A_K_EN].type); - - if (el->el_map.type != MAP_VI) - return; - keymacro_add(el, &strA[1], &arrow[A_K_UP].fun, arrow[A_K_UP].type); - keymacro_add(el, &strB[1], &arrow[A_K_DN].fun, arrow[A_K_DN].type); - keymacro_add(el, &strC[1], &arrow[A_K_RT].fun, arrow[A_K_RT].type); - keymacro_add(el, &strD[1], &arrow[A_K_LT].fun, arrow[A_K_LT].type); - keymacro_add(el, &strH[1], &arrow[A_K_HO].fun, arrow[A_K_HO].type); - keymacro_add(el, &strF[1], &arrow[A_K_EN].fun, arrow[A_K_EN].type); - keymacro_add(el, &stOA[1], &arrow[A_K_UP].fun, arrow[A_K_UP].type); - keymacro_add(el, &stOB[1], &arrow[A_K_DN].fun, arrow[A_K_DN].type); - keymacro_add(el, &stOC[1], &arrow[A_K_RT].fun, arrow[A_K_RT].type); - keymacro_add(el, &stOD[1], &arrow[A_K_LT].fun, arrow[A_K_LT].type); - keymacro_add(el, &stOH[1], &arrow[A_K_HO].fun, arrow[A_K_HO].type); - keymacro_add(el, &stOF[1], &arrow[A_K_EN].fun, arrow[A_K_EN].type); -} - - -/* terminal_set_arrow(): - * Set an arrow key binding - */ -libedit_private int -terminal_set_arrow(EditLine *el, const wchar_t *name, keymacro_value_t *fun, - int type) -{ - funckey_t *arrow = el->el_terminal.t_fkey; - int i; - - for (i = 0; i < A_K_NKEYS; i++) - if (wcscmp(name, arrow[i].name) == 0) { - arrow[i].fun = *fun; - arrow[i].type = type; - return 0; - } - return -1; -} - - -/* terminal_clear_arrow(): - * Clear an arrow key binding - */ -libedit_private int -terminal_clear_arrow(EditLine *el, const wchar_t *name) -{ - funckey_t *arrow = el->el_terminal.t_fkey; - int i; - - for (i = 0; i < A_K_NKEYS; i++) - if (wcscmp(name, arrow[i].name) == 0) { - arrow[i].type = XK_NOD; - return 0; - } - return -1; -} - - -/* terminal_print_arrow(): - * Print the arrow key bindings - */ -libedit_private void -terminal_print_arrow(EditLine *el, const wchar_t *name) -{ - int i; - funckey_t *arrow = el->el_terminal.t_fkey; - - for (i = 0; i < A_K_NKEYS; i++) - if (*name == '\0' || wcscmp(name, arrow[i].name) == 0) - if (arrow[i].type != XK_NOD) - keymacro_kprint(el, arrow[i].name, - &arrow[i].fun, arrow[i].type); -} - - -/* terminal_bind_arrow(): - * Bind the arrow keys - */ -libedit_private void -terminal_bind_arrow(EditLine *el) -{ - el_action_t *map; - const el_action_t *dmap; - int i, j; - char *p; - funckey_t *arrow = el->el_terminal.t_fkey; - - /* Check if the components needed are initialized */ - if (el->el_terminal.t_buf == NULL || el->el_map.key == NULL) - return; - - map = el->el_map.type == MAP_VI ? el->el_map.alt : el->el_map.key; - dmap = el->el_map.type == MAP_VI ? el->el_map.vic : el->el_map.emacs; - - terminal_reset_arrow(el); - - for (i = 0; i < A_K_NKEYS; i++) { - wchar_t wt_str[VISUAL_WIDTH_MAX]; - wchar_t *px; - size_t n; - - p = el->el_terminal.t_str[arrow[i].key]; - if (!p || !*p) - continue; - for (n = 0; n < VISUAL_WIDTH_MAX && p[n]; ++n) - wt_str[n] = p[n]; - while (n < VISUAL_WIDTH_MAX) - wt_str[n++] = '\0'; - px = wt_str; - j = (unsigned char) *p; - /* - * Assign the arrow keys only if: - * - * 1. They are multi-character arrow keys and the user - * has not re-assigned the leading character, or - * has re-assigned the leading character to be - * ED_SEQUENCE_LEAD_IN - * 2. They are single arrow keys pointing to an - * unassigned key. - */ - if (arrow[i].type == XK_NOD) - keymacro_clear(el, map, px); - else { - if (p[1] && (dmap[j] == map[j] || - map[j] == ED_SEQUENCE_LEAD_IN)) { - keymacro_add(el, px, &arrow[i].fun, - arrow[i].type); - map[j] = ED_SEQUENCE_LEAD_IN; - } else if (map[j] == ED_UNASSIGNED) { - keymacro_clear(el, map, px); - if (arrow[i].type == XK_CMD) - map[j] = arrow[i].fun.cmd; - else - keymacro_add(el, px, &arrow[i].fun, - arrow[i].type); - } - } - } -} - -/* terminal_putc(): - * Add a character - */ -static int -terminal_putc(int c) -{ - if (terminal_outfile == NULL) - return -1; - return fputc(c, terminal_outfile); -} - -static void -terminal_tputs(EditLine *el, const char *cap, int affcnt) -{ -#ifdef _REENTRANT - pthread_mutex_lock(&terminal_mutex); -#endif - terminal_outfile = el->el_outfile; - (void)tputs(cap, affcnt, terminal_putc); -#ifdef _REENTRANT - pthread_mutex_unlock(&terminal_mutex); -#endif -} - -/* terminal__putc(): - * Add a character - */ -libedit_private int -terminal__putc(EditLine *el, wint_t c) -{ - char buf[MB_LEN_MAX +1]; - ssize_t i; - if (c == (wint_t)MB_FILL_CHAR) - return 0; - if (c & EL_LITERAL) - return fputs(literal_get(el, c), el->el_outfile); - i = ct_encode_char(buf, (size_t)MB_LEN_MAX, c); - if (i <= 0) - return (int)i; - buf[i] = '\0'; - return fputs(buf, el->el_outfile); -} - -/* terminal__flush(): - * Flush output - */ -libedit_private void -terminal__flush(EditLine *el) -{ - - (void) fflush(el->el_outfile); -} - -/* terminal_writec(): - * Write the given character out, in a human readable form - */ -libedit_private void -terminal_writec(EditLine *el, wint_t c) -{ - wchar_t visbuf[VISUAL_WIDTH_MAX +1]; - ssize_t vcnt = ct_visual_char(visbuf, VISUAL_WIDTH_MAX, c); - if (vcnt < 0) - vcnt = 0; - visbuf[vcnt] = '\0'; - terminal_overwrite(el, visbuf, (size_t)vcnt); - terminal__flush(el); -} - - -/* terminal_telltc(): - * Print the current termcap characteristics - */ -libedit_private int -/*ARGSUSED*/ -terminal_telltc(EditLine *el, int argc __attribute__((__unused__)), - const wchar_t **argv __attribute__((__unused__))) -{ - const struct termcapstr *t; - char **ts; - - (void) fprintf(el->el_outfile, "\n\tYour terminal has the\n"); - (void) fprintf(el->el_outfile, "\tfollowing characteristics:\n\n"); - (void) fprintf(el->el_outfile, "\tIt has %d columns and %d lines\n", - Val(T_co), Val(T_li)); - (void) fprintf(el->el_outfile, - "\tIt has %s meta key\n", EL_HAS_META ? "a" : "no"); - (void) fprintf(el->el_outfile, - "\tIt can%suse tabs\n", EL_CAN_TAB ? " " : "not "); - (void) fprintf(el->el_outfile, "\tIt %s automatic margins\n", - EL_HAS_AUTO_MARGINS ? "has" : "does not have"); - if (EL_HAS_AUTO_MARGINS) - (void) fprintf(el->el_outfile, "\tIt %s magic margins\n", - EL_HAS_MAGIC_MARGINS ? "has" : "does not have"); - - for (t = tstr, ts = el->el_terminal.t_str; t->name != NULL; t++, ts++) { - const char *ub; - if (*ts && **ts) { - ub = ct_encode_string(ct_visual_string( - ct_decode_string(*ts, &el->el_scratch), - &el->el_visual), &el->el_scratch); - } else { - ub = "(empty)"; - } - (void) fprintf(el->el_outfile, "\t%25s (%s) == %s\n", - t->long_name, t->name, ub); - } - (void) fputc('\n', el->el_outfile); - return 0; -} - - -/* terminal_settc(): - * Change the current terminal characteristics - */ -libedit_private int -/*ARGSUSED*/ -terminal_settc(EditLine *el, int argc __attribute__((__unused__)), - const wchar_t **argv) -{ - const struct termcapstr *ts; - const struct termcapval *tv; - char what[8], how[8]; - - if (argv == NULL || argv[1] == NULL || argv[2] == NULL) - return -1; - - strncpy(what, ct_encode_string(argv[1], &el->el_scratch), sizeof(what)); - what[sizeof(what) - 1] = '\0'; - strncpy(how, ct_encode_string(argv[2], &el->el_scratch), sizeof(how)); - how[sizeof(how) - 1] = '\0'; - - /* - * Do the strings first - */ - for (ts = tstr; ts->name != NULL; ts++) - if (strcmp(ts->name, what) == 0) - break; - - if (ts->name != NULL) { - terminal_alloc(el, ts, how); - terminal_setflags(el); - return 0; - } - /* - * Do the numeric ones second - */ - for (tv = tval; tv->name != NULL; tv++) - if (strcmp(tv->name, what) == 0) - break; - - if (tv->name != NULL) - return -1; - - if (tv == &tval[T_pt] || tv == &tval[T_km] || - tv == &tval[T_am] || tv == &tval[T_xn]) { - if (strcmp(how, "yes") == 0) - el->el_terminal.t_val[tv - tval] = 1; - else if (strcmp(how, "no") == 0) - el->el_terminal.t_val[tv - tval] = 0; - else { - (void) fprintf(el->el_errfile, - "%ls: Bad value `%s'.\n", argv[0], how); - return -1; - } - terminal_setflags(el); - if (terminal_change_size(el, Val(T_li), Val(T_co)) == -1) - return -1; - return 0; - } else { - long i; - char *ep; - - i = strtol(how, &ep, 10); - if (*ep != '\0') { - (void) fprintf(el->el_errfile, - "%ls: Bad value `%s'.\n", argv[0], how); - return -1; - } - el->el_terminal.t_val[tv - tval] = (int) i; - el->el_terminal.t_size.v = Val(T_co); - el->el_terminal.t_size.h = Val(T_li); - if (tv == &tval[T_co] || tv == &tval[T_li]) - if (terminal_change_size(el, Val(T_li), Val(T_co)) - == -1) - return -1; - return 0; - } -} - - -/* terminal_gettc(): - * Get the current terminal characteristics - */ -libedit_private int -/*ARGSUSED*/ -terminal_gettc(EditLine *el, int argc __attribute__((__unused__)), char **argv) -{ - const struct termcapstr *ts; - const struct termcapval *tv; - char *what; - void *how; - - if (argv == NULL || argv[1] == NULL || argv[2] == NULL) - return -1; - - what = argv[1]; - how = argv[2]; - - /* - * Do the strings first - */ - for (ts = tstr; ts->name != NULL; ts++) - if (strcmp(ts->name, what) == 0) - break; - - if (ts->name != NULL) { - *(char **)how = el->el_terminal.t_str[ts - tstr]; - return 0; - } - /* - * Do the numeric ones second - */ - for (tv = tval; tv->name != NULL; tv++) - if (strcmp(tv->name, what) == 0) - break; - - if (tv->name == NULL) - return -1; - - if (tv == &tval[T_pt] || tv == &tval[T_km] || - tv == &tval[T_am] || tv == &tval[T_xn]) { - static char yes[] = "yes"; - static char no[] = "no"; - if (el->el_terminal.t_val[tv - tval]) - *(char **)how = yes; - else - *(char **)how = no; - return 0; - } else { - *(int *)how = el->el_terminal.t_val[tv - tval]; - return 0; - } -} - -/* terminal_echotc(): - * Print the termcap string out with variable substitution - */ -libedit_private int -/*ARGSUSED*/ -terminal_echotc(EditLine *el, int argc __attribute__((__unused__)), - const wchar_t **argv) -{ - char *cap, *scap; - wchar_t *ep; - int arg_need, arg_cols, arg_rows; - int verbose = 0, silent = 0; - char *area; - static const char fmts[] = "%s\n", fmtd[] = "%d\n"; - const struct termcapstr *t; - char buf[TC_BUFSIZE]; - long i; - - area = buf; - - if (argv == NULL || argv[1] == NULL) - return -1; - argv++; - - if (argv[0][0] == '-') { - switch (argv[0][1]) { - case 'v': - verbose = 1; - break; - case 's': - silent = 1; - break; - default: - /* stderror(ERR_NAME | ERR_TCUSAGE); */ - break; - } - argv++; - } - if (!*argv || *argv[0] == '\0') - return 0; - if (wcscmp(*argv, L"tabs") == 0) { - (void) fprintf(el->el_outfile, fmts, EL_CAN_TAB ? "yes" : "no"); - return 0; - } else if (wcscmp(*argv, L"meta") == 0) { - (void) fprintf(el->el_outfile, fmts, Val(T_km) ? "yes" : "no"); - return 0; - } else if (wcscmp(*argv, L"xn") == 0) { - (void) fprintf(el->el_outfile, fmts, EL_HAS_MAGIC_MARGINS ? - "yes" : "no"); - return 0; - } else if (wcscmp(*argv, L"am") == 0) { - (void) fprintf(el->el_outfile, fmts, EL_HAS_AUTO_MARGINS ? - "yes" : "no"); - return 0; - } else if (wcscmp(*argv, L"baud") == 0) { - (void) fprintf(el->el_outfile, fmtd, (int)el->el_tty.t_speed); - return 0; - } else if (wcscmp(*argv, L"rows") == 0 || - wcscmp(*argv, L"lines") == 0) { - (void) fprintf(el->el_outfile, fmtd, Val(T_li)); - return 0; - } else if (wcscmp(*argv, L"cols") == 0) { - (void) fprintf(el->el_outfile, fmtd, Val(T_co)); - return 0; - } - /* - * Try to use our local definition first - */ - scap = NULL; - for (t = tstr; t->name != NULL; t++) - if (strcmp(t->name, - ct_encode_string(*argv, &el->el_scratch)) == 0) { - scap = el->el_terminal.t_str[t - tstr]; - break; - } - if (t->name == NULL) { - /* XXX: some systems' tgetstr needs non const */ - scap = tgetstr(ct_encode_string(*argv, &el->el_scratch), &area); - } - if (!scap || scap[0] == '\0') { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Termcap parameter `%ls' not found.\n", - *argv); - return -1; - } - /* - * Count home many values we need for this capability. - */ - for (cap = scap, arg_need = 0; *cap; cap++) - if (*cap == '%') - switch (*++cap) { - case 'd': - case '2': - case '3': - case '.': - case '+': - arg_need++; - break; - case '%': - case '>': - case 'i': - case 'r': - case 'n': - case 'B': - case 'D': - break; - default: - /* - * hpux has lot's of them... - */ - if (verbose) - (void) fprintf(el->el_errfile, - "echotc: Warning: unknown termcap %% `%c'.\n", - *cap); - /* This is bad, but I won't complain */ - break; - } - - switch (arg_need) { - case 0: - argv++; - if (*argv && *argv[0]) { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Warning: Extra argument `%ls'.\n", - *argv); - return -1; - } - terminal_tputs(el, scap, 1); - break; - case 1: - argv++; - if (!*argv || *argv[0] == '\0') { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Warning: Missing argument.\n"); - return -1; - } - arg_cols = 0; - i = wcstol(*argv, &ep, 10); - if (*ep != '\0' || i < 0) { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Bad value `%ls' for rows.\n", - *argv); - return -1; - } - arg_rows = (int) i; - argv++; - if (*argv && *argv[0]) { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Warning: Extra argument `%ls" - "'.\n", *argv); - return -1; - } - terminal_tputs(el, tgoto(scap, arg_cols, arg_rows), 1); - break; - default: - /* This is wrong, but I will ignore it... */ - if (verbose) - (void) fprintf(el->el_errfile, - "echotc: Warning: Too many required arguments (%d).\n", - arg_need); - /* FALLTHROUGH */ - case 2: - argv++; - if (!*argv || *argv[0] == '\0') { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Warning: Missing argument.\n"); - return -1; - } - i = wcstol(*argv, &ep, 10); - if (*ep != '\0' || i < 0) { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Bad value `%ls' for cols.\n", - *argv); - return -1; - } - arg_cols = (int) i; - argv++; - if (!*argv || *argv[0] == '\0') { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Warning: Missing argument.\n"); - return -1; - } - i = wcstol(*argv, &ep, 10); - if (*ep != '\0' || i < 0) { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Bad value `%ls' for rows.\n", - *argv); - return -1; - } - arg_rows = (int) i; - if (*ep != '\0') { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Bad value `%ls'.\n", *argv); - return -1; - } - argv++; - if (*argv && *argv[0]) { - if (!silent) - (void) fprintf(el->el_errfile, - "echotc: Warning: Extra argument `%ls" - "'.\n", *argv); - return -1; - } - terminal_tputs(el, tgoto(scap, arg_cols, arg_rows), arg_rows); - break; - } - return 0; -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/terminal.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/terminal.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/terminal.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/terminal.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,134 +0,0 @@ -/* $NetBSD: terminal.h,v 1.9 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)term.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.term.h: Termcap header - */ -#ifndef _h_el_terminal -#define _h_el_terminal - -typedef struct { /* Symbolic function key bindings */ - const wchar_t *name; /* name of the key */ - int key; /* Index in termcap table */ - keymacro_value_t fun; /* Function bound to it */ - int type; /* Type of function */ -} funckey_t; - -typedef struct { - const char *t_name; /* the terminal name */ - coord_t t_size; /* # lines and cols */ - int t_flags; -#define TERM_CAN_INSERT 0x001 /* Has insert cap */ -#define TERM_CAN_DELETE 0x002 /* Has delete cap */ -#define TERM_CAN_CEOL 0x004 /* Has CEOL cap */ -#define TERM_CAN_TAB 0x008 /* Can use tabs */ -#define TERM_CAN_ME 0x010 /* Can turn all attrs. */ -#define TERM_CAN_UP 0x020 /* Can move up */ -#define TERM_HAS_META 0x040 /* Has a meta key */ -#define TERM_HAS_AUTO_MARGINS 0x080 /* Has auto margins */ -#define TERM_HAS_MAGIC_MARGINS 0x100 /* Has magic margins */ - char *t_buf; /* Termcap buffer */ - size_t t_loc; /* location used */ - char **t_str; /* termcap strings */ - int *t_val; /* termcap values */ - char *t_cap; /* Termcap buffer */ - funckey_t *t_fkey; /* Array of keys */ -} el_terminal_t; - -/* - * fKey indexes - */ -#define A_K_DN 0 -#define A_K_UP 1 -#define A_K_LT 2 -#define A_K_RT 3 -#define A_K_HO 4 -#define A_K_EN 5 -#define A_K_DE 6 -#define A_K_NKEYS 7 - -#ifdef __sun -extern int tgetent(char *, const char *); -extern int tgetflag(char *); -extern int tgetnum(char *); -extern int tputs(const char *, int, int (*)(int)); -extern char* tgoto(const char*, int, int); -extern char* tgetstr(char*, char**); -#endif - -libedit_private void terminal_move_to_line(EditLine *, int); -libedit_private void terminal_move_to_char(EditLine *, int); -libedit_private void terminal_clear_EOL(EditLine *, int); -libedit_private void terminal_overwrite(EditLine *, const wchar_t *, size_t); -libedit_private void terminal_insertwrite(EditLine *, wchar_t *, int); -libedit_private void terminal_deletechars(EditLine *, int); -libedit_private void terminal_clear_screen(EditLine *); -libedit_private void terminal_beep(EditLine *); -libedit_private int terminal_change_size(EditLine *, int, int); -libedit_private int terminal_get_size(EditLine *, int *, int *); -libedit_private int terminal_init(EditLine *); -libedit_private void terminal_bind_arrow(EditLine *); -libedit_private void terminal_print_arrow(EditLine *, const wchar_t *); -libedit_private int terminal_clear_arrow(EditLine *, const wchar_t *); -libedit_private int terminal_set_arrow(EditLine *, const wchar_t *, - keymacro_value_t *, int); -libedit_private void terminal_end(EditLine *); -libedit_private void terminal_get(EditLine *, const char **); -libedit_private int terminal_set(EditLine *, const char *); -libedit_private int terminal_settc(EditLine *, int, const wchar_t **); -libedit_private int terminal_gettc(EditLine *, int, char **); -libedit_private int terminal_telltc(EditLine *, int, const wchar_t **); -libedit_private int terminal_echotc(EditLine *, int, const wchar_t **); -libedit_private void terminal_writec(EditLine *, wint_t); -libedit_private int terminal__putc(EditLine *, wint_t); -libedit_private void terminal__flush(EditLine *); - -/* - * Easy access macros - */ -#define EL_FLAGS (el)->el_terminal.t_flags - -#define EL_CAN_INSERT (EL_FLAGS & TERM_CAN_INSERT) -#define EL_CAN_DELETE (EL_FLAGS & TERM_CAN_DELETE) -#define EL_CAN_CEOL (EL_FLAGS & TERM_CAN_CEOL) -#define EL_CAN_TAB (EL_FLAGS & TERM_CAN_TAB) -#define EL_CAN_ME (EL_FLAGS & TERM_CAN_ME) -#define EL_CAN_UP (EL_FLAGS & TERM_CAN_UP) -#define EL_HAS_META (EL_FLAGS & TERM_HAS_META) -#define EL_HAS_AUTO_MARGINS (EL_FLAGS & TERM_HAS_AUTO_MARGINS) -#define EL_HAS_MAGIC_MARGINS (EL_FLAGS & TERM_HAS_MAGIC_MARGINS) - -#endif /* _h_el_terminal */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/tokenizer.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/tokenizer.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/tokenizer.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/tokenizer.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,469 +0,0 @@ -/* $NetBSD: tokenizer.c,v 1.28 2016/04/11 18:56:31 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef NARROWCHAR -#include "config.h" -#endif - -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)tokenizer.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: tokenizer.c,v 1.28 2016/04/11 18:56:31 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* We build this file twice, once as NARROW, once as WIDE. */ -/* - * tokenize.c: Bourne shell like tokenizer - */ -#include -#include - -#include "histedit.h" - -typedef enum { - Q_none, Q_single, Q_double, Q_one, Q_doubleone -} quote_t; - -#define TOK_KEEP 1 -#define TOK_EAT 2 - -#define WINCR 20 -#define AINCR 10 - -#define IFS STR("\t \n") - -#define tok_malloc(a) malloc(a) -#define tok_free(a) free(a) -#define tok_realloc(a, b) realloc(a, b) - -#ifdef NARROWCHAR -#define Char char -#define FUN(prefix, rest) prefix ## _ ## rest -#define TYPE(type) type -#define STR(x) x -#define Strchr(s, c) strchr(s, c) -#define tok_strdup(s) strdup(s) -#else -#define Char wchar_t -#define FUN(prefix, rest) prefix ## _w ## rest -#define TYPE(type) type ## W -#define STR(x) L ## x -#define Strchr(s, c) wcschr(s, c) -#define tok_strdup(s) wcsdup(s) -#endif - -struct TYPE(tokenizer) { - Char *ifs; /* In field separator */ - size_t argc, amax; /* Current and maximum number of args */ - Char **argv; /* Argument list */ - Char *wptr, *wmax; /* Space and limit on the word buffer */ - Char *wstart; /* Beginning of next word */ - Char *wspace; /* Space of word buffer */ - quote_t quote; /* Quoting state */ - int flags; /* flags; */ -}; - - -static void FUN(tok,finish)(TYPE(Tokenizer) *); - - -/* FUN(tok,finish)(): - * Finish a word in the tokenizer. - */ -static void -FUN(tok,finish)(TYPE(Tokenizer) *tok) -{ - - *tok->wptr = '\0'; - if ((tok->flags & TOK_KEEP) || tok->wptr != tok->wstart) { - tok->argv[tok->argc++] = tok->wstart; - tok->argv[tok->argc] = NULL; - tok->wstart = ++tok->wptr; - } - tok->flags &= ~TOK_KEEP; -} - - -/* FUN(tok,init)(): - * Initialize the tokenizer - */ -TYPE(Tokenizer) * -FUN(tok,init)(const Char *ifs) -{ - TYPE(Tokenizer) *tok = tok_malloc(sizeof(*tok)); - - if (tok == NULL) - return NULL; - tok->ifs = tok_strdup(ifs ? ifs : IFS); - if (tok->ifs == NULL) { - tok_free(tok); - return NULL; - } - tok->argc = 0; - tok->amax = AINCR; - tok->argv = tok_malloc(sizeof(*tok->argv) * tok->amax); - if (tok->argv == NULL) { - tok_free(tok->ifs); - tok_free(tok); - return NULL; - } - tok->argv[0] = NULL; - tok->wspace = tok_malloc(WINCR * sizeof(*tok->wspace)); - if (tok->wspace == NULL) { - tok_free(tok->argv); - tok_free(tok->ifs); - tok_free(tok); - return NULL; - } - tok->wmax = tok->wspace + WINCR; - tok->wstart = tok->wspace; - tok->wptr = tok->wspace; - tok->flags = 0; - tok->quote = Q_none; - - return tok; -} - - -/* FUN(tok,reset)(): - * Reset the tokenizer - */ -void -FUN(tok,reset)(TYPE(Tokenizer) *tok) -{ - - tok->argc = 0; - tok->wstart = tok->wspace; - tok->wptr = tok->wspace; - tok->flags = 0; - tok->quote = Q_none; -} - - -/* FUN(tok,end)(): - * Clean up - */ -void -FUN(tok,end)(TYPE(Tokenizer) *tok) -{ - - tok_free(tok->ifs); - tok_free(tok->wspace); - tok_free(tok->argv); - tok_free(tok); -} - - - -/* FUN(tok,line)(): - * Bourne shell (sh(1)) like tokenizing - * Arguments: - * tok current tokenizer state (setup with FUN(tok,init)()) - * line line to parse - * Returns: - * -1 Internal error - * 3 Quoted return - * 2 Unmatched double quote - * 1 Unmatched single quote - * 0 Ok - * Modifies (if return value is 0): - * argc number of arguments - * argv argument array - * cursorc if !NULL, argv element containing cursor - * cursorv if !NULL, offset in argv[cursorc] of cursor - */ -int -FUN(tok,line)(TYPE(Tokenizer) *tok, const TYPE(LineInfo) *line, - int *argc, const Char ***argv, int *cursorc, int *cursoro) -{ - const Char *ptr; - int cc, co; - - cc = co = -1; - ptr = line->buffer; - for (ptr = line->buffer; ;ptr++) { - if (ptr >= line->lastchar) - ptr = STR(""); - if (ptr == line->cursor) { - cc = (int)tok->argc; - co = (int)(tok->wptr - tok->wstart); - } - switch (*ptr) { - case '\'': - tok->flags |= TOK_KEEP; - tok->flags &= ~TOK_EAT; - switch (tok->quote) { - case Q_none: - tok->quote = Q_single; /* Enter single quote - * mode */ - break; - - case Q_single: /* Exit single quote mode */ - tok->quote = Q_none; - break; - - case Q_one: /* Quote this ' */ - tok->quote = Q_none; - *tok->wptr++ = *ptr; - break; - - case Q_double: /* Stay in double quote mode */ - *tok->wptr++ = *ptr; - break; - - case Q_doubleone: /* Quote this ' */ - tok->quote = Q_double; - *tok->wptr++ = *ptr; - break; - - default: - return -1; - } - break; - - case '"': - tok->flags &= ~TOK_EAT; - tok->flags |= TOK_KEEP; - switch (tok->quote) { - case Q_none: /* Enter double quote mode */ - tok->quote = Q_double; - break; - - case Q_double: /* Exit double quote mode */ - tok->quote = Q_none; - break; - - case Q_one: /* Quote this " */ - tok->quote = Q_none; - *tok->wptr++ = *ptr; - break; - - case Q_single: /* Stay in single quote mode */ - *tok->wptr++ = *ptr; - break; - - case Q_doubleone: /* Quote this " */ - tok->quote = Q_double; - *tok->wptr++ = *ptr; - break; - - default: - return -1; - } - break; - - case '\\': - tok->flags |= TOK_KEEP; - tok->flags &= ~TOK_EAT; - switch (tok->quote) { - case Q_none: /* Quote next character */ - tok->quote = Q_one; - break; - - case Q_double: /* Quote next character */ - tok->quote = Q_doubleone; - break; - - case Q_one: /* Quote this, restore state */ - *tok->wptr++ = *ptr; - tok->quote = Q_none; - break; - - case Q_single: /* Stay in single quote mode */ - *tok->wptr++ = *ptr; - break; - - case Q_doubleone: /* Quote this \ */ - tok->quote = Q_double; - *tok->wptr++ = *ptr; - break; - - default: - return -1; - } - break; - - case '\n': - tok->flags &= ~TOK_EAT; - switch (tok->quote) { - case Q_none: - goto tok_line_outok; - - case Q_single: - case Q_double: - *tok->wptr++ = *ptr; /* Add the return */ - break; - - case Q_doubleone: /* Back to double, eat the '\n' */ - tok->flags |= TOK_EAT; - tok->quote = Q_double; - break; - - case Q_one: /* No quote, more eat the '\n' */ - tok->flags |= TOK_EAT; - tok->quote = Q_none; - break; - - default: - return 0; - } - break; - - case '\0': - switch (tok->quote) { - case Q_none: - /* Finish word and return */ - if (tok->flags & TOK_EAT) { - tok->flags &= ~TOK_EAT; - return 3; - } - goto tok_line_outok; - - case Q_single: - return 1; - - case Q_double: - return 2; - - case Q_doubleone: - tok->quote = Q_double; - *tok->wptr++ = *ptr; - break; - - case Q_one: - tok->quote = Q_none; - *tok->wptr++ = *ptr; - break; - - default: - return -1; - } - break; - - default: - tok->flags &= ~TOK_EAT; - switch (tok->quote) { - case Q_none: - if (Strchr(tok->ifs, *ptr) != NULL) - FUN(tok,finish)(tok); - else - *tok->wptr++ = *ptr; - break; - - case Q_single: - case Q_double: - *tok->wptr++ = *ptr; - break; - - - case Q_doubleone: - *tok->wptr++ = '\\'; - tok->quote = Q_double; - *tok->wptr++ = *ptr; - break; - - case Q_one: - tok->quote = Q_none; - *tok->wptr++ = *ptr; - break; - - default: - return -1; - - } - break; - } - - if (tok->wptr >= tok->wmax - 4) { - size_t size = (size_t)(tok->wmax - tok->wspace + WINCR); - Char *s = tok_realloc(tok->wspace, - size * sizeof(*s)); - if (s == NULL) - return -1; - - if (s != tok->wspace) { - size_t i; - for (i = 0; i < tok->argc; i++) { - tok->argv[i] = - (tok->argv[i] - tok->wspace) + s; - } - tok->wptr = (tok->wptr - tok->wspace) + s; - tok->wstart = (tok->wstart - tok->wspace) + s; - tok->wspace = s; - } - tok->wmax = s + size; - } - if (tok->argc >= tok->amax - 4) { - Char **p; - tok->amax += AINCR; - p = tok_realloc(tok->argv, tok->amax * sizeof(*p)); - if (p == NULL) { - tok->amax -= AINCR; - return -1; - } - tok->argv = p; - } - } - tok_line_outok: - if (cc == -1 && co == -1) { - cc = (int)tok->argc; - co = (int)(tok->wptr - tok->wstart); - } - if (cursorc != NULL) - *cursorc = cc; - if (cursoro != NULL) - *cursoro = co; - FUN(tok,finish)(tok); - *argv = (const Char **)tok->argv; - *argc = (int)tok->argc; - return 0; -} - -/* FUN(tok,str)(): - * Simpler version of tok_line, taking a NUL terminated line - * and splitting into words, ignoring cursor state. - */ -int -FUN(tok,str)(TYPE(Tokenizer) *tok, const Char *line, int *argc, - const Char ***argv) -{ - TYPE(LineInfo) li; - - memset(&li, 0, sizeof(li)); - li.buffer = line; - li.cursor = li.lastchar = Strchr(line, '\0'); - return FUN(tok,line)(tok, &li, argc, argv, NULL, NULL); -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/tokenizern.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/tokenizern.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/tokenizern.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/tokenizern.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#include "config.h" -#define NARROWCHAR -#include "tokenizer.c" diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/tty.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/tty.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/tty.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/tty.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1373 +0,0 @@ -/* $NetBSD: tty.c,v 1.68 2018/12/02 16:58:13 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)tty.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: tty.c,v 1.68 2018/12/02 16:58:13 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * tty.c: tty interface stuff - */ -#include -#include -#include /* for abort */ -#include -#include /* for ffs */ -#include /* for isatty */ - -#include "el.h" -#include "fcns.h" -#include "parse.h" - -typedef struct ttymodes_t { - const char *m_name; - unsigned int m_value; - int m_type; -} ttymodes_t; - -typedef struct ttymap_t { - wint_t nch, och; /* Internal and termio rep of chars */ - el_action_t bind[3]; /* emacs, vi, and vi-cmd */ -} ttymap_t; - - -static const ttyperm_t ttyperm = { - { - {"iflag:", ICRNL, (INLCR | IGNCR)}, - {"oflag:", (OPOST | ONLCR), ONLRET}, - {"cflag:", 0, 0}, - {"lflag:", (ISIG | ICANON | ECHO | ECHOE | ECHOCTL | IEXTEN), - (NOFLSH | ECHONL | EXTPROC | FLUSHO)}, - {"chars:", 0, 0}, - }, - { - {"iflag:", (INLCR | ICRNL), IGNCR}, - {"oflag:", (OPOST | ONLCR), ONLRET}, - {"cflag:", 0, 0}, - {"lflag:", ISIG, - (NOFLSH | ICANON | ECHO | ECHOK | ECHONL | EXTPROC | IEXTEN | FLUSHO)}, - {"chars:", (C_SH(C_MIN) | C_SH(C_TIME) | C_SH(C_SWTCH) | C_SH(C_DSWTCH) | - C_SH(C_SUSP) | C_SH(C_DSUSP) | C_SH(C_EOL) | C_SH(C_DISCARD) | - C_SH(C_PGOFF) | C_SH(C_PAGE) | C_SH(C_STATUS)), 0} - }, - { - {"iflag:", 0, IXON | IXOFF | INLCR | ICRNL}, - {"oflag:", 0, 0}, - {"cflag:", 0, 0}, - {"lflag:", 0, ISIG | IEXTEN}, - {"chars:", 0, 0}, - } -}; - -static const ttychar_t ttychar = { - { - CINTR, CQUIT, CERASE, CKILL, - CEOF, CEOL, CEOL2, CSWTCH, - CDSWTCH, CERASE2, CSTART, CSTOP, - CWERASE, CSUSP, CDSUSP, CREPRINT, - CDISCARD, CLNEXT, CSTATUS, CPAGE, - CPGOFF, CKILL2, CBRK, CMIN, - CTIME - }, - { - CINTR, CQUIT, CERASE, CKILL, - _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, - _POSIX_VDISABLE, CERASE2, CSTART, CSTOP, - _POSIX_VDISABLE, CSUSP, _POSIX_VDISABLE, _POSIX_VDISABLE, - CDISCARD, _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, - _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, 1, - 0 - }, - { - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0 - } -}; - -static const ttymap_t tty_map[] = { -#ifdef VERASE - {C_ERASE, VERASE, - {EM_DELETE_PREV_CHAR, VI_DELETE_PREV_CHAR, ED_PREV_CHAR}}, -#endif /* VERASE */ -#ifdef VERASE2 - {C_ERASE2, VERASE2, - {EM_DELETE_PREV_CHAR, VI_DELETE_PREV_CHAR, ED_PREV_CHAR}}, -#endif /* VERASE2 */ -#ifdef VKILL - {C_KILL, VKILL, - {EM_KILL_LINE, VI_KILL_LINE_PREV, ED_UNASSIGNED}}, -#endif /* VKILL */ -#ifdef VKILL2 - {C_KILL2, VKILL2, - {EM_KILL_LINE, VI_KILL_LINE_PREV, ED_UNASSIGNED}}, -#endif /* VKILL2 */ -#ifdef VEOF - {C_EOF, VEOF, - {EM_DELETE_OR_LIST, VI_LIST_OR_EOF, ED_UNASSIGNED}}, -#endif /* VEOF */ -#ifdef VWERASE - {C_WERASE, VWERASE, - {ED_DELETE_PREV_WORD, ED_DELETE_PREV_WORD, ED_PREV_WORD}}, -#endif /* VWERASE */ -#ifdef VREPRINT - {C_REPRINT, VREPRINT, - {ED_REDISPLAY, ED_INSERT, ED_REDISPLAY}}, -#endif /* VREPRINT */ -#ifdef VLNEXT - {C_LNEXT, VLNEXT, - {ED_QUOTED_INSERT, ED_QUOTED_INSERT, ED_UNASSIGNED}}, -#endif /* VLNEXT */ - {(wint_t)-1, (wint_t)-1, - {ED_UNASSIGNED, ED_UNASSIGNED, ED_UNASSIGNED}} -}; - -static const ttymodes_t ttymodes[] = { -#ifdef IGNBRK - {"ignbrk", IGNBRK, MD_INP}, -#endif /* IGNBRK */ -#ifdef BRKINT - {"brkint", BRKINT, MD_INP}, -#endif /* BRKINT */ -#ifdef IGNPAR - {"ignpar", IGNPAR, MD_INP}, -#endif /* IGNPAR */ -#ifdef PARMRK - {"parmrk", PARMRK, MD_INP}, -#endif /* PARMRK */ -#ifdef INPCK - {"inpck", INPCK, MD_INP}, -#endif /* INPCK */ -#ifdef ISTRIP - {"istrip", ISTRIP, MD_INP}, -#endif /* ISTRIP */ -#ifdef INLCR - {"inlcr", INLCR, MD_INP}, -#endif /* INLCR */ -#ifdef IGNCR - {"igncr", IGNCR, MD_INP}, -#endif /* IGNCR */ -#ifdef ICRNL - {"icrnl", ICRNL, MD_INP}, -#endif /* ICRNL */ -#ifdef IUCLC - {"iuclc", IUCLC, MD_INP}, -#endif /* IUCLC */ -#ifdef IXON - {"ixon", IXON, MD_INP}, -#endif /* IXON */ -#ifdef IXANY - {"ixany", IXANY, MD_INP}, -#endif /* IXANY */ -#ifdef IXOFF - {"ixoff", IXOFF, MD_INP}, -#endif /* IXOFF */ -#ifdef IMAXBEL - {"imaxbel", IMAXBEL, MD_INP}, -#endif /* IMAXBEL */ - -#ifdef OPOST - {"opost", OPOST, MD_OUT}, -#endif /* OPOST */ -#ifdef OLCUC - {"olcuc", OLCUC, MD_OUT}, -#endif /* OLCUC */ -#ifdef ONLCR - {"onlcr", ONLCR, MD_OUT}, -#endif /* ONLCR */ -#ifdef OCRNL - {"ocrnl", OCRNL, MD_OUT}, -#endif /* OCRNL */ -#ifdef ONOCR - {"onocr", ONOCR, MD_OUT}, -#endif /* ONOCR */ -#ifdef ONOEOT - {"onoeot", ONOEOT, MD_OUT}, -#endif /* ONOEOT */ -#ifdef ONLRET - {"onlret", ONLRET, MD_OUT}, -#endif /* ONLRET */ -#ifdef OFILL - {"ofill", OFILL, MD_OUT}, -#endif /* OFILL */ -#ifdef OFDEL - {"ofdel", OFDEL, MD_OUT}, -#endif /* OFDEL */ -#ifdef NLDLY - {"nldly", NLDLY, MD_OUT}, -#endif /* NLDLY */ -#ifdef CRDLY - {"crdly", CRDLY, MD_OUT}, -#endif /* CRDLY */ -#ifdef TABDLY - {"tabdly", TABDLY, MD_OUT}, -#endif /* TABDLY */ -#ifdef XTABS - {"xtabs", XTABS, MD_OUT}, -#endif /* XTABS */ -#ifdef BSDLY - {"bsdly", BSDLY, MD_OUT}, -#endif /* BSDLY */ -#ifdef VTDLY - {"vtdly", VTDLY, MD_OUT}, -#endif /* VTDLY */ -#ifdef FFDLY - {"ffdly", FFDLY, MD_OUT}, -#endif /* FFDLY */ -#ifdef PAGEOUT - {"pageout", PAGEOUT, MD_OUT}, -#endif /* PAGEOUT */ -#ifdef WRAP - {"wrap", WRAP, MD_OUT}, -#endif /* WRAP */ - -#ifdef CIGNORE - {"cignore", CIGNORE, MD_CTL}, -#endif /* CBAUD */ -#ifdef CBAUD - {"cbaud", CBAUD, MD_CTL}, -#endif /* CBAUD */ -#ifdef CSTOPB - {"cstopb", CSTOPB, MD_CTL}, -#endif /* CSTOPB */ -#ifdef CREAD - {"cread", CREAD, MD_CTL}, -#endif /* CREAD */ -#ifdef PARENB - {"parenb", PARENB, MD_CTL}, -#endif /* PARENB */ -#ifdef PARODD - {"parodd", PARODD, MD_CTL}, -#endif /* PARODD */ -#ifdef HUPCL - {"hupcl", HUPCL, MD_CTL}, -#endif /* HUPCL */ -#ifdef CLOCAL - {"clocal", CLOCAL, MD_CTL}, -#endif /* CLOCAL */ -#ifdef LOBLK - {"loblk", LOBLK, MD_CTL}, -#endif /* LOBLK */ -#ifdef CIBAUD - {"cibaud", CIBAUD, MD_CTL}, -#endif /* CIBAUD */ -#ifdef CRTSCTS -#ifdef CCTS_OFLOW - {"ccts_oflow", CCTS_OFLOW, MD_CTL}, -#else - {"crtscts", CRTSCTS, MD_CTL}, -#endif /* CCTS_OFLOW */ -#endif /* CRTSCTS */ -#ifdef CRTS_IFLOW - {"crts_iflow", CRTS_IFLOW, MD_CTL}, -#endif /* CRTS_IFLOW */ -#ifdef CDTRCTS - {"cdtrcts", CDTRCTS, MD_CTL}, -#endif /* CDTRCTS */ -#ifdef MDMBUF - {"mdmbuf", MDMBUF, MD_CTL}, -#endif /* MDMBUF */ -#ifdef RCV1EN - {"rcv1en", RCV1EN, MD_CTL}, -#endif /* RCV1EN */ -#ifdef XMT1EN - {"xmt1en", XMT1EN, MD_CTL}, -#endif /* XMT1EN */ - -#ifdef ISIG - {"isig", ISIG, MD_LIN}, -#endif /* ISIG */ -#ifdef ICANON - {"icanon", ICANON, MD_LIN}, -#endif /* ICANON */ -#ifdef XCASE - {"xcase", XCASE, MD_LIN}, -#endif /* XCASE */ -#ifdef ECHO - {"echo", ECHO, MD_LIN}, -#endif /* ECHO */ -#ifdef ECHOE - {"echoe", ECHOE, MD_LIN}, -#endif /* ECHOE */ -#ifdef ECHOK - {"echok", ECHOK, MD_LIN}, -#endif /* ECHOK */ -#ifdef ECHONL - {"echonl", ECHONL, MD_LIN}, -#endif /* ECHONL */ -#ifdef NOFLSH - {"noflsh", NOFLSH, MD_LIN}, -#endif /* NOFLSH */ -#ifdef TOSTOP - {"tostop", TOSTOP, MD_LIN}, -#endif /* TOSTOP */ -#ifdef ECHOCTL - {"echoctl", ECHOCTL, MD_LIN}, -#endif /* ECHOCTL */ -#ifdef ECHOPRT - {"echoprt", ECHOPRT, MD_LIN}, -#endif /* ECHOPRT */ -#ifdef ECHOKE - {"echoke", ECHOKE, MD_LIN}, -#endif /* ECHOKE */ -#ifdef DEFECHO - {"defecho", DEFECHO, MD_LIN}, -#endif /* DEFECHO */ -#ifdef FLUSHO - {"flusho", FLUSHO, MD_LIN}, -#endif /* FLUSHO */ -#ifdef PENDIN - {"pendin", PENDIN, MD_LIN}, -#endif /* PENDIN */ -#ifdef IEXTEN - {"iexten", IEXTEN, MD_LIN}, -#endif /* IEXTEN */ -#ifdef NOKERNINFO - {"nokerninfo", NOKERNINFO, MD_LIN}, -#endif /* NOKERNINFO */ -#ifdef ALTWERASE - {"altwerase", ALTWERASE, MD_LIN}, -#endif /* ALTWERASE */ -#ifdef EXTPROC - {"extproc", EXTPROC, MD_LIN}, -#endif /* EXTPROC */ - -#if defined(VINTR) - {"intr", C_SH(C_INTR), MD_CHAR}, -#endif /* VINTR */ -#if defined(VQUIT) - {"quit", C_SH(C_QUIT), MD_CHAR}, -#endif /* VQUIT */ -#if defined(VERASE) - {"erase", C_SH(C_ERASE), MD_CHAR}, -#endif /* VERASE */ -#if defined(VKILL) - {"kill", C_SH(C_KILL), MD_CHAR}, -#endif /* VKILL */ -#if defined(VEOF) - {"eof", C_SH(C_EOF), MD_CHAR}, -#endif /* VEOF */ -#if defined(VEOL) - {"eol", C_SH(C_EOL), MD_CHAR}, -#endif /* VEOL */ -#if defined(VEOL2) - {"eol2", C_SH(C_EOL2), MD_CHAR}, -#endif /* VEOL2 */ -#if defined(VSWTCH) - {"swtch", C_SH(C_SWTCH), MD_CHAR}, -#endif /* VSWTCH */ -#if defined(VDSWTCH) - {"dswtch", C_SH(C_DSWTCH), MD_CHAR}, -#endif /* VDSWTCH */ -#if defined(VERASE2) - {"erase2", C_SH(C_ERASE2), MD_CHAR}, -#endif /* VERASE2 */ -#if defined(VSTART) - {"start", C_SH(C_START), MD_CHAR}, -#endif /* VSTART */ -#if defined(VSTOP) - {"stop", C_SH(C_STOP), MD_CHAR}, -#endif /* VSTOP */ -#if defined(VWERASE) - {"werase", C_SH(C_WERASE), MD_CHAR}, -#endif /* VWERASE */ -#if defined(VSUSP) - {"susp", C_SH(C_SUSP), MD_CHAR}, -#endif /* VSUSP */ -#if defined(VDSUSP) - {"dsusp", C_SH(C_DSUSP), MD_CHAR}, -#endif /* VDSUSP */ -#if defined(VREPRINT) - {"reprint", C_SH(C_REPRINT), MD_CHAR}, -#endif /* VREPRINT */ -#if defined(VDISCARD) - {"discard", C_SH(C_DISCARD), MD_CHAR}, -#endif /* VDISCARD */ -#if defined(VLNEXT) - {"lnext", C_SH(C_LNEXT), MD_CHAR}, -#endif /* VLNEXT */ -#if defined(VSTATUS) - {"status", C_SH(C_STATUS), MD_CHAR}, -#endif /* VSTATUS */ -#if defined(VPAGE) - {"page", C_SH(C_PAGE), MD_CHAR}, -#endif /* VPAGE */ -#if defined(VPGOFF) - {"pgoff", C_SH(C_PGOFF), MD_CHAR}, -#endif /* VPGOFF */ -#if defined(VKILL2) - {"kill2", C_SH(C_KILL2), MD_CHAR}, -#endif /* VKILL2 */ -#if defined(VBRK) - {"brk", C_SH(C_BRK), MD_CHAR}, -#endif /* VBRK */ -#if defined(VMIN) - {"min", C_SH(C_MIN), MD_CHAR}, -#endif /* VMIN */ -#if defined(VTIME) - {"time", C_SH(C_TIME), MD_CHAR}, -#endif /* VTIME */ - {NULL, 0, -1}, -}; - - - -#define tty__gettabs(td) ((((td)->c_oflag & TAB3) == TAB3) ? 0 : 1) -#define tty__geteightbit(td) (((td)->c_cflag & CSIZE) == CS8) -#define tty__cooked_mode(td) ((td)->c_lflag & ICANON) - -static int tty_getty(EditLine *, struct termios *); -static int tty_setty(EditLine *, int, const struct termios *); -static int tty__getcharindex(int); -static void tty__getchar(struct termios *, unsigned char *); -static void tty__setchar(struct termios *, unsigned char *); -static speed_t tty__getspeed(struct termios *); -static int tty_setup(EditLine *); -static void tty_setup_flags(EditLine *, struct termios *, int); - -#define t_qu t_ts - -/* tty_getty(): - * Wrapper for tcgetattr to handle EINTR - */ -static int -tty_getty(EditLine *el, struct termios *t) -{ - int rv; - while ((rv = tcgetattr(el->el_infd, t)) == -1 && errno == EINTR) - continue; - return rv; -} - -/* tty_setty(): - * Wrapper for tcsetattr to handle EINTR - */ -static int -tty_setty(EditLine *el, int action, const struct termios *t) -{ - int rv; - while ((rv = tcsetattr(el->el_infd, action, t)) == -1 && errno == EINTR) - continue; - return rv; -} - -/* tty_setup(): - * Get the tty parameters and initialize the editing state - */ -static int -tty_setup(EditLine *el) -{ - int rst = (el->el_flags & NO_RESET) == 0; - - if (el->el_flags & EDIT_DISABLED) - return 0; - - if (el->el_tty.t_initialized) - return -1; - - if (!isatty(el->el_outfd)) { -#ifdef DEBUG_TTY - (void) fprintf(el->el_errfile, "%s: isatty: %s\n", __func__, - strerror(errno)); -#endif /* DEBUG_TTY */ - return -1; - } - if (tty_getty(el, &el->el_tty.t_or) == -1) { -#ifdef DEBUG_TTY - (void) fprintf(el->el_errfile, "%s: tty_getty: %s\n", __func__, - strerror(errno)); -#endif /* DEBUG_TTY */ - return -1; - } - el->el_tty.t_ts = el->el_tty.t_ex = el->el_tty.t_ed = el->el_tty.t_or; - - el->el_tty.t_speed = tty__getspeed(&el->el_tty.t_ex); - el->el_tty.t_tabs = tty__gettabs(&el->el_tty.t_ex); - el->el_tty.t_eight = tty__geteightbit(&el->el_tty.t_ex); - - tty_setup_flags(el, &el->el_tty.t_ex, EX_IO); - - /* - * Reset the tty chars to reasonable defaults - * If they are disabled, then enable them. - */ - if (rst) { - if (tty__cooked_mode(&el->el_tty.t_ts)) { - tty__getchar(&el->el_tty.t_ts, el->el_tty.t_c[TS_IO]); - /* - * Don't affect CMIN and CTIME for the editor mode - */ - for (rst = 0; rst < C_NCC - 2; rst++) - if (el->el_tty.t_c[TS_IO][rst] != - el->el_tty.t_vdisable - && el->el_tty.t_c[ED_IO][rst] != - el->el_tty.t_vdisable) - el->el_tty.t_c[ED_IO][rst] = - el->el_tty.t_c[TS_IO][rst]; - for (rst = 0; rst < C_NCC; rst++) - if (el->el_tty.t_c[TS_IO][rst] != - el->el_tty.t_vdisable) - el->el_tty.t_c[EX_IO][rst] = - el->el_tty.t_c[TS_IO][rst]; - } - tty__setchar(&el->el_tty.t_ex, el->el_tty.t_c[EX_IO]); - if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ex) == -1) { -#ifdef DEBUG_TTY - (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", - __func__, strerror(errno)); -#endif /* DEBUG_TTY */ - return -1; - } - } - - tty_setup_flags(el, &el->el_tty.t_ed, ED_IO); - - tty__setchar(&el->el_tty.t_ed, el->el_tty.t_c[ED_IO]); - tty_bind_char(el, 1); - el->el_tty.t_initialized = 1; - return 0; -} - -libedit_private int -tty_init(EditLine *el) -{ - - el->el_tty.t_mode = EX_IO; - el->el_tty.t_vdisable = _POSIX_VDISABLE; - el->el_tty.t_initialized = 0; - (void) memcpy(el->el_tty.t_t, ttyperm, sizeof(ttyperm_t)); - (void) memcpy(el->el_tty.t_c, ttychar, sizeof(ttychar_t)); - return tty_setup(el); -} - - -/* tty_end(): - * Restore the tty to its original settings - */ -libedit_private void -/*ARGSUSED*/ -tty_end(EditLine *el, int how) -{ - if (el->el_flags & EDIT_DISABLED) - return; - - if (!el->el_tty.t_initialized) - return; - - if (tty_setty(el, how, &el->el_tty.t_or) == -1) - { -#ifdef DEBUG_TTY - (void) fprintf(el->el_errfile, - "%s: tty_setty: %s\n", __func__, strerror(errno)); -#endif /* DEBUG_TTY */ - } -} - - -/* tty__getspeed(): - * Get the tty speed - */ -static speed_t -tty__getspeed(struct termios *td) -{ - speed_t spd; - - if ((spd = cfgetispeed(td)) == 0) - spd = cfgetospeed(td); - return spd; -} - -/* tty__getspeed(): - * Return the index of the asked char in the c_cc array - */ -static int -tty__getcharindex(int i) -{ - switch (i) { -#ifdef VINTR - case C_INTR: - return VINTR; -#endif /* VINTR */ -#ifdef VQUIT - case C_QUIT: - return VQUIT; -#endif /* VQUIT */ -#ifdef VERASE - case C_ERASE: - return VERASE; -#endif /* VERASE */ -#ifdef VKILL - case C_KILL: - return VKILL; -#endif /* VKILL */ -#ifdef VEOF - case C_EOF: - return VEOF; -#endif /* VEOF */ -#ifdef VEOL - case C_EOL: - return VEOL; -#endif /* VEOL */ -#ifdef VEOL2 - case C_EOL2: - return VEOL2; -#endif /* VEOL2 */ -#ifdef VSWTCH - case C_SWTCH: - return VSWTCH; -#endif /* VSWTCH */ -#ifdef VDSWTCH - case C_DSWTCH: - return VDSWTCH; -#endif /* VDSWTCH */ -#ifdef VERASE2 - case C_ERASE2: - return VERASE2; -#endif /* VERASE2 */ -#ifdef VSTART - case C_START: - return VSTART; -#endif /* VSTART */ -#ifdef VSTOP - case C_STOP: - return VSTOP; -#endif /* VSTOP */ -#ifdef VWERASE - case C_WERASE: - return VWERASE; -#endif /* VWERASE */ -#ifdef VSUSP - case C_SUSP: - return VSUSP; -#endif /* VSUSP */ -#ifdef VDSUSP - case C_DSUSP: - return VDSUSP; -#endif /* VDSUSP */ -#ifdef VREPRINT - case C_REPRINT: - return VREPRINT; -#endif /* VREPRINT */ -#ifdef VDISCARD - case C_DISCARD: - return VDISCARD; -#endif /* VDISCARD */ -#ifdef VLNEXT - case C_LNEXT: - return VLNEXT; -#endif /* VLNEXT */ -#ifdef VSTATUS - case C_STATUS: - return VSTATUS; -#endif /* VSTATUS */ -#ifdef VPAGE - case C_PAGE: - return VPAGE; -#endif /* VPAGE */ -#ifdef VPGOFF - case C_PGOFF: - return VPGOFF; -#endif /* VPGOFF */ -#ifdef VKILL2 - case C_KILL2: - return VKILL2; -#endif /* KILL2 */ -#ifdef VMIN - case C_MIN: - return VMIN; -#endif /* VMIN */ -#ifdef VTIME - case C_TIME: - return VTIME; -#endif /* VTIME */ - default: - return -1; - } -} - -/* tty__getchar(): - * Get the tty characters - */ -static void -tty__getchar(struct termios *td, unsigned char *s) -{ - -#ifdef VINTR - s[C_INTR] = td->c_cc[VINTR]; -#endif /* VINTR */ -#ifdef VQUIT - s[C_QUIT] = td->c_cc[VQUIT]; -#endif /* VQUIT */ -#ifdef VERASE - s[C_ERASE] = td->c_cc[VERASE]; -#endif /* VERASE */ -#ifdef VKILL - s[C_KILL] = td->c_cc[VKILL]; -#endif /* VKILL */ -#ifdef VEOF - s[C_EOF] = td->c_cc[VEOF]; -#endif /* VEOF */ -#ifdef VEOL - s[C_EOL] = td->c_cc[VEOL]; -#endif /* VEOL */ -#ifdef VEOL2 - s[C_EOL2] = td->c_cc[VEOL2]; -#endif /* VEOL2 */ -#ifdef VSWTCH - s[C_SWTCH] = td->c_cc[VSWTCH]; -#endif /* VSWTCH */ -#ifdef VDSWTCH - s[C_DSWTCH] = td->c_cc[VDSWTCH]; -#endif /* VDSWTCH */ -#ifdef VERASE2 - s[C_ERASE2] = td->c_cc[VERASE2]; -#endif /* VERASE2 */ -#ifdef VSTART - s[C_START] = td->c_cc[VSTART]; -#endif /* VSTART */ -#ifdef VSTOP - s[C_STOP] = td->c_cc[VSTOP]; -#endif /* VSTOP */ -#ifdef VWERASE - s[C_WERASE] = td->c_cc[VWERASE]; -#endif /* VWERASE */ -#ifdef VSUSP - s[C_SUSP] = td->c_cc[VSUSP]; -#endif /* VSUSP */ -#ifdef VDSUSP - s[C_DSUSP] = td->c_cc[VDSUSP]; -#endif /* VDSUSP */ -#ifdef VREPRINT - s[C_REPRINT] = td->c_cc[VREPRINT]; -#endif /* VREPRINT */ -#ifdef VDISCARD - s[C_DISCARD] = td->c_cc[VDISCARD]; -#endif /* VDISCARD */ -#ifdef VLNEXT - s[C_LNEXT] = td->c_cc[VLNEXT]; -#endif /* VLNEXT */ -#ifdef VSTATUS - s[C_STATUS] = td->c_cc[VSTATUS]; -#endif /* VSTATUS */ -#ifdef VPAGE - s[C_PAGE] = td->c_cc[VPAGE]; -#endif /* VPAGE */ -#ifdef VPGOFF - s[C_PGOFF] = td->c_cc[VPGOFF]; -#endif /* VPGOFF */ -#ifdef VKILL2 - s[C_KILL2] = td->c_cc[VKILL2]; -#endif /* KILL2 */ -#ifdef VMIN - s[C_MIN] = td->c_cc[VMIN]; -#endif /* VMIN */ -#ifdef VTIME - s[C_TIME] = td->c_cc[VTIME]; -#endif /* VTIME */ -} /* tty__getchar */ - - -/* tty__setchar(): - * Set the tty characters - */ -static void -tty__setchar(struct termios *td, unsigned char *s) -{ - -#ifdef VINTR - td->c_cc[VINTR] = s[C_INTR]; -#endif /* VINTR */ -#ifdef VQUIT - td->c_cc[VQUIT] = s[C_QUIT]; -#endif /* VQUIT */ -#ifdef VERASE - td->c_cc[VERASE] = s[C_ERASE]; -#endif /* VERASE */ -#ifdef VKILL - td->c_cc[VKILL] = s[C_KILL]; -#endif /* VKILL */ -#ifdef VEOF - td->c_cc[VEOF] = s[C_EOF]; -#endif /* VEOF */ -#ifdef VEOL - td->c_cc[VEOL] = s[C_EOL]; -#endif /* VEOL */ -#ifdef VEOL2 - td->c_cc[VEOL2] = s[C_EOL2]; -#endif /* VEOL2 */ -#ifdef VSWTCH - td->c_cc[VSWTCH] = s[C_SWTCH]; -#endif /* VSWTCH */ -#ifdef VDSWTCH - td->c_cc[VDSWTCH] = s[C_DSWTCH]; -#endif /* VDSWTCH */ -#ifdef VERASE2 - td->c_cc[VERASE2] = s[C_ERASE2]; -#endif /* VERASE2 */ -#ifdef VSTART - td->c_cc[VSTART] = s[C_START]; -#endif /* VSTART */ -#ifdef VSTOP - td->c_cc[VSTOP] = s[C_STOP]; -#endif /* VSTOP */ -#ifdef VWERASE - td->c_cc[VWERASE] = s[C_WERASE]; -#endif /* VWERASE */ -#ifdef VSUSP - td->c_cc[VSUSP] = s[C_SUSP]; -#endif /* VSUSP */ -#ifdef VDSUSP - td->c_cc[VDSUSP] = s[C_DSUSP]; -#endif /* VDSUSP */ -#ifdef VREPRINT - td->c_cc[VREPRINT] = s[C_REPRINT]; -#endif /* VREPRINT */ -#ifdef VDISCARD - td->c_cc[VDISCARD] = s[C_DISCARD]; -#endif /* VDISCARD */ -#ifdef VLNEXT - td->c_cc[VLNEXT] = s[C_LNEXT]; -#endif /* VLNEXT */ -#ifdef VSTATUS - td->c_cc[VSTATUS] = s[C_STATUS]; -#endif /* VSTATUS */ -#ifdef VPAGE - td->c_cc[VPAGE] = s[C_PAGE]; -#endif /* VPAGE */ -#ifdef VPGOFF - td->c_cc[VPGOFF] = s[C_PGOFF]; -#endif /* VPGOFF */ -#ifdef VKILL2 - td->c_cc[VKILL2] = s[C_KILL2]; -#endif /* VKILL2 */ -#ifdef VMIN - td->c_cc[VMIN] = s[C_MIN]; -#endif /* VMIN */ -#ifdef VTIME - td->c_cc[VTIME] = s[C_TIME]; -#endif /* VTIME */ -} /* tty__setchar */ - - -/* tty_bind_char(): - * Rebind the editline functions - */ -libedit_private void -tty_bind_char(EditLine *el, int force) -{ - - unsigned char *t_n = el->el_tty.t_c[ED_IO]; - unsigned char *t_o = el->el_tty.t_ed.c_cc; - wchar_t new[2], old[2]; - const ttymap_t *tp; - el_action_t *map, *alt; - const el_action_t *dmap, *dalt; - new[1] = old[1] = '\0'; - - map = el->el_map.key; - alt = el->el_map.alt; - if (el->el_map.type == MAP_VI) { - dmap = el->el_map.vii; - dalt = el->el_map.vic; - } else { - dmap = el->el_map.emacs; - dalt = NULL; - } - - for (tp = tty_map; tp->nch != (wint_t)-1; tp++) { - new[0] = (wchar_t)t_n[tp->nch]; - old[0] = (wchar_t)t_o[tp->och]; - if (new[0] == old[0] && !force) - continue; - /* Put the old default binding back, and set the new binding */ - keymacro_clear(el, map, old); - map[(unsigned char)old[0]] = dmap[(unsigned char)old[0]]; - keymacro_clear(el, map, new); - /* MAP_VI == 1, MAP_EMACS == 0... */ - map[(unsigned char)new[0]] = tp->bind[el->el_map.type]; - if (dalt) { - keymacro_clear(el, alt, old); - alt[(unsigned char)old[0]] = - dalt[(unsigned char)old[0]]; - keymacro_clear(el, alt, new); - alt[(unsigned char)new[0]] = - tp->bind[el->el_map.type + 1]; - } - } -} - - -static tcflag_t * -tty__get_flag(struct termios *t, int kind) { - switch (kind) { - case MD_INP: - return &t->c_iflag; - case MD_OUT: - return &t->c_oflag; - case MD_CTL: - return &t->c_cflag; - case MD_LIN: - return &t->c_lflag; - default: - abort(); - /*NOTREACHED*/ - } -} - - -static tcflag_t -tty_update_flag(EditLine *el, tcflag_t f, int mode, int kind) -{ - f &= ~el->el_tty.t_t[mode][kind].t_clrmask; - f |= el->el_tty.t_t[mode][kind].t_setmask; - return f; -} - - -static void -tty_update_flags(EditLine *el, int kind) -{ - tcflag_t *tt, *ed, *ex; - tt = tty__get_flag(&el->el_tty.t_ts, kind); - ed = tty__get_flag(&el->el_tty.t_ed, kind); - ex = tty__get_flag(&el->el_tty.t_ex, kind); - - if (*tt != *ex && (kind != MD_CTL || *tt != *ed)) { - *ed = tty_update_flag(el, *tt, ED_IO, kind); - *ex = tty_update_flag(el, *tt, EX_IO, kind); - } -} - - -static void -tty_update_char(EditLine *el, int mode, int c) { - if (!((el->el_tty.t_t[mode][MD_CHAR].t_setmask & C_SH(c))) - && (el->el_tty.t_c[TS_IO][c] != el->el_tty.t_c[EX_IO][c])) - el->el_tty.t_c[mode][c] = el->el_tty.t_c[TS_IO][c]; - if (el->el_tty.t_t[mode][MD_CHAR].t_clrmask & C_SH(c)) - el->el_tty.t_c[mode][c] = el->el_tty.t_vdisable; -} - - -/* tty_rawmode(): - * Set terminal into 1 character at a time mode. - */ -libedit_private int -tty_rawmode(EditLine *el) -{ - - if (el->el_tty.t_mode == ED_IO || el->el_tty.t_mode == QU_IO) - return 0; - - if (el->el_flags & EDIT_DISABLED) - return 0; - - if (tty_getty(el, &el->el_tty.t_ts) == -1) { -#ifdef DEBUG_TTY - (void) fprintf(el->el_errfile, "%s: tty_getty: %s\n", __func__, - strerror(errno)); -#endif /* DEBUG_TTY */ - return -1; - } - /* - * We always keep up with the eight bit setting and the speed of the - * tty. But we only believe changes that are made to cooked mode! - */ - el->el_tty.t_eight = tty__geteightbit(&el->el_tty.t_ts); - el->el_tty.t_speed = tty__getspeed(&el->el_tty.t_ts); - - if (tty__getspeed(&el->el_tty.t_ex) != el->el_tty.t_speed || - tty__getspeed(&el->el_tty.t_ed) != el->el_tty.t_speed) { - (void) cfsetispeed(&el->el_tty.t_ex, el->el_tty.t_speed); - (void) cfsetospeed(&el->el_tty.t_ex, el->el_tty.t_speed); - (void) cfsetispeed(&el->el_tty.t_ed, el->el_tty.t_speed); - (void) cfsetospeed(&el->el_tty.t_ed, el->el_tty.t_speed); - } - if (tty__cooked_mode(&el->el_tty.t_ts)) { - int i; - - for (i = MD_INP; i <= MD_LIN; i++) - tty_update_flags(el, i); - - if (tty__gettabs(&el->el_tty.t_ex) == 0) - el->el_tty.t_tabs = 0; - else - el->el_tty.t_tabs = EL_CAN_TAB ? 1 : 0; - - tty__getchar(&el->el_tty.t_ts, el->el_tty.t_c[TS_IO]); - /* - * Check if the user made any changes. - * If he did, then propagate the changes to the - * edit and execute data structures. - */ - for (i = 0; i < C_NCC; i++) - if (el->el_tty.t_c[TS_IO][i] != - el->el_tty.t_c[EX_IO][i]) - break; - - if (i != C_NCC) { - /* - * Propagate changes only to the unlibedit_private - * chars that have been modified just now. - */ - for (i = 0; i < C_NCC; i++) - tty_update_char(el, ED_IO, i); - - tty_bind_char(el, 0); - tty__setchar(&el->el_tty.t_ed, el->el_tty.t_c[ED_IO]); - - for (i = 0; i < C_NCC; i++) - tty_update_char(el, EX_IO, i); - - tty__setchar(&el->el_tty.t_ex, el->el_tty.t_c[EX_IO]); - } - } - if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ed) == -1) { -#ifdef DEBUG_TTY - (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, - strerror(errno)); -#endif /* DEBUG_TTY */ - return -1; - } - el->el_tty.t_mode = ED_IO; - return 0; -} - - -/* tty_cookedmode(): - * Set the tty back to normal mode - */ -libedit_private int -tty_cookedmode(EditLine *el) -{ /* set tty in normal setup */ - - if (el->el_tty.t_mode == EX_IO) - return 0; - - if (el->el_flags & EDIT_DISABLED) - return 0; - - if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ex) == -1) { -#ifdef DEBUG_TTY - (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, - strerror(errno)); -#endif /* DEBUG_TTY */ - return -1; - } - el->el_tty.t_mode = EX_IO; - return 0; -} - - -/* tty_quotemode(): - * Turn on quote mode - */ -libedit_private int -tty_quotemode(EditLine *el) -{ - if (el->el_tty.t_mode == QU_IO) - return 0; - - el->el_tty.t_qu = el->el_tty.t_ed; - - tty_setup_flags(el, &el->el_tty.t_qu, QU_IO); - - if (tty_setty(el, TCSADRAIN, &el->el_tty.t_qu) == -1) { -#ifdef DEBUG_TTY - (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, - strerror(errno)); -#endif /* DEBUG_TTY */ - return -1; - } - el->el_tty.t_mode = QU_IO; - return 0; -} - - -/* tty_noquotemode(): - * Turn off quote mode - */ -libedit_private int -tty_noquotemode(EditLine *el) -{ - - if (el->el_tty.t_mode != QU_IO) - return 0; - if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ed) == -1) { -#ifdef DEBUG_TTY - (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, - strerror(errno)); -#endif /* DEBUG_TTY */ - return -1; - } - el->el_tty.t_mode = ED_IO; - return 0; -} - - -/* tty_stty(): - * Stty builtin - */ -libedit_private int -/*ARGSUSED*/ -tty_stty(EditLine *el, int argc __attribute__((__unused__)), - const wchar_t **argv) -{ - const ttymodes_t *m; - char x; - int aflag = 0; - const wchar_t *s, *d; - char name[EL_BUFSIZ]; - struct termios *tios = &el->el_tty.t_ex; - int z = EX_IO; - - if (argv == NULL) - return -1; - strncpy(name, ct_encode_string(*argv++, &el->el_scratch), sizeof(name)); - name[sizeof(name) - 1] = '\0'; - - while (argv && *argv && argv[0][0] == '-' && argv[0][2] == '\0') - switch (argv[0][1]) { - case 'a': - aflag++; - argv++; - break; - case 'd': - argv++; - tios = &el->el_tty.t_ed; - z = ED_IO; - break; - case 'x': - argv++; - tios = &el->el_tty.t_ex; - z = EX_IO; - break; - case 'q': - argv++; - tios = &el->el_tty.t_ts; - z = QU_IO; - break; - default: - (void) fprintf(el->el_errfile, - "%s: Unknown switch `%lc'.\n", - name, (wint_t)argv[0][1]); - return -1; - } - - if (!argv || !*argv) { - int i = -1; - size_t len = 0, st = 0, cu; - for (m = ttymodes; m->m_name; m++) { - if (m->m_type != i) { - (void) fprintf(el->el_outfile, "%s%s", - i != -1 ? "\n" : "", - el->el_tty.t_t[z][m->m_type].t_name); - i = m->m_type; - st = len = - strlen(el->el_tty.t_t[z][m->m_type].t_name); - } - if (i != -1) { - x = (el->el_tty.t_t[z][i].t_setmask & m->m_value) - ? '+' : '\0'; - - if (el->el_tty.t_t[z][i].t_clrmask & m->m_value) - x = '-'; - } else { - x = '\0'; - } - - if (x != '\0' || aflag) { - - cu = strlen(m->m_name) + (x != '\0') + 1; - - if (len + cu >= - (size_t)el->el_terminal.t_size.h) { - (void) fprintf(el->el_outfile, "\n%*s", - (int)st, ""); - len = st + cu; - } else - len += cu; - - if (x != '\0') - (void) fprintf(el->el_outfile, "%c%s ", - x, m->m_name); - else - (void) fprintf(el->el_outfile, "%s ", - m->m_name); - } - } - (void) fprintf(el->el_outfile, "\n"); - return 0; - } - while (argv && (s = *argv++)) { - const wchar_t *p; - switch (*s) { - case '+': - case '-': - x = (char)*s++; - break; - default: - x = '\0'; - break; - } - d = s; - p = wcschr(s, L'='); - for (m = ttymodes; m->m_name; m++) - if ((p ? strncmp(m->m_name, ct_encode_string(d, - &el->el_scratch), (size_t)(p - d)) : - strcmp(m->m_name, ct_encode_string(d, - &el->el_scratch))) == 0 && - (p == NULL || m->m_type == MD_CHAR)) - break; - - if (!m->m_name) { - (void) fprintf(el->el_errfile, - "%s: Invalid argument `%ls'.\n", name, d); - return -1; - } - if (p) { - int c = ffs((int)m->m_value); - int v = *++p ? parse__escape(&p) : - el->el_tty.t_vdisable; - assert(c != 0); - c--; - c = tty__getcharindex(c); - assert(c != -1); - tios->c_cc[c] = (cc_t)v; - continue; - } - switch (x) { - case '+': - el->el_tty.t_t[z][m->m_type].t_setmask |= m->m_value; - el->el_tty.t_t[z][m->m_type].t_clrmask &= ~m->m_value; - break; - case '-': - el->el_tty.t_t[z][m->m_type].t_setmask &= ~m->m_value; - el->el_tty.t_t[z][m->m_type].t_clrmask |= m->m_value; - break; - default: - el->el_tty.t_t[z][m->m_type].t_setmask &= ~m->m_value; - el->el_tty.t_t[z][m->m_type].t_clrmask &= ~m->m_value; - break; - } - } - - tty_setup_flags(el, tios, z); - if (el->el_tty.t_mode == z) { - if (tty_setty(el, TCSADRAIN, tios) == -1) { -#ifdef DEBUG_TTY - (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", - __func__, strerror(errno)); -#endif /* DEBUG_TTY */ - return -1; - } - } - - return 0; -} - - -#ifdef notyet -/* tty_printchar(): - * DEbugging routine to print the tty characters - */ -static void -tty_printchar(EditLine *el, unsigned char *s) -{ - ttyperm_t *m; - int i; - - for (i = 0; i < C_NCC; i++) { - for (m = el->el_tty.t_t; m->m_name; m++) - if (m->m_type == MD_CHAR && C_SH(i) == m->m_value) - break; - if (m->m_name) - (void) fprintf(el->el_errfile, "%s ^%c ", - m->m_name, s[i] + 'A' - 1); - if (i % 5 == 0) - (void) fprintf(el->el_errfile, "\n"); - } - (void) fprintf(el->el_errfile, "\n"); -} -#endif /* notyet */ - - -static void -tty_setup_flags(EditLine *el, struct termios *tios, int mode) -{ - int kind; - for (kind = MD_INP; kind <= MD_LIN; kind++) { - tcflag_t *f = tty__get_flag(tios, kind); - *f = tty_update_flag(el, *f, mode, kind); - } -} - -libedit_private int -tty_get_signal_character(EditLine *el, int sig) -{ -#ifdef ECHOCTL - tcflag_t *ed = tty__get_flag(&el->el_tty.t_ed, MD_INP); - if ((*ed & ECHOCTL) == 0) - return -1; -#endif - switch (sig) { -#ifdef SIGINT - case SIGINT: - return el->el_tty.t_c[ED_IO][VINTR]; -#endif -#ifdef SIGQUIT - case SIGQUIT: - return el->el_tty.t_c[ED_IO][VQUIT]; -#endif -#ifdef SIGINFO - case SIGINFO: - return el->el_tty.t_c[ED_IO][VSTATUS]; -#endif -#ifdef SIGTSTP - case SIGTSTP: - return el->el_tty.t_c[ED_IO][VSUSP]; -#endif - default: - return -1; - } -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/tty.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/tty.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/tty.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/tty.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,482 +0,0 @@ -/* $NetBSD: tty.h,v 1.23 2018/12/02 16:58:13 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)tty.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * el.tty.h: Local terminal header - */ -#ifndef _h_el_tty -#define _h_el_tty - -#include -#include - -/* Define our own since everyone gets it wrong! */ -#define CONTROL(A) ((A) & 037) - -/* - * Aix compatible names - */ -# if defined(VWERSE) && !defined(VWERASE) -# define VWERASE VWERSE -# endif /* VWERSE && !VWERASE */ - -# if defined(VDISCRD) && !defined(VDISCARD) -# define VDISCARD VDISCRD -# endif /* VDISCRD && !VDISCARD */ - -# if defined(VFLUSHO) && !defined(VDISCARD) -# define VDISCARD VFLUSHO -# endif /* VFLUSHO && VDISCARD */ - -# if defined(VSTRT) && !defined(VSTART) -# define VSTART VSTRT -# endif /* VSTRT && ! VSTART */ - -# if defined(VSTAT) && !defined(VSTATUS) -# define VSTATUS VSTAT -# endif /* VSTAT && ! VSTATUS */ - -# ifndef ONLRET -# define ONLRET 0 -# endif /* ONLRET */ - -# ifndef TAB3 -# ifdef OXTABS -# define TAB3 OXTABS -# else -# define TAB3 0 -# endif /* OXTABS */ -# endif /* !TAB3 */ - -# if defined(OXTABS) && !defined(XTABS) -# define XTABS OXTABS -# endif /* OXTABS && !XTABS */ - -# ifndef ONLCR -# define ONLCR 0 -# endif /* ONLCR */ - -# ifndef IEXTEN -# define IEXTEN 0 -# endif /* IEXTEN */ - -# ifndef ECHOCTL -# define ECHOCTL 0 -# endif /* ECHOCTL */ - -# ifndef PARENB -# define PARENB 0 -# endif /* PARENB */ - -# ifndef EXTPROC -# define EXTPROC 0 -# endif /* EXTPROC */ - -# ifndef FLUSHO -# define FLUSHO 0 -# endif /* FLUSHO */ - - -# if defined(VDISABLE) && !defined(_POSIX_VDISABLE) -# define _POSIX_VDISABLE VDISABLE -# endif /* VDISABLE && ! _POSIX_VDISABLE */ - -/* - * Work around ISC's definition of IEXTEN which is - * XCASE! - */ -# ifdef ISC -# if defined(IEXTEN) && defined(XCASE) -# if IEXTEN == XCASE -# undef IEXTEN -# define IEXTEN 0 -# endif /* IEXTEN == XCASE */ -# endif /* IEXTEN && XCASE */ -# if defined(IEXTEN) && !defined(XCASE) -# define XCASE IEXTEN -# undef IEXTEN -# define IEXTEN 0 -# endif /* IEXTEN && !XCASE */ -# endif /* ISC */ - -/* - * Work around convex weirdness where turning off IEXTEN makes us - * lose all postprocessing! - */ -#if defined(convex) || defined(__convex__) -# if defined(IEXTEN) && IEXTEN != 0 -# undef IEXTEN -# define IEXTEN 0 -# endif /* IEXTEN != 0 */ -#endif /* convex || __convex__ */ - -/* - * So that we don't lose job control. - */ -#ifdef __SVR4 -# undef CSWTCH -#endif - -#ifndef _POSIX_VDISABLE -# define _POSIX_VDISABLE ((unsigned char) -1) -#endif /* _POSIX_VDISABLE */ - -#if !defined(CREPRINT) && defined(CRPRNT) -# define CREPRINT CRPRNT -#endif /* !CREPRINT && CRPRNT */ -#if !defined(CDISCARD) && defined(CFLUSH) -# define CDISCARD CFLUSH -#endif /* !CDISCARD && CFLUSH */ - -#ifndef CINTR -# define CINTR CONTROL('c') -#endif /* CINTR */ -#ifndef CQUIT -# define CQUIT 034 /* ^\ */ -#endif /* CQUIT */ -#ifndef CERASE -# define CERASE 0177 /* ^? */ -#endif /* CERASE */ -#ifndef CKILL -# define CKILL CONTROL('u') -#endif /* CKILL */ -#ifndef CEOF -# define CEOF CONTROL('d') -#endif /* CEOF */ -#ifndef CEOL -# define CEOL _POSIX_VDISABLE -#endif /* CEOL */ -#ifndef CEOL2 -# define CEOL2 _POSIX_VDISABLE -#endif /* CEOL2 */ -#ifndef CSWTCH -# define CSWTCH _POSIX_VDISABLE -#endif /* CSWTCH */ -#ifndef CDSWTCH -# define CDSWTCH _POSIX_VDISABLE -#endif /* CDSWTCH */ -#ifndef CERASE2 -# define CERASE2 _POSIX_VDISABLE -#endif /* CERASE2 */ -#ifndef CSTART -# define CSTART CONTROL('q') -#endif /* CSTART */ -#ifndef CSTOP -# define CSTOP CONTROL('s') -#endif /* CSTOP */ -#ifndef CSUSP -# define CSUSP CONTROL('z') -#endif /* CSUSP */ -#ifndef CDSUSP -# define CDSUSP CONTROL('y') -#endif /* CDSUSP */ - -#ifdef hpux - -# ifndef CREPRINT -# define CREPRINT _POSIX_VDISABLE -# endif /* CREPRINT */ -# ifndef CDISCARD -# define CDISCARD _POSIX_VDISABLE -# endif /* CDISCARD */ -# ifndef CLNEXT -# define CLNEXT _POSIX_VDISABLE -# endif /* CLNEXT */ -# ifndef CWERASE -# define CWERASE _POSIX_VDISABLE -# endif /* CWERASE */ - -#else /* !hpux */ - -# ifndef CREPRINT -# define CREPRINT CONTROL('r') -# endif /* CREPRINT */ -# ifndef CDISCARD -# define CDISCARD CONTROL('o') -# endif /* CDISCARD */ -# ifndef CLNEXT -# define CLNEXT CONTROL('v') -# endif /* CLNEXT */ -# ifndef CWERASE -# define CWERASE CONTROL('w') -# endif /* CWERASE */ - -#endif /* hpux */ - -#ifndef CSTATUS -# define CSTATUS CONTROL('t') -#endif /* CSTATUS */ -#ifndef CPAGE -# define CPAGE ' ' -#endif /* CPAGE */ -#ifndef CPGOFF -# define CPGOFF CONTROL('m') -#endif /* CPGOFF */ -#ifndef CKILL2 -# define CKILL2 _POSIX_VDISABLE -#endif /* CKILL2 */ -#ifndef CBRK -# ifndef masscomp -# define CBRK 0377 -# else -# define CBRK '\0' -# endif /* masscomp */ -#endif /* CBRK */ -#ifndef CMIN -# define CMIN CEOF -#endif /* CMIN */ -#ifndef CTIME -# define CTIME CEOL -#endif /* CTIME */ - -/* - * Fix for sun inconsistency. On termio VSUSP and the rest of the - * ttychars > NCC are defined. So we undefine them. - */ -#if defined(TERMIO) || defined(POSIX) -# if defined(POSIX) && defined(NCCS) -# define NUMCC NCCS -# else -# ifdef NCC -# define NUMCC NCC -# endif /* NCC */ -# endif /* POSIX && NCCS */ -# ifdef NUMCC -# ifdef VINTR -# if NUMCC <= VINTR -# undef VINTR -# endif /* NUMCC <= VINTR */ -# endif /* VINTR */ -# ifdef VQUIT -# if NUMCC <= VQUIT -# undef VQUIT -# endif /* NUMCC <= VQUIT */ -# endif /* VQUIT */ -# ifdef VERASE -# if NUMCC <= VERASE -# undef VERASE -# endif /* NUMCC <= VERASE */ -# endif /* VERASE */ -# ifdef VKILL -# if NUMCC <= VKILL -# undef VKILL -# endif /* NUMCC <= VKILL */ -# endif /* VKILL */ -# ifdef VEOF -# if NUMCC <= VEOF -# undef VEOF -# endif /* NUMCC <= VEOF */ -# endif /* VEOF */ -# ifdef VEOL -# if NUMCC <= VEOL -# undef VEOL -# endif /* NUMCC <= VEOL */ -# endif /* VEOL */ -# ifdef VEOL2 -# if NUMCC <= VEOL2 -# undef VEOL2 -# endif /* NUMCC <= VEOL2 */ -# endif /* VEOL2 */ -# ifdef VSWTCH -# if NUMCC <= VSWTCH -# undef VSWTCH -# endif /* NUMCC <= VSWTCH */ -# endif /* VSWTCH */ -# ifdef VDSWTCH -# if NUMCC <= VDSWTCH -# undef VDSWTCH -# endif /* NUMCC <= VDSWTCH */ -# endif /* VDSWTCH */ -# ifdef VERASE2 -# if NUMCC <= VERASE2 -# undef VERASE2 -# endif /* NUMCC <= VERASE2 */ -# endif /* VERASE2 */ -# ifdef VSTART -# if NUMCC <= VSTART -# undef VSTART -# endif /* NUMCC <= VSTART */ -# endif /* VSTART */ -# ifdef VSTOP -# if NUMCC <= VSTOP -# undef VSTOP -# endif /* NUMCC <= VSTOP */ -# endif /* VSTOP */ -# ifdef VWERASE -# if NUMCC <= VWERASE -# undef VWERASE -# endif /* NUMCC <= VWERASE */ -# endif /* VWERASE */ -# ifdef VSUSP -# if NUMCC <= VSUSP -# undef VSUSP -# endif /* NUMCC <= VSUSP */ -# endif /* VSUSP */ -# ifdef VDSUSP -# if NUMCC <= VDSUSP -# undef VDSUSP -# endif /* NUMCC <= VDSUSP */ -# endif /* VDSUSP */ -# ifdef VREPRINT -# if NUMCC <= VREPRINT -# undef VREPRINT -# endif /* NUMCC <= VREPRINT */ -# endif /* VREPRINT */ -# ifdef VDISCARD -# if NUMCC <= VDISCARD -# undef VDISCARD -# endif /* NUMCC <= VDISCARD */ -# endif /* VDISCARD */ -# ifdef VLNEXT -# if NUMCC <= VLNEXT -# undef VLNEXT -# endif /* NUMCC <= VLNEXT */ -# endif /* VLNEXT */ -# ifdef VSTATUS -# if NUMCC <= VSTATUS -# undef VSTATUS -# endif /* NUMCC <= VSTATUS */ -# endif /* VSTATUS */ -# ifdef VPAGE -# if NUMCC <= VPAGE -# undef VPAGE -# endif /* NUMCC <= VPAGE */ -# endif /* VPAGE */ -# ifdef VPGOFF -# if NUMCC <= VPGOFF -# undef VPGOFF -# endif /* NUMCC <= VPGOFF */ -# endif /* VPGOFF */ -# ifdef VKILL2 -# if NUMCC <= VKILL2 -# undef VKILL2 -# endif /* NUMCC <= VKILL2 */ -# endif /* VKILL2 */ -# ifdef VBRK -# if NUMCC <= VBRK -# undef VBRK -# endif /* NUMCC <= VBRK */ -# endif /* VBRK */ -# ifdef VMIN -# if NUMCC <= VMIN -# undef VMIN -# endif /* NUMCC <= VMIN */ -# endif /* VMIN */ -# ifdef VTIME -# if NUMCC <= VTIME -# undef VTIME -# endif /* NUMCC <= VTIME */ -# endif /* VTIME */ -# endif /* NUMCC */ -#endif /* !POSIX */ - -#define C_INTR 0 -#define C_QUIT 1 -#define C_ERASE 2 -#define C_KILL 3 -#define C_EOF 4 -#define C_EOL 5 -#define C_EOL2 6 -#define C_SWTCH 7 -#define C_DSWTCH 8 -#define C_ERASE2 9 -#define C_START 10 -#define C_STOP 11 -#define C_WERASE 12 -#define C_SUSP 13 -#define C_DSUSP 14 -#define C_REPRINT 15 -#define C_DISCARD 16 -#define C_LNEXT 17 -#define C_STATUS 18 -#define C_PAGE 19 -#define C_PGOFF 20 -#define C_KILL2 21 -#define C_BRK 22 -#define C_MIN 23 -#define C_TIME 24 -#define C_NCC 25 -#define C_SH(A) ((unsigned int)(1 << (A))) - -/* - * Terminal dependend data structures - */ -#define EX_IO 0 /* while we are executing */ -#define ED_IO 1 /* while we are editing */ -#define TS_IO 2 /* new mode from terminal */ -#define QU_IO 2 /* used only for quoted chars */ -#define NN_IO 3 /* The number of entries */ - -/* Don't re-order */ -#define MD_INP 0 -#define MD_OUT 1 -#define MD_CTL 2 -#define MD_LIN 3 -#define MD_CHAR 4 -#define MD_NN 5 - -typedef struct { - const char *t_name; - unsigned int t_setmask; - unsigned int t_clrmask; -} ttyperm_t[NN_IO][MD_NN]; - -typedef unsigned char ttychar_t[NN_IO][C_NCC]; - -libedit_private int tty_init(EditLine *); -libedit_private void tty_end(EditLine *, int); -libedit_private int tty_stty(EditLine *, int, const wchar_t **); -libedit_private int tty_rawmode(EditLine *); -libedit_private int tty_cookedmode(EditLine *); -libedit_private int tty_quotemode(EditLine *); -libedit_private int tty_noquotemode(EditLine *); -libedit_private void tty_bind_char(EditLine *, int); -libedit_private int tty_get_signal_character(EditLine *, int); - -typedef struct { - ttyperm_t t_t; - ttychar_t t_c; - struct termios t_or, t_ex, t_ed, t_ts; - int t_tabs; - int t_eight; - speed_t t_speed; - unsigned char t_mode; - unsigned char t_vdisable; - unsigned char t_initialized; -} el_tty_t; - - -#endif /* _h_el_tty */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/unvis.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/unvis.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/unvis.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/unvis.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,560 +0,0 @@ -/* $NetBSD: unvis.c,v 1.44 2014/09/26 15:43:36 roy Exp $ */ - -/*- - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if defined(LIBC_SCCS) && !defined(lint) -#if 0 -static char sccsid[] = "@(#)unvis.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: unvis.c,v 1.44 2014/09/26 15:43:36 roy Exp $"); -#endif -#endif /* LIBC_SCCS and not lint */ - -#include - -#include -#include -#ifdef HAVE_STDINT_H -#include -#endif -#include -#include -#include - -#ifdef __weak_alias -__weak_alias(strnunvisx,_strnunvisx) -#endif - -#if !HAVE_VIS -/* - * decode driven by state machine - */ -#define S_GROUND 0 /* haven't seen escape char */ -#define S_START 1 /* start decoding special sequence */ -#define S_META 2 /* metachar started (M) */ -#define S_META1 3 /* metachar more, regular char (-) */ -#define S_CTRL 4 /* control char started (^) */ -#define S_OCTAL2 5 /* octal digit 2 */ -#define S_OCTAL3 6 /* octal digit 3 */ -#define S_HEX 7 /* mandatory hex digit */ -#define S_HEX1 8 /* http hex digit */ -#define S_HEX2 9 /* http hex digit 2 */ -#define S_MIME1 10 /* mime hex digit 1 */ -#define S_MIME2 11 /* mime hex digit 2 */ -#define S_EATCRNL 12 /* mime eating CRNL */ -#define S_AMP 13 /* seen & */ -#define S_NUMBER 14 /* collecting number */ -#define S_STRING 15 /* collecting string */ - -#define isoctal(c) (((u_char)(c)) >= '0' && ((u_char)(c)) <= '7') -#define xtod(c) (isdigit(c) ? (c - '0') : ((tolower(c) - 'a') + 10)) -#define XTOD(c) (isdigit(c) ? (c - '0') : ((c - 'A') + 10)) - -/* - * RFC 1866 - */ -static const struct nv { - char name[7]; - uint8_t value; -} nv[] = { - { "AElig", 198 }, /* capital AE diphthong (ligature) */ - { "Aacute", 193 }, /* capital A, acute accent */ - { "Acirc", 194 }, /* capital A, circumflex accent */ - { "Agrave", 192 }, /* capital A, grave accent */ - { "Aring", 197 }, /* capital A, ring */ - { "Atilde", 195 }, /* capital A, tilde */ - { "Auml", 196 }, /* capital A, dieresis or umlaut mark */ - { "Ccedil", 199 }, /* capital C, cedilla */ - { "ETH", 208 }, /* capital Eth, Icelandic */ - { "Eacute", 201 }, /* capital E, acute accent */ - { "Ecirc", 202 }, /* capital E, circumflex accent */ - { "Egrave", 200 }, /* capital E, grave accent */ - { "Euml", 203 }, /* capital E, dieresis or umlaut mark */ - { "Iacute", 205 }, /* capital I, acute accent */ - { "Icirc", 206 }, /* capital I, circumflex accent */ - { "Igrave", 204 }, /* capital I, grave accent */ - { "Iuml", 207 }, /* capital I, dieresis or umlaut mark */ - { "Ntilde", 209 }, /* capital N, tilde */ - { "Oacute", 211 }, /* capital O, acute accent */ - { "Ocirc", 212 }, /* capital O, circumflex accent */ - { "Ograve", 210 }, /* capital O, grave accent */ - { "Oslash", 216 }, /* capital O, slash */ - { "Otilde", 213 }, /* capital O, tilde */ - { "Ouml", 214 }, /* capital O, dieresis or umlaut mark */ - { "THORN", 222 }, /* capital THORN, Icelandic */ - { "Uacute", 218 }, /* capital U, acute accent */ - { "Ucirc", 219 }, /* capital U, circumflex accent */ - { "Ugrave", 217 }, /* capital U, grave accent */ - { "Uuml", 220 }, /* capital U, dieresis or umlaut mark */ - { "Yacute", 221 }, /* capital Y, acute accent */ - { "aacute", 225 }, /* small a, acute accent */ - { "acirc", 226 }, /* small a, circumflex accent */ - { "acute", 180 }, /* acute accent */ - { "aelig", 230 }, /* small ae diphthong (ligature) */ - { "agrave", 224 }, /* small a, grave accent */ - { "amp", 38 }, /* ampersand */ - { "aring", 229 }, /* small a, ring */ - { "atilde", 227 }, /* small a, tilde */ - { "auml", 228 }, /* small a, dieresis or umlaut mark */ - { "brvbar", 166 }, /* broken (vertical) bar */ - { "ccedil", 231 }, /* small c, cedilla */ - { "cedil", 184 }, /* cedilla */ - { "cent", 162 }, /* cent sign */ - { "copy", 169 }, /* copyright sign */ - { "curren", 164 }, /* general currency sign */ - { "deg", 176 }, /* degree sign */ - { "divide", 247 }, /* divide sign */ - { "eacute", 233 }, /* small e, acute accent */ - { "ecirc", 234 }, /* small e, circumflex accent */ - { "egrave", 232 }, /* small e, grave accent */ - { "eth", 240 }, /* small eth, Icelandic */ - { "euml", 235 }, /* small e, dieresis or umlaut mark */ - { "frac12", 189 }, /* fraction one-half */ - { "frac14", 188 }, /* fraction one-quarter */ - { "frac34", 190 }, /* fraction three-quarters */ - { "gt", 62 }, /* greater than */ - { "iacute", 237 }, /* small i, acute accent */ - { "icirc", 238 }, /* small i, circumflex accent */ - { "iexcl", 161 }, /* inverted exclamation mark */ - { "igrave", 236 }, /* small i, grave accent */ - { "iquest", 191 }, /* inverted question mark */ - { "iuml", 239 }, /* small i, dieresis or umlaut mark */ - { "laquo", 171 }, /* angle quotation mark, left */ - { "lt", 60 }, /* less than */ - { "macr", 175 }, /* macron */ - { "micro", 181 }, /* micro sign */ - { "middot", 183 }, /* middle dot */ - { "nbsp", 160 }, /* no-break space */ - { "not", 172 }, /* not sign */ - { "ntilde", 241 }, /* small n, tilde */ - { "oacute", 243 }, /* small o, acute accent */ - { "ocirc", 244 }, /* small o, circumflex accent */ - { "ograve", 242 }, /* small o, grave accent */ - { "ordf", 170 }, /* ordinal indicator, feminine */ - { "ordm", 186 }, /* ordinal indicator, masculine */ - { "oslash", 248 }, /* small o, slash */ - { "otilde", 245 }, /* small o, tilde */ - { "ouml", 246 }, /* small o, dieresis or umlaut mark */ - { "para", 182 }, /* pilcrow (paragraph sign) */ - { "plusmn", 177 }, /* plus-or-minus sign */ - { "pound", 163 }, /* pound sterling sign */ - { "quot", 34 }, /* double quote */ - { "raquo", 187 }, /* angle quotation mark, right */ - { "reg", 174 }, /* registered sign */ - { "sect", 167 }, /* section sign */ - { "shy", 173 }, /* soft hyphen */ - { "sup1", 185 }, /* superscript one */ - { "sup2", 178 }, /* superscript two */ - { "sup3", 179 }, /* superscript three */ - { "szlig", 223 }, /* small sharp s, German (sz ligature) */ - { "thorn", 254 }, /* small thorn, Icelandic */ - { "times", 215 }, /* multiply sign */ - { "uacute", 250 }, /* small u, acute accent */ - { "ucirc", 251 }, /* small u, circumflex accent */ - { "ugrave", 249 }, /* small u, grave accent */ - { "uml", 168 }, /* umlaut (dieresis) */ - { "uuml", 252 }, /* small u, dieresis or umlaut mark */ - { "yacute", 253 }, /* small y, acute accent */ - { "yen", 165 }, /* yen sign */ - { "yuml", 255 }, /* small y, dieresis or umlaut mark */ -}; - -/* - * unvis - decode characters previously encoded by vis - */ -int -unvis(char *cp, int c, int *astate, int flag) -{ - unsigned char uc = (unsigned char)c; - unsigned char st, ia, is, lc; - -/* - * Bottom 8 bits of astate hold the state machine state. - * Top 8 bits hold the current character in the http 1866 nv string decoding - */ -#define GS(a) ((a) & 0xff) -#define SS(a, b) (((uint32_t)(a) << 24) | (b)) -#define GI(a) ((uint32_t)(a) >> 24) - - _DIAGASSERT(cp != NULL); - _DIAGASSERT(astate != NULL); - st = GS(*astate); - - if (flag & UNVIS_END) { - switch (st) { - case S_OCTAL2: - case S_OCTAL3: - case S_HEX2: - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case S_GROUND: - return UNVIS_NOCHAR; - default: - return UNVIS_SYNBAD; - } - } - - switch (st) { - - case S_GROUND: - *cp = 0; - if ((flag & VIS_NOESCAPE) == 0 && c == '\\') { - *astate = SS(0, S_START); - return UNVIS_NOCHAR; - } - if ((flag & VIS_HTTP1808) && c == '%') { - *astate = SS(0, S_HEX1); - return UNVIS_NOCHAR; - } - if ((flag & VIS_HTTP1866) && c == '&') { - *astate = SS(0, S_AMP); - return UNVIS_NOCHAR; - } - if ((flag & VIS_MIMESTYLE) && c == '=') { - *astate = SS(0, S_MIME1); - return UNVIS_NOCHAR; - } - *cp = c; - return UNVIS_VALID; - - case S_START: - switch(c) { - case '\\': - *cp = c; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - *cp = (c - '0'); - *astate = SS(0, S_OCTAL2); - return UNVIS_NOCHAR; - case 'M': - *cp = (char)0200; - *astate = SS(0, S_META); - return UNVIS_NOCHAR; - case '^': - *astate = SS(0, S_CTRL); - return UNVIS_NOCHAR; - case 'n': - *cp = '\n'; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case 'r': - *cp = '\r'; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case 'b': - *cp = '\b'; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case 'a': - *cp = '\007'; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case 'v': - *cp = '\v'; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case 't': - *cp = '\t'; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case 'f': - *cp = '\f'; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case 's': - *cp = ' '; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case 'E': - *cp = '\033'; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - case 'x': - *astate = SS(0, S_HEX); - return UNVIS_NOCHAR; - case '\n': - /* - * hidden newline - */ - *astate = SS(0, S_GROUND); - return UNVIS_NOCHAR; - case '$': - /* - * hidden marker - */ - *astate = SS(0, S_GROUND); - return UNVIS_NOCHAR; - default: - if (isgraph(c)) { - *cp = c; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - } - } - goto bad; - - case S_META: - if (c == '-') - *astate = SS(0, S_META1); - else if (c == '^') - *astate = SS(0, S_CTRL); - else - goto bad; - return UNVIS_NOCHAR; - - case S_META1: - *astate = SS(0, S_GROUND); - *cp |= c; - return UNVIS_VALID; - - case S_CTRL: - if (c == '?') - *cp |= 0177; - else - *cp |= c & 037; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - - case S_OCTAL2: /* second possible octal digit */ - if (isoctal(uc)) { - /* - * yes - and maybe a third - */ - *cp = (*cp << 3) + (c - '0'); - *astate = SS(0, S_OCTAL3); - return UNVIS_NOCHAR; - } - /* - * no - done with current sequence, push back passed char - */ - *astate = SS(0, S_GROUND); - return UNVIS_VALIDPUSH; - - case S_OCTAL3: /* third possible octal digit */ - *astate = SS(0, S_GROUND); - if (isoctal(uc)) { - *cp = (*cp << 3) + (c - '0'); - return UNVIS_VALID; - } - /* - * we were done, push back passed char - */ - return UNVIS_VALIDPUSH; - - case S_HEX: - if (!isxdigit(uc)) - goto bad; - /*FALLTHROUGH*/ - case S_HEX1: - if (isxdigit(uc)) { - *cp = xtod(uc); - *astate = SS(0, S_HEX2); - return UNVIS_NOCHAR; - } - /* - * no - done with current sequence, push back passed char - */ - *astate = SS(0, S_GROUND); - return UNVIS_VALIDPUSH; - - case S_HEX2: - *astate = S_GROUND; - if (isxdigit(uc)) { - *cp = xtod(uc) | (*cp << 4); - return UNVIS_VALID; - } - return UNVIS_VALIDPUSH; - - case S_MIME1: - if (uc == '\n' || uc == '\r') { - *astate = SS(0, S_EATCRNL); - return UNVIS_NOCHAR; - } - if (isxdigit(uc) && (isdigit(uc) || isupper(uc))) { - *cp = XTOD(uc); - *astate = SS(0, S_MIME2); - return UNVIS_NOCHAR; - } - goto bad; - - case S_MIME2: - if (isxdigit(uc) && (isdigit(uc) || isupper(uc))) { - *astate = SS(0, S_GROUND); - *cp = XTOD(uc) | (*cp << 4); - return UNVIS_VALID; - } - goto bad; - - case S_EATCRNL: - switch (uc) { - case '\r': - case '\n': - return UNVIS_NOCHAR; - case '=': - *astate = SS(0, S_MIME1); - return UNVIS_NOCHAR; - default: - *cp = uc; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - } - - case S_AMP: - *cp = 0; - if (uc == '#') { - *astate = SS(0, S_NUMBER); - return UNVIS_NOCHAR; - } - *astate = SS(0, S_STRING); - /*FALLTHROUGH*/ - - case S_STRING: - ia = *cp; /* index in the array */ - is = GI(*astate); /* index in the string */ - lc = is == 0 ? 0 : nv[ia].name[is - 1]; /* last character */ - - if (uc == ';') - uc = '\0'; - - for (; ia < __arraycount(nv); ia++) { - if (is != 0 && nv[ia].name[is - 1] != lc) - goto bad; - if (nv[ia].name[is] == uc) - break; - } - - if (ia == __arraycount(nv)) - goto bad; - - if (uc != 0) { - *cp = ia; - *astate = SS(is + 1, S_STRING); - return UNVIS_NOCHAR; - } - - *cp = nv[ia].value; - *astate = SS(0, S_GROUND); - return UNVIS_VALID; - - case S_NUMBER: - if (uc == ';') - return UNVIS_VALID; - if (!isdigit(uc)) - goto bad; - *cp += (*cp * 10) + uc - '0'; - return UNVIS_NOCHAR; - - default: - bad: - /* - * decoder in unknown state - (probably uninitialized) - */ - *astate = SS(0, S_GROUND); - return UNVIS_SYNBAD; - } -} - -/* - * strnunvisx - decode src into dst - * - * Number of chars decoded into dst is returned, -1 on error. - * Dst is null terminated. - */ - -int -strnunvisx(char *dst, size_t dlen, const char *src, int flag) -{ - char c; - char t = '\0', *start = dst; - int state = 0; - - _DIAGASSERT(src != NULL); - _DIAGASSERT(dst != NULL); -#define CHECKSPACE() \ - do { \ - if (dlen-- == 0) { \ - errno = ENOSPC; \ - return -1; \ - } \ - } while (/*CONSTCOND*/0) - - while ((c = *src++) != '\0') { - again: - switch (unvis(&t, c, &state, flag)) { - case UNVIS_VALID: - CHECKSPACE(); - *dst++ = t; - break; - case UNVIS_VALIDPUSH: - CHECKSPACE(); - *dst++ = t; - goto again; - case 0: - case UNVIS_NOCHAR: - break; - case UNVIS_SYNBAD: - errno = EINVAL; - return -1; - default: - _DIAGASSERT(/*CONSTCOND*/0); - errno = EINVAL; - return -1; - } - } - if (unvis(&t, c, &state, UNVIS_END) == UNVIS_VALID) { - CHECKSPACE(); - *dst++ = t; - } - CHECKSPACE(); - *dst = '\0'; - return (int)(dst - start); -} - -int -strunvisx(char *dst, const char *src, int flag) -{ - return strnunvisx(dst, (size_t)~0, src, flag); -} - -int -strunvis(char *dst, const char *src) -{ - return strnunvisx(dst, (size_t)~0, src, 0); -} - -int -strnunvis(char *dst, size_t dlen, const char *src) -{ - return strnunvisx(dst, dlen, src, 0); -} -#endif diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/vi.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/vi.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/vi.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/vi.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1157 +0,0 @@ -/* $NetBSD: vi.c,v 1.62 2016/05/09 21:46:56 christos Exp $ */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Christos Zoulas of Cornell University. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include "config.h" -#if !defined(lint) && !defined(SCCSID) -#if 0 -static char sccsid[] = "@(#)vi.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: vi.c,v 1.62 2016/05/09 21:46:56 christos Exp $"); -#endif -#endif /* not lint && not SCCSID */ - -/* - * vi.c: Vi mode commands. - */ -#include -#include -#include -#include -#include -#include - -#include "el.h" -#include "common.h" -#include "emacs.h" -#include "fcns.h" -#include "vi.h" - -static el_action_t cv_action(EditLine *, wint_t); -static el_action_t cv_paste(EditLine *, wint_t); - -/* cv_action(): - * Handle vi actions. - */ -static el_action_t -cv_action(EditLine *el, wint_t c) -{ - - if (el->el_chared.c_vcmd.action != NOP) { - /* 'cc', 'dd' and (possibly) friends */ - if (c != (wint_t)el->el_chared.c_vcmd.action) - return CC_ERROR; - - if (!(c & YANK)) - cv_undo(el); - cv_yank(el, el->el_line.buffer, - (int)(el->el_line.lastchar - el->el_line.buffer)); - el->el_chared.c_vcmd.action = NOP; - el->el_chared.c_vcmd.pos = 0; - if (!(c & YANK)) { - el->el_line.lastchar = el->el_line.buffer; - el->el_line.cursor = el->el_line.buffer; - } - if (c & INSERT) - el->el_map.current = el->el_map.key; - - return CC_REFRESH; - } - el->el_chared.c_vcmd.pos = el->el_line.cursor; - el->el_chared.c_vcmd.action = c; - return CC_ARGHACK; -} - -/* cv_paste(): - * Paste previous deletion before or after the cursor - */ -static el_action_t -cv_paste(EditLine *el, wint_t c) -{ - c_kill_t *k = &el->el_chared.c_kill; - size_t len = (size_t)(k->last - k->buf); - - if (k->buf == NULL || len == 0) - return CC_ERROR; -#ifdef DEBUG_PASTE - (void) fprintf(el->el_errfile, "Paste: \"%.*ls\"\n", (int)len, - k->buf); -#endif - - cv_undo(el); - - if (!c && el->el_line.cursor < el->el_line.lastchar) - el->el_line.cursor++; - - c_insert(el, (int)len); - if (el->el_line.cursor + len > el->el_line.lastchar) - return CC_ERROR; - (void) memcpy(el->el_line.cursor, k->buf, len * - sizeof(*el->el_line.cursor)); - - return CC_REFRESH; -} - - -/* vi_paste_next(): - * Vi paste previous deletion to the right of the cursor - * [p] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_paste_next(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - return cv_paste(el, 0); -} - - -/* vi_paste_prev(): - * Vi paste previous deletion to the left of the cursor - * [P] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_paste_prev(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - return cv_paste(el, 1); -} - - -/* vi_prev_big_word(): - * Vi move to the previous space delimited word - * [B] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_prev_big_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor == el->el_line.buffer) - return CC_ERROR; - - el->el_line.cursor = cv_prev_word(el->el_line.cursor, - el->el_line.buffer, - el->el_state.argument, - cv__isWord); - - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - - -/* vi_prev_word(): - * Vi move to the previous word - * [b] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor == el->el_line.buffer) - return CC_ERROR; - - el->el_line.cursor = cv_prev_word(el->el_line.cursor, - el->el_line.buffer, - el->el_state.argument, - cv__isword); - - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - - -/* vi_next_big_word(): - * Vi move to the next space delimited word - * [W] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_next_big_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor >= el->el_line.lastchar - 1) - return CC_ERROR; - - el->el_line.cursor = cv_next_word(el, el->el_line.cursor, - el->el_line.lastchar, el->el_state.argument, cv__isWord); - - if (el->el_map.type == MAP_VI) - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - - -/* vi_next_word(): - * Vi move to the next word - * [w] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_next_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor >= el->el_line.lastchar - 1) - return CC_ERROR; - - el->el_line.cursor = cv_next_word(el, el->el_line.cursor, - el->el_line.lastchar, el->el_state.argument, cv__isword); - - if (el->el_map.type == MAP_VI) - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - - -/* vi_change_case(): - * Vi change case of character under the cursor and advance one character - * [~] - */ -libedit_private el_action_t -vi_change_case(EditLine *el, wint_t c) -{ - int i; - - if (el->el_line.cursor >= el->el_line.lastchar) - return CC_ERROR; - cv_undo(el); - for (i = 0; i < el->el_state.argument; i++) { - - c = *el->el_line.cursor; - if (iswupper(c)) - *el->el_line.cursor = towlower(c); - else if (iswlower(c)) - *el->el_line.cursor = towupper(c); - - if (++el->el_line.cursor >= el->el_line.lastchar) { - el->el_line.cursor--; - re_fastaddc(el); - break; - } - re_fastaddc(el); - } - return CC_NORM; -} - - -/* vi_change_meta(): - * Vi change prefix command - * [c] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_change_meta(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - /* - * Delete with insert == change: first we delete and then we leave in - * insert mode. - */ - return cv_action(el, DELETE | INSERT); -} - - -/* vi_insert_at_bol(): - * Vi enter insert mode at the beginning of line - * [I] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_insert_at_bol(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_line.cursor = el->el_line.buffer; - cv_undo(el); - el->el_map.current = el->el_map.key; - return CC_CURSOR; -} - - -/* vi_replace_char(): - * Vi replace character under the cursor with the next character typed - * [r] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_replace_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor >= el->el_line.lastchar) - return CC_ERROR; - - el->el_map.current = el->el_map.key; - el->el_state.inputmode = MODE_REPLACE_1; - cv_undo(el); - return CC_ARGHACK; -} - - -/* vi_replace_mode(): - * Vi enter replace mode - * [R] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_replace_mode(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_map.current = el->el_map.key; - el->el_state.inputmode = MODE_REPLACE; - cv_undo(el); - return CC_NORM; -} - - -/* vi_substitute_char(): - * Vi replace character under the cursor and enter insert mode - * [s] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_substitute_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - c_delafter(el, el->el_state.argument); - el->el_map.current = el->el_map.key; - return CC_REFRESH; -} - - -/* vi_substitute_line(): - * Vi substitute entire line - * [S] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_substitute_line(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - cv_undo(el); - cv_yank(el, el->el_line.buffer, - (int)(el->el_line.lastchar - el->el_line.buffer)); - (void) em_kill_line(el, 0); - el->el_map.current = el->el_map.key; - return CC_REFRESH; -} - - -/* vi_change_to_eol(): - * Vi change to end of line - * [C] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_change_to_eol(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - cv_undo(el); - cv_yank(el, el->el_line.cursor, - (int)(el->el_line.lastchar - el->el_line.cursor)); - (void) ed_kill_line(el, 0); - el->el_map.current = el->el_map.key; - return CC_REFRESH; -} - - -/* vi_insert(): - * Vi enter insert mode - * [i] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_insert(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_map.current = el->el_map.key; - cv_undo(el); - return CC_NORM; -} - - -/* vi_add(): - * Vi enter insert mode after the cursor - * [a] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_add(EditLine *el, wint_t c __attribute__((__unused__))) -{ - int ret; - - el->el_map.current = el->el_map.key; - if (el->el_line.cursor < el->el_line.lastchar) { - el->el_line.cursor++; - if (el->el_line.cursor > el->el_line.lastchar) - el->el_line.cursor = el->el_line.lastchar; - ret = CC_CURSOR; - } else - ret = CC_NORM; - - cv_undo(el); - - return (el_action_t)ret; -} - - -/* vi_add_at_eol(): - * Vi enter insert mode at end of line - * [A] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_add_at_eol(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_map.current = el->el_map.key; - el->el_line.cursor = el->el_line.lastchar; - cv_undo(el); - return CC_CURSOR; -} - - -/* vi_delete_meta(): - * Vi delete prefix command - * [d] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_delete_meta(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - return cv_action(el, DELETE); -} - - -/* vi_end_big_word(): - * Vi move to the end of the current space delimited word - * [E] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_end_big_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor == el->el_line.lastchar) - return CC_ERROR; - - el->el_line.cursor = cv__endword(el->el_line.cursor, - el->el_line.lastchar, el->el_state.argument, cv__isWord); - - if (el->el_chared.c_vcmd.action != NOP) { - el->el_line.cursor++; - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - - -/* vi_end_word(): - * Vi move to the end of the current word - * [e] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_end_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor == el->el_line.lastchar) - return CC_ERROR; - - el->el_line.cursor = cv__endword(el->el_line.cursor, - el->el_line.lastchar, el->el_state.argument, cv__isword); - - if (el->el_chared.c_vcmd.action != NOP) { - el->el_line.cursor++; - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - - -/* vi_undo(): - * Vi undo last change - * [u] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_undo(EditLine *el, wint_t c __attribute__((__unused__))) -{ - c_undo_t un = el->el_chared.c_undo; - - if (un.len == -1) - return CC_ERROR; - - /* switch line buffer and undo buffer */ - el->el_chared.c_undo.buf = el->el_line.buffer; - el->el_chared.c_undo.len = el->el_line.lastchar - el->el_line.buffer; - el->el_chared.c_undo.cursor = - (int)(el->el_line.cursor - el->el_line.buffer); - el->el_line.limit = un.buf + (el->el_line.limit - el->el_line.buffer); - el->el_line.buffer = un.buf; - el->el_line.cursor = un.buf + un.cursor; - el->el_line.lastchar = un.buf + un.len; - - return CC_REFRESH; -} - - -/* vi_command_mode(): - * Vi enter command mode (use alternative key bindings) - * [] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_command_mode(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - /* [Esc] cancels pending action */ - el->el_chared.c_vcmd.action = NOP; - el->el_chared.c_vcmd.pos = 0; - - el->el_state.doingarg = 0; - - el->el_state.inputmode = MODE_INSERT; - el->el_map.current = el->el_map.alt; -#ifdef VI_MOVE - if (el->el_line.cursor > el->el_line.buffer) - el->el_line.cursor--; -#endif - return CC_CURSOR; -} - - -/* vi_zero(): - * Vi move to the beginning of line - * [0] - */ -libedit_private el_action_t -vi_zero(EditLine *el, wint_t c) -{ - - if (el->el_state.doingarg) - return ed_argument_digit(el, c); - - el->el_line.cursor = el->el_line.buffer; - if (el->el_chared.c_vcmd.action != NOP) { - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - - -/* vi_delete_prev_char(): - * Vi move to previous character (backspace) - * [^H] in insert mode only - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_line.cursor <= el->el_line.buffer) - return CC_ERROR; - - c_delbefore1(el); - el->el_line.cursor--; - return CC_REFRESH; -} - - -/* vi_list_or_eof(): - * Vi list choices for completion or indicate end of file if empty line - * [^D] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_list_or_eof(EditLine *el, wint_t c) -{ - - if (el->el_line.cursor == el->el_line.lastchar) { - if (el->el_line.cursor == el->el_line.buffer) { - terminal_writec(el, c); /* then do a EOF */ - return CC_EOF; - } else { - /* - * Here we could list completions, but it is an - * error right now - */ - terminal_beep(el); - return CC_ERROR; - } - } else { -#ifdef notyet - re_goto_bottom(el); - *el->el_line.lastchar = '\0'; /* just in case */ - return CC_LIST_CHOICES; -#else - /* - * Just complain for now. - */ - terminal_beep(el); - return CC_ERROR; -#endif - } -} - - -/* vi_kill_line_prev(): - * Vi cut from beginning of line to cursor - * [^U] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_kill_line_prev(EditLine *el, wint_t c __attribute__((__unused__))) -{ - wchar_t *kp, *cp; - - cp = el->el_line.buffer; - kp = el->el_chared.c_kill.buf; - while (cp < el->el_line.cursor) - *kp++ = *cp++; /* copy it */ - el->el_chared.c_kill.last = kp; - c_delbefore(el, (int)(el->el_line.cursor - el->el_line.buffer)); - el->el_line.cursor = el->el_line.buffer; /* zap! */ - return CC_REFRESH; -} - - -/* vi_search_prev(): - * Vi search history previous - * [?] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_search_prev(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - return cv_search(el, ED_SEARCH_PREV_HISTORY); -} - - -/* vi_search_next(): - * Vi search history next - * [/] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_search_next(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - return cv_search(el, ED_SEARCH_NEXT_HISTORY); -} - - -/* vi_repeat_search_next(): - * Vi repeat current search in the same search direction - * [n] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_repeat_search_next(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_search.patlen == 0) - return CC_ERROR; - else - return cv_repeat_srch(el, el->el_search.patdir); -} - - -/* vi_repeat_search_prev(): - * Vi repeat current search in the opposite search direction - * [N] - */ -/*ARGSUSED*/ -libedit_private el_action_t -vi_repeat_search_prev(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - if (el->el_search.patlen == 0) - return CC_ERROR; - else - return (cv_repeat_srch(el, - el->el_search.patdir == ED_SEARCH_PREV_HISTORY ? - ED_SEARCH_NEXT_HISTORY : ED_SEARCH_PREV_HISTORY)); -} - - -/* vi_next_char(): - * Vi move to the character specified next - * [f] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_next_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - return cv_csearch(el, CHAR_FWD, -1, el->el_state.argument, 0); -} - - -/* vi_prev_char(): - * Vi move to the character specified previous - * [F] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - return cv_csearch(el, CHAR_BACK, -1, el->el_state.argument, 0); -} - - -/* vi_to_next_char(): - * Vi move up to the character specified next - * [t] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_to_next_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - return cv_csearch(el, CHAR_FWD, -1, el->el_state.argument, 1); -} - - -/* vi_to_prev_char(): - * Vi move up to the character specified previous - * [T] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_to_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - return cv_csearch(el, CHAR_BACK, -1, el->el_state.argument, 1); -} - - -/* vi_repeat_next_char(): - * Vi repeat current character search in the same search direction - * [;] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_repeat_next_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - return cv_csearch(el, el->el_search.chadir, el->el_search.chacha, - el->el_state.argument, el->el_search.chatflg); -} - - -/* vi_repeat_prev_char(): - * Vi repeat current character search in the opposite search direction - * [,] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_repeat_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) -{ - el_action_t r; - int dir = el->el_search.chadir; - - r = cv_csearch(el, -dir, el->el_search.chacha, - el->el_state.argument, el->el_search.chatflg); - el->el_search.chadir = dir; - return r; -} - - -/* vi_match(): - * Vi go to matching () {} or [] - * [%] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_match(EditLine *el, wint_t c __attribute__((__unused__))) -{ - const wchar_t match_chars[] = L"()[]{}"; - wchar_t *cp; - size_t delta, i, count; - wchar_t o_ch, c_ch; - - *el->el_line.lastchar = '\0'; /* just in case */ - - i = wcscspn(el->el_line.cursor, match_chars); - o_ch = el->el_line.cursor[i]; - if (o_ch == 0) - return CC_ERROR; - delta = (size_t)(wcschr(match_chars, o_ch) - match_chars); - c_ch = match_chars[delta ^ 1]; - count = 1; - delta = 1 - (delta & 1) * 2; - - for (cp = &el->el_line.cursor[i]; count; ) { - cp += delta; - if (cp < el->el_line.buffer || cp >= el->el_line.lastchar) - return CC_ERROR; - if (*cp == o_ch) - count++; - else if (*cp == c_ch) - count--; - } - - el->el_line.cursor = cp; - - if (el->el_chared.c_vcmd.action != NOP) { - /* NB posix says char under cursor should NOT be deleted - for -ve delta - this is different to netbsd vi. */ - if (delta > 0) - el->el_line.cursor++; - cv_delfini(el); - return CC_REFRESH; - } - return CC_CURSOR; -} - -/* vi_undo_line(): - * Vi undo all changes to line - * [U] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_undo_line(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - cv_undo(el); - return hist_get(el); -} - -/* vi_to_column(): - * Vi go to specified column - * [|] - * NB netbsd vi goes to screen column 'n', posix says nth character - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_to_column(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_line.cursor = el->el_line.buffer; - el->el_state.argument--; - return ed_next_char(el, 0); -} - -/* vi_yank_end(): - * Vi yank to end of line - * [Y] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_yank_end(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - cv_yank(el, el->el_line.cursor, - (int)(el->el_line.lastchar - el->el_line.cursor)); - return CC_REFRESH; -} - -/* vi_yank(): - * Vi yank - * [y] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_yank(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - return cv_action(el, YANK); -} - -/* vi_comment_out(): - * Vi comment out current command - * [#] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_comment_out(EditLine *el, wint_t c __attribute__((__unused__))) -{ - - el->el_line.cursor = el->el_line.buffer; - c_insert(el, 1); - *el->el_line.cursor = '#'; - re_refresh(el); - return ed_newline(el, 0); -} - -/* vi_alias(): - * Vi include shell alias - * [@] - * NB: posix implies that we should enter insert mode, however - * this is against historical precedent... - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_alias(EditLine *el, wint_t c __attribute__((__unused__))) -{ - char alias_name[3]; - const char *alias_text; - - if (el->el_chared.c_aliasfun == NULL) - return CC_ERROR; - - alias_name[0] = '_'; - alias_name[2] = 0; - if (el_getc(el, &alias_name[1]) != 1) - return CC_ERROR; - - alias_text = (*el->el_chared.c_aliasfun)(el->el_chared.c_aliasarg, - alias_name); - if (alias_text != NULL) - el_wpush(el, ct_decode_string(alias_text, &el->el_scratch)); - return CC_NORM; -} - -/* vi_to_history_line(): - * Vi go to specified history file line. - * [G] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_to_history_line(EditLine *el, wint_t c __attribute__((__unused__))) -{ - int sv_event_no = el->el_history.eventno; - el_action_t rval; - - - if (el->el_history.eventno == 0) { - (void) wcsncpy(el->el_history.buf, el->el_line.buffer, - EL_BUFSIZ); - el->el_history.last = el->el_history.buf + - (el->el_line.lastchar - el->el_line.buffer); - } - - /* Lack of a 'count' means oldest, not 1 */ - if (!el->el_state.doingarg) { - el->el_history.eventno = 0x7fffffff; - hist_get(el); - } else { - /* This is brain dead, all the rest of this code counts - * upwards going into the past. Here we need count in the - * other direction (to match the output of fc -l). - * I could change the world, but this seems to suffice. - */ - el->el_history.eventno = 1; - if (hist_get(el) == CC_ERROR) - return CC_ERROR; - el->el_history.eventno = 1 + el->el_history.ev.num - - el->el_state.argument; - if (el->el_history.eventno < 0) { - el->el_history.eventno = sv_event_no; - return CC_ERROR; - } - } - rval = hist_get(el); - if (rval == CC_ERROR) - el->el_history.eventno = sv_event_no; - return rval; -} - -/* vi_histedit(): - * Vi edit history line with vi - * [v] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_histedit(EditLine *el, wint_t c __attribute__((__unused__))) -{ - int fd; - pid_t pid; - ssize_t st; - int status; - char tempfile[] = "/tmp/histedit.XXXXXXXXXX"; - char *cp = NULL; - size_t len; - wchar_t *line = NULL; - - if (el->el_state.doingarg) { - if (vi_to_history_line(el, 0) == CC_ERROR) - return CC_ERROR; - } - - fd = mkstemp(tempfile); - if (fd < 0) - return CC_ERROR; - len = (size_t)(el->el_line.lastchar - el->el_line.buffer); -#define TMP_BUFSIZ (EL_BUFSIZ * MB_LEN_MAX) - cp = el_malloc(TMP_BUFSIZ * sizeof(*cp)); - if (cp == NULL) - goto error; - line = el_malloc(len * sizeof(*line) + 1); - if (line == NULL) - goto error; - wcsncpy(line, el->el_line.buffer, len); - line[len] = '\0'; - wcstombs(cp, line, TMP_BUFSIZ - 1); - cp[TMP_BUFSIZ - 1] = '\0'; - len = strlen(cp); - write(fd, cp, len); - write(fd, "\n", (size_t)1); - pid = fork(); - switch (pid) { - case -1: - goto error; - case 0: - close(fd); - execlp("vi", "vi", tempfile, (char *)NULL); - exit(0); - /*NOTREACHED*/ - default: - while (waitpid(pid, &status, 0) != pid) - continue; - lseek(fd, (off_t)0, SEEK_SET); - st = read(fd, cp, TMP_BUFSIZ - 1); - if (st > 0) { - cp[st] = '\0'; - len = (size_t)(el->el_line.limit - el->el_line.buffer); - len = mbstowcs(el->el_line.buffer, cp, len); - if (len > 0 && el->el_line.buffer[len - 1] == '\n') - --len; - } - else - len = 0; - el->el_line.cursor = el->el_line.buffer; - el->el_line.lastchar = el->el_line.buffer + len; - el_free(cp); - el_free(line); - break; - } - - close(fd); - unlink(tempfile); - /* return CC_REFRESH; */ - return ed_newline(el, 0); -error: - el_free(line); - el_free(cp); - close(fd); - unlink(tempfile); - return CC_ERROR; -} - -/* vi_history_word(): - * Vi append word from previous input line - * [_] - * Who knows where this one came from! - * '_' in vi means 'entire current line', so 'cc' is a synonym for 'c_' - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_history_word(EditLine *el, wint_t c __attribute__((__unused__))) -{ - const wchar_t *wp = HIST_FIRST(el); - const wchar_t *wep, *wsp; - int len; - wchar_t *cp; - const wchar_t *lim; - - if (wp == NULL) - return CC_ERROR; - - wep = wsp = NULL; - do { - while (iswspace(*wp)) - wp++; - if (*wp == 0) - break; - wsp = wp; - while (*wp && !iswspace(*wp)) - wp++; - wep = wp; - } while ((!el->el_state.doingarg || --el->el_state.argument > 0) - && *wp != 0); - - if (wsp == NULL || (el->el_state.doingarg && el->el_state.argument != 0)) - return CC_ERROR; - - cv_undo(el); - len = (int)(wep - wsp); - if (el->el_line.cursor < el->el_line.lastchar) - el->el_line.cursor++; - c_insert(el, len + 1); - cp = el->el_line.cursor; - lim = el->el_line.limit; - if (cp < lim) - *cp++ = ' '; - while (wsp < wep && cp < lim) - *cp++ = *wsp++; - el->el_line.cursor = cp; - - el->el_map.current = el->el_map.key; - return CC_REFRESH; -} - -/* vi_redo(): - * Vi redo last non-motion command - * [.] - */ -libedit_private el_action_t -/*ARGSUSED*/ -vi_redo(EditLine *el, wint_t c __attribute__((__unused__))) -{ - c_redo_t *r = &el->el_chared.c_redo; - - if (!el->el_state.doingarg && r->count) { - el->el_state.doingarg = 1; - el->el_state.argument = r->count; - } - - el->el_chared.c_vcmd.pos = el->el_line.cursor; - el->el_chared.c_vcmd.action = r->action; - if (r->pos != r->buf) { - if (r->pos + 1 > r->lim) - /* sanity */ - r->pos = r->lim - 1; - r->pos[0] = 0; - el_wpush(el, r->buf); - } - - el->el_state.thiscmd = r->cmd; - el->el_state.thisch = r->ch; - return (*el->el_map.func[r->cmd])(el, r->ch); -} diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/vis.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/vis.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/vis.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/vis.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,767 +0,0 @@ -/* $NetBSD: vis.c,v 1.74 2017/11/27 16:37:21 christos Exp $ */ - -/*- - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/*- - * Copyright (c) 1999, 2005 The NetBSD Foundation, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: vis.c,v 1.74 2017/11/27 16:37:21 christos Exp $"); -#endif /* LIBC_SCCS and not lint */ -#ifdef __FBSDID -__FBSDID("$FreeBSD$"); -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#ifdef __weak_alias -__weak_alias(strvisx,_strvisx) -#endif - -#if !HAVE_VIS || !HAVE_SVIS -#include -#include -#include -#include - -/* - * The reason for going through the trouble to deal with character encodings - * in vis(3), is that we use this to safe encode output of commands. This - * safe encoding varies depending on the character set. For example if we - * display ps output in French, we don't want to display French characters - * as M-foo. - */ - -static wchar_t *do_svis(wchar_t *, wint_t, int, wint_t, const wchar_t *); - -#undef BELL -#define BELL L'\a' - -#if defined(LC_C_LOCALE) -#define iscgraph(c) isgraph_l(c, LC_C_LOCALE) -#else -/* Keep it simple for now, no locale stuff */ -#define iscgraph(c) isgraph(c) -#ifdef notyet -#include -static int -iscgraph(int c) { - int rv; - char *ol; - - ol = setlocale(LC_CTYPE, "C"); - rv = isgraph(c); - if (ol) - setlocale(LC_CTYPE, ol); - return rv; -} -#endif -#endif - -#define ISGRAPH(flags, c) \ - (((flags) & VIS_NOLOCALE) ? iscgraph(c) : iswgraph(c)) - -#define iswoctal(c) (((u_char)(c)) >= L'0' && ((u_char)(c)) <= L'7') -#define iswwhite(c) (c == L' ' || c == L'\t' || c == L'\n') -#define iswsafe(c) (c == L'\b' || c == BELL || c == L'\r') -#define xtoa(c) L"0123456789abcdef"[c] -#define XTOA(c) L"0123456789ABCDEF"[c] - -#define MAXEXTRAS 30 - -static const wchar_t char_shell[] = L"'`\";&<>()|{}]\\$!^~"; -static const wchar_t char_glob[] = L"*?[#"; - -#if !HAVE_NBTOOL_CONFIG_H -#ifndef __NetBSD__ -/* - * On NetBSD MB_LEN_MAX is currently 32 which does not fit on any integer - * integral type and it is probably wrong, since currently the maximum - * number of bytes and character needs is 6. Until this is fixed, the - * loops below are using sizeof(uint64_t) - 1 instead of MB_LEN_MAX, and - * the assertion is commented out. - */ -#ifdef __FreeBSD__ -/* - * On FreeBSD including for CTASSERT only works in kernel - * mode. - */ -#ifndef CTASSERT -#define CTASSERT(x) _CTASSERT(x, __LINE__) -#define _CTASSERT(x, y) __CTASSERT(x, y) -#define __CTASSERT(x, y) typedef char __assert ## y[(x) ? 1 : -1] -#endif -#endif /* __FreeBSD__ */ -/* -CTASSERT(MB_LEN_MAX <= sizeof(uint64_t)); -*/ -#endif /* !__NetBSD__ */ -#endif - -/* - * This is do_hvis, for HTTP style (RFC 1808) - */ -static wchar_t * -do_hvis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) -{ - if (iswalnum(c) - /* safe */ - || c == L'$' || c == L'-' || c == L'_' || c == L'.' || c == L'+' - /* extra */ - || c == L'!' || c == L'*' || c == L'\'' || c == L'(' || c == L')' - || c == L',') - dst = do_svis(dst, c, flags, nextc, extra); - else { - *dst++ = L'%'; - *dst++ = xtoa(((unsigned int)c >> 4) & 0xf); - *dst++ = xtoa((unsigned int)c & 0xf); - } - - return dst; -} - -/* - * This is do_mvis, for Quoted-Printable MIME (RFC 2045) - * NB: No handling of long lines or CRLF. - */ -static wchar_t * -do_mvis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) -{ - if ((c != L'\n') && - /* Space at the end of the line */ - ((iswspace(c) && (nextc == L'\r' || nextc == L'\n')) || - /* Out of range */ - (!iswspace(c) && (c < 33 || (c > 60 && c < 62) || c > 126)) || - /* Specific char to be escaped */ - wcschr(L"#$@[\\]^`{|}~", c) != NULL)) { - *dst++ = L'='; - *dst++ = XTOA(((unsigned int)c >> 4) & 0xf); - *dst++ = XTOA((unsigned int)c & 0xf); - } else - dst = do_svis(dst, c, flags, nextc, extra); - return dst; -} - -/* - * Output single byte of multibyte character. - */ -static wchar_t * -do_mbyte(wchar_t *dst, wint_t c, int flags, wint_t nextc, int iswextra) -{ - if (flags & VIS_CSTYLE) { - switch (c) { - case L'\n': - *dst++ = L'\\'; *dst++ = L'n'; - return dst; - case L'\r': - *dst++ = L'\\'; *dst++ = L'r'; - return dst; - case L'\b': - *dst++ = L'\\'; *dst++ = L'b'; - return dst; - case BELL: - *dst++ = L'\\'; *dst++ = L'a'; - return dst; - case L'\v': - *dst++ = L'\\'; *dst++ = L'v'; - return dst; - case L'\t': - *dst++ = L'\\'; *dst++ = L't'; - return dst; - case L'\f': - *dst++ = L'\\'; *dst++ = L'f'; - return dst; - case L' ': - *dst++ = L'\\'; *dst++ = L's'; - return dst; - case L'\0': - *dst++ = L'\\'; *dst++ = L'0'; - if (iswoctal(nextc)) { - *dst++ = L'0'; - *dst++ = L'0'; - } - return dst; - /* We cannot encode these characters in VIS_CSTYLE - * because they special meaning */ - case L'n': - case L'r': - case L'b': - case L'a': - case L'v': - case L't': - case L'f': - case L's': - case L'0': - case L'M': - case L'^': - case L'$': /* vis(1) -l */ - break; - default: - if (ISGRAPH(flags, c) && !iswoctal(c)) { - *dst++ = L'\\'; - *dst++ = c; - return dst; - } - } - } - if (iswextra || ((c & 0177) == L' ') || (flags & VIS_OCTAL)) { - *dst++ = L'\\'; - *dst++ = (u_char)(((u_int32_t)(u_char)c >> 6) & 03) + L'0'; - *dst++ = (u_char)(((u_int32_t)(u_char)c >> 3) & 07) + L'0'; - *dst++ = (c & 07) + L'0'; - } else { - if ((flags & VIS_NOSLASH) == 0) - *dst++ = L'\\'; - - if (c & 0200) { - c &= 0177; - *dst++ = L'M'; - } - - if (iswcntrl(c)) { - *dst++ = L'^'; - if (c == 0177) - *dst++ = L'?'; - else - *dst++ = c + L'@'; - } else { - *dst++ = L'-'; - *dst++ = c; - } - } - - return dst; -} - -/* - * This is do_vis, the central code of vis. - * dst: Pointer to the destination buffer - * c: Character to encode - * flags: Flags word - * nextc: The character following 'c' - * extra: Pointer to the list of extra characters to be - * backslash-protected. - */ -static wchar_t * -do_svis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) -{ - int iswextra, i, shft; - uint64_t bmsk, wmsk; - - iswextra = wcschr(extra, c) != NULL; - if (!iswextra && (ISGRAPH(flags, c) || iswwhite(c) || - ((flags & VIS_SAFE) && iswsafe(c)))) { - *dst++ = c; - return dst; - } - - /* See comment in istrsenvisx() output loop, below. */ - wmsk = 0; - for (i = sizeof(wmsk) - 1; i >= 0; i--) { - shft = i * NBBY; - bmsk = (uint64_t)0xffLL << shft; - wmsk |= bmsk; - if ((c & wmsk) || i == 0) - dst = do_mbyte(dst, (wint_t)( - (uint64_t)(c & bmsk) >> shft), - flags, nextc, iswextra); - } - - return dst; -} - -typedef wchar_t *(*visfun_t)(wchar_t *, wint_t, int, wint_t, const wchar_t *); - -/* - * Return the appropriate encoding function depending on the flags given. - */ -static visfun_t -getvisfun(int flags) -{ - if (flags & VIS_HTTPSTYLE) - return do_hvis; - if (flags & VIS_MIMESTYLE) - return do_mvis; - return do_svis; -} - -/* - * Expand list of extra characters to not visually encode. - */ -static wchar_t * -makeextralist(int flags, const char *src) -{ - wchar_t *dst, *d; - size_t len; - const wchar_t *s; - - len = strlen(src); - if ((dst = calloc(len + MAXEXTRAS, sizeof(*dst))) == NULL) - return NULL; - - if ((flags & VIS_NOLOCALE) || mbstowcs(dst, src, len) == (size_t)-1) { - size_t i; - for (i = 0; i < len; i++) - dst[i] = (wchar_t)(u_char)src[i]; - d = dst + len; - } else - d = dst + wcslen(dst); - - if (flags & VIS_GLOB) - for (s = char_glob; *s; *d++ = *s++) - continue; - - if (flags & VIS_SHELL) - for (s = char_shell; *s; *d++ = *s++) - continue; - - if (flags & VIS_SP) *d++ = L' '; - if (flags & VIS_TAB) *d++ = L'\t'; - if (flags & VIS_NL) *d++ = L'\n'; - if (flags & VIS_DQ) *d++ = L'"'; - if ((flags & VIS_NOSLASH) == 0) *d++ = L'\\'; - *d = L'\0'; - - return dst; -} - -/* - * istrsenvisx() - * The main internal function. - * All user-visible functions call this one. - */ -static int -istrsenvisx(char **mbdstp, size_t *dlen, const char *mbsrc, size_t mblength, - int flags, const char *mbextra, int *cerr_ptr) -{ - wchar_t *dst, *src, *pdst, *psrc, *start, *extra; - size_t len, olen; - uint64_t bmsk, wmsk; - wint_t c; - visfun_t f; - int clen = 0, cerr, error = -1, i, shft; - char *mbdst, *mdst; - ssize_t mbslength, maxolen; - - _DIAGASSERT(mbdstp != NULL); - _DIAGASSERT(mbsrc != NULL || mblength == 0); - _DIAGASSERT(mbextra != NULL); - - mbslength = (ssize_t)mblength; - /* - * When inputing a single character, must also read in the - * next character for nextc, the look-ahead character. - */ - if (mbslength == 1) - mbslength++; - - /* - * Input (mbsrc) is a char string considered to be multibyte - * characters. The input loop will read this string pulling - * one character, possibly multiple bytes, from mbsrc and - * converting each to wchar_t in src. - * - * The vis conversion will be done using the wide char - * wchar_t string. - * - * This will then be converted back to a multibyte string to - * return to the caller. - */ - - /* Allocate space for the wide char strings */ - psrc = pdst = extra = NULL; - mdst = NULL; - if ((psrc = calloc(mbslength + 1, sizeof(*psrc))) == NULL) - return -1; - if ((pdst = calloc((16 * mbslength) + 1, sizeof(*pdst))) == NULL) - goto out; - if (*mbdstp == NULL) { - if ((mdst = calloc((16 * mbslength) + 1, sizeof(*mdst))) == NULL) - goto out; - *mbdstp = mdst; - } - - mbdst = *mbdstp; - dst = pdst; - src = psrc; - - if (flags & VIS_NOLOCALE) { - /* Do one byte at a time conversion */ - cerr = 1; - } else { - /* Use caller's multibyte conversion error flag. */ - cerr = cerr_ptr ? *cerr_ptr : 0; - } - - /* - * Input loop. - * Handle up to mblength characters (not bytes). We do not - * stop at NULs because we may be processing a block of data - * that includes NULs. - */ - while (mbslength > 0) { - /* Convert one multibyte character to wchar_t. */ - if (!cerr) - clen = mbtowc(src, mbsrc, MB_LEN_MAX); - if (cerr || clen < 0) { - /* Conversion error, process as a byte instead. */ - *src = (wint_t)(u_char)*mbsrc; - clen = 1; - cerr = 1; - } - if (clen == 0) { - /* - * NUL in input gives 0 return value. process - * as single NUL byte and keep going. - */ - clen = 1; - } - /* Advance buffer character pointer. */ - src++; - /* Advance input pointer by number of bytes read. */ - mbsrc += clen; - /* Decrement input byte count. */ - mbslength -= clen; - } - len = src - psrc; - src = psrc; - - /* - * In the single character input case, we will have actually - * processed two characters, c and nextc. Reset len back to - * just a single character. - */ - if (mblength < len) - len = mblength; - - /* Convert extra argument to list of characters for this mode. */ - extra = makeextralist(flags, mbextra); - if (!extra) { - if (dlen && *dlen == 0) { - errno = ENOSPC; - goto out; - } - *mbdst = '\0'; /* can't create extra, return "" */ - error = 0; - goto out; - } - - /* Look up which processing function to call. */ - f = getvisfun(flags); - - /* - * Main processing loop. - * Call do_Xvis processing function one character at a time - * with next character available for look-ahead. - */ - for (start = dst; len > 0; len--) { - c = *src++; - dst = (*f)(dst, c, flags, len >= 1 ? *src : L'\0', extra); - if (dst == NULL) { - errno = ENOSPC; - goto out; - } - } - - /* Terminate the string in the buffer. */ - *dst = L'\0'; - - /* - * Output loop. - * Convert wchar_t string back to multibyte output string. - * If we have hit a multi-byte conversion error on input, - * output byte-by-byte here. Else use wctomb(). - */ - len = wcslen(start); - maxolen = dlen ? *dlen : (wcslen(start) * MB_LEN_MAX + 1); - olen = 0; - for (dst = start; len > 0; len--) { - if (!cerr) - clen = wctomb(mbdst, *dst); - if (cerr || clen < 0) { - /* - * Conversion error, process as a byte(s) instead. - * Examine each byte and higher-order bytes for - * data. E.g., - * 0x000000000000a264 -> a2 64 - * 0x000000001f00a264 -> 1f 00 a2 64 - */ - clen = 0; - wmsk = 0; - for (i = sizeof(wmsk) - 1; i >= 0; i--) { - shft = i * NBBY; - bmsk = (uint64_t)0xffLL << shft; - wmsk |= bmsk; - if ((*dst & wmsk) || i == 0) - mbdst[clen++] = (char)( - (uint64_t)(*dst & bmsk) >> - shft); - } - cerr = 1; - } - /* If this character would exceed our output limit, stop. */ - if (olen + clen > (size_t)maxolen) - break; - /* Advance output pointer by number of bytes written. */ - mbdst += clen; - /* Advance buffer character pointer. */ - dst++; - /* Incrment output character count. */ - olen += clen; - } - - /* Terminate the output string. */ - *mbdst = '\0'; - - if (flags & VIS_NOLOCALE) { - /* Pass conversion error flag out. */ - if (cerr_ptr) - *cerr_ptr = cerr; - } - - free(extra); - free(pdst); - free(psrc); - - return (int)olen; -out: - free(extra); - free(pdst); - free(psrc); - free(mdst); - return error; -} - -static int -istrsenvisxl(char **mbdstp, size_t *dlen, const char *mbsrc, - int flags, const char *mbextra, int *cerr_ptr) -{ - return istrsenvisx(mbdstp, dlen, mbsrc, - mbsrc != NULL ? strlen(mbsrc) : 0, flags, mbextra, cerr_ptr); -} - -#endif - -#if !HAVE_SVIS -/* - * The "svis" variants all take an "extra" arg that is a pointer - * to a NUL-terminated list of characters to be encoded, too. - * These functions are useful e. g. to encode strings in such a - * way so that they are not interpreted by a shell. - */ - -char * -svis(char *mbdst, int c, int flags, int nextc, const char *mbextra) -{ - char cc[2]; - int ret; - - cc[0] = c; - cc[1] = nextc; - - ret = istrsenvisx(&mbdst, NULL, cc, 1, flags, mbextra, NULL); - if (ret < 0) - return NULL; - return mbdst + ret; -} - -char * -snvis(char *mbdst, size_t dlen, int c, int flags, int nextc, const char *mbextra) -{ - char cc[2]; - int ret; - - cc[0] = c; - cc[1] = nextc; - - ret = istrsenvisx(&mbdst, &dlen, cc, 1, flags, mbextra, NULL); - if (ret < 0) - return NULL; - return mbdst + ret; -} - -int -strsvis(char *mbdst, const char *mbsrc, int flags, const char *mbextra) -{ - return istrsenvisxl(&mbdst, NULL, mbsrc, flags, mbextra, NULL); -} - -int -strsnvis(char *mbdst, size_t dlen, const char *mbsrc, int flags, const char *mbextra) -{ - return istrsenvisxl(&mbdst, &dlen, mbsrc, flags, mbextra, NULL); -} - -int -strsvisx(char *mbdst, const char *mbsrc, size_t len, int flags, const char *mbextra) -{ - return istrsenvisx(&mbdst, NULL, mbsrc, len, flags, mbextra, NULL); -} - -int -strsnvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags, - const char *mbextra) -{ - return istrsenvisx(&mbdst, &dlen, mbsrc, len, flags, mbextra, NULL); -} - -int -strsenvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags, - const char *mbextra, int *cerr_ptr) -{ - return istrsenvisx(&mbdst, &dlen, mbsrc, len, flags, mbextra, cerr_ptr); -} -#endif - -#if !HAVE_VIS -/* - * vis - visually encode characters - */ -char * -vis(char *mbdst, int c, int flags, int nextc) -{ - char cc[2]; - int ret; - - cc[0] = c; - cc[1] = nextc; - - ret = istrsenvisx(&mbdst, NULL, cc, 1, flags, "", NULL); - if (ret < 0) - return NULL; - return mbdst + ret; -} - -char * -nvis(char *mbdst, size_t dlen, int c, int flags, int nextc) -{ - char cc[2]; - int ret; - - cc[0] = c; - cc[1] = nextc; - - ret = istrsenvisx(&mbdst, &dlen, cc, 1, flags, "", NULL); - if (ret < 0) - return NULL; - return mbdst + ret; -} - -/* - * strvis - visually encode characters from src into dst - * - * Dst must be 4 times the size of src to account for possible - * expansion. The length of dst, not including the trailing NULL, - * is returned. - */ - -int -strvis(char *mbdst, const char *mbsrc, int flags) -{ - return istrsenvisxl(&mbdst, NULL, mbsrc, flags, "", NULL); -} - -int -strnvis(char *mbdst, size_t dlen, const char *mbsrc, int flags) -{ - return istrsenvisxl(&mbdst, &dlen, mbsrc, flags, "", NULL); -} - -int -stravis(char **mbdstp, const char *mbsrc, int flags) -{ - *mbdstp = NULL; - return istrsenvisxl(mbdstp, NULL, mbsrc, flags, "", NULL); -} - -/* - * strvisx - visually encode characters from src into dst - * - * Dst must be 4 times the size of src to account for possible - * expansion. The length of dst, not including the trailing NULL, - * is returned. - * - * Strvisx encodes exactly len characters from src into dst. - * This is useful for encoding a block of data. - */ - -int -strvisx(char *mbdst, const char *mbsrc, size_t len, int flags) -{ - return istrsenvisx(&mbdst, NULL, mbsrc, len, flags, "", NULL); -} - -int -strnvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags) -{ - return istrsenvisx(&mbdst, &dlen, mbsrc, len, flags, "", NULL); -} - -int -strenvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags, - int *cerr_ptr) -{ - return istrsenvisx(&mbdst, &dlen, mbsrc, len, flags, "", cerr_ptr); -} -#endif diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/vis.h mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/vis.h --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/vis.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/vis.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,117 +0,0 @@ -/* $NetBSD: vis.h,v 1.25 2017/04/23 01:57:36 christos Exp $ */ - -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)vis.h 8.1 (Berkeley) 6/2/93 - */ - -#ifndef _VIS_H_ -#define _VIS_H_ - -/* - * to select alternate encoding format - */ -#define VIS_OCTAL 0x0001 /* use octal \ddd format */ -#define VIS_CSTYLE 0x0002 /* use \[nrft0..] where appropiate */ - -/* - * to alter set of characters encoded (default is to encode all - * non-graphic except space, tab, and newline). - */ -#define VIS_SP 0x0004 /* also encode space */ -#define VIS_TAB 0x0008 /* also encode tab */ -#define VIS_NL 0x0010 /* also encode newline */ -#define VIS_WHITE (VIS_SP | VIS_TAB | VIS_NL) -#define VIS_SAFE 0x0020 /* only encode "unsafe" characters */ -#define VIS_DQ 0x8000 /* also encode double quotes */ - -/* - * other - */ -#define VIS_NOSLASH 0x0040 /* inhibit printing '\' */ -#define VIS_HTTP1808 0x0080 /* http-style escape % hex hex */ -#define VIS_HTTPSTYLE 0x0080 /* http-style escape % hex hex */ -#define VIS_MIMESTYLE 0x0100 /* mime-style escape = HEX HEX */ -#define VIS_HTTP1866 0x0200 /* http-style &#num; or &string; */ -#define VIS_NOESCAPE 0x0400 /* don't decode `\' */ -#define _VIS_END 0x0800 /* for unvis */ -#define VIS_GLOB 0x1000 /* encode glob(3) magic characters */ -#define VIS_SHELL 0x2000 /* encode shell special characters [not glob] */ -#define VIS_META (VIS_WHITE | VIS_GLOB | VIS_SHELL) -#define VIS_NOLOCALE 0x4000 /* encode using the C locale */ - -/* - * unvis return codes - */ -#define UNVIS_VALID 1 /* character valid */ -#define UNVIS_VALIDPUSH 2 /* character valid, push back passed char */ -#define UNVIS_NOCHAR 3 /* valid sequence, no character produced */ -#define UNVIS_SYNBAD -1 /* unrecognized escape sequence */ -#define UNVIS_ERROR -2 /* decoder in unknown state (unrecoverable) */ - -/* - * unvis flags - */ -#define UNVIS_END _VIS_END /* no more characters */ - -__BEGIN_DECLS -char *vis(char *, int, int, int); -char *nvis(char *, size_t, int, int, int); - -char *svis(char *, int, int, int, const char *); -char *snvis(char *, size_t, int, int, int, const char *); - -int strvis(char *, const char *, int); -int stravis(char **, const char *, int); -int strnvis(char *, size_t, const char *, int); - -int strsvis(char *, const char *, int, const char *); -int strsnvis(char *, size_t, const char *, int, const char *); - -int strvisx(char *, const char *, size_t, int); -int strnvisx(char *, size_t, const char *, size_t, int); -int strenvisx(char *, size_t, const char *, size_t, int, int *); - -int strsvisx(char *, const char *, size_t, int, const char *); -int strsnvisx(char *, size_t, const char *, size_t, int, const char *); -int strsenvisx(char *, size_t, const char *, size_t , int, const char *, - int *); - -int strunvis(char *, const char *); -int strnunvis(char *, size_t, const char *); - -int strunvisx(char *, const char *, int); -int strnunvisx(char *, size_t, const char *, int); - -#ifndef __LIBC12_SOURCE__ -int unvis(char *, int, int *, int); -#endif -__END_DECLS - -#endif /* !_VIS_H_ */ diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/wcsdup.c mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/wcsdup.c --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/src/wcsdup.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/src/wcsdup.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ -/* $NetBSD: wcsdup.c,v 1.3 2008/05/26 13:17:48 haad Exp $ */ - -/* - * Copyright (C) 2006 Aleksey Cheusov - * - * This material is provided "as is", with absolutely no warranty expressed - * or implied. Any use is at your own risk. - * - * Permission to use or copy this software for any purpose is hereby granted - * without fee. Permission to modify the code and to distribute modified - * code is also granted without any restrictions. - */ - -#ifndef HAVE_WCSDUP - -#include "config.h" - -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: wcsdup.c,v 1.3 2008/05/26 13:17:48 haad Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include - -wchar_t * -wcsdup(const wchar_t *str) -{ - wchar_t *copy; - size_t len; - - _DIAGASSERT(str != NULL); - - len = wcslen(str) + 1; - copy = malloc(len * sizeof (wchar_t)); - - if (!copy) - return NULL; - - return wmemcpy(copy, str, len); -} - -#endif diff -Nru mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/THANKS mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/THANKS --- mysql-5.7-5.7.33/cmd-line-utils/libedit/libedit-20190324-3.1/THANKS 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/cmd-line-utils/libedit/libedit-20190324-3.1/THANKS 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -Thanks to the NetBSD Project maintainers of libedit! diff -Nru mysql-5.7-5.7.33/config.h.cmake mysql-5.7-5.7.34/config.h.cmake --- mysql-5.7-5.7.33/config.h.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/config.h.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2020, Oracle and/or its affiliates. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/configure.cmake mysql-5.7-5.7.34/configure.cmake --- mysql-5.7-5.7.33/configure.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/configure.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, @@ -142,7 +142,9 @@ FIND_PACKAGE (Threads) IF(UNIX) - MY_SEARCH_LIBS(floor m LIBM) + IF(NOT LIBM) + MY_SEARCH_LIBS(floor m LIBM) + ENDIF() IF(NOT LIBM) MY_SEARCH_LIBS(__infinity m LIBM) ENDIF() @@ -151,6 +153,10 @@ MY_SEARCH_LIBS(crypt crypt LIBCRYPT) MY_SEARCH_LIBS(setsockopt socket LIBSOCKET) MY_SEARCH_LIBS(dlopen dl LIBDL) + # HAVE_dlopen_IN_LIBC + IF(NOT LIBDL) + MY_SEARCH_LIBS(dlsym dl LIBDL) + ENDIF() MY_SEARCH_LIBS(sched_yield rt LIBRT) IF(NOT LIBRT) MY_SEARCH_LIBS(clock_gettime rt LIBRT) diff -Nru mysql-5.7-5.7.33/dbug/CMakeLists.txt mysql-5.7-5.7.34/dbug/CMakeLists.txt --- mysql-5.7-5.7.33/dbug/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/dbug/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/dbug/dbug_add_tags.pl mysql-5.7-5.7.34/dbug/dbug_add_tags.pl --- mysql-5.7-5.7.33/dbug/dbug_add_tags.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/dbug/dbug_add_tags.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Copyright (c) 2002 MySQL AB, 2009 Sun Microsystems, Inc. +# Copyright (c) 2002, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/dbug/dbug.c mysql-5.7-5.7.34/dbug/dbug.c --- mysql-5.7-5.7.33/dbug/dbug.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/dbug/dbug.c 2021-03-26 06:58:52.000000000 +0000 @@ -102,7 +102,7 @@ #include #endif -#ifndef DBUG_OFF +#ifndef NDEBUG /* diff -Nru mysql-5.7-5.7.33/dbug/factorial.c mysql-5.7-5.7.34/dbug/factorial.c --- mysql-5.7-5.7.33/dbug/factorial.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/dbug/factorial.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -#ifdef DBUG_OFF /* We are testing dbug */ +#ifdef NDEBUG /* We are testing dbug */ int factorial(int value) { if(value > 1) { diff -Nru mysql-5.7-5.7.33/dbug/my_main.c mysql-5.7-5.7.34/dbug/my_main.c --- mysql-5.7-5.7.33/dbug/my_main.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/dbug/my_main.c 2021-03-26 06:58:52.000000000 +0000 @@ -3,8 +3,8 @@ fixed so that it could compile and run in MySQL source tree */ -#ifdef DBUG_OFF /* We are testing dbug */ -#undef DBUG_OFF +#ifdef NDEBUG /* We are testing dbug */ +#undef NDEBUG #endif #include /* This includes dbug.h */ diff -Nru mysql-5.7-5.7.33/dbug/tests.c mysql-5.7-5.7.34/dbug/tests.c --- mysql-5.7-5.7.33/dbug/tests.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/dbug/tests.c 2021-03-26 06:58:52.000000000 +0000 @@ -38,7 +38,7 @@ int main (int argc, char *argv[]) { int i; -#ifdef DBUG_OFF +#ifdef NDEBUG return 1; #endif if (argc == 1) diff -Nru mysql-5.7-5.7.33/dbug/user.r mysql-5.7-5.7.34/dbug/user.r --- mysql-5.7-5.7.33/dbug/user.r 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/dbug/user.r 2021-03-26 06:58:52.000000000 +0000 @@ -317,7 +317,7 @@ via preprocessor macros. This does not detract from the readability of the code and makes disabling all debug compilation trivial (a single preprocessor symbol, -.B DBUG_OFF , +.B NDEBUG , forces the macro expansions to be null). .P Also notice the inclusion of the header file @@ -867,14 +867,6 @@ .SP 1 .LI DBUG_UNLOCK_FILE\ Unlocks DBUG_FILE stream, that was locked with a DBUG_LOCK_FILE. -.LI DBUG_ASSERT\ -This macro just does a regular assert(). The difference is that it will be -disabled by DBUG_OFF togeher with the -.I dbug -library. So there will be no need to disable asserts separately with NDEBUG. -.SP 1 -EX:\ \fCDBUG_ASSERT(\ a\ >\ 0\ );\fR -.SP 1 .LI DBUG_ABORT\ This macro could be used instead of abort(). It flushes DBUG_FILE stream to ensure that no diff -Nru mysql-5.7-5.7.33/debian/changelog mysql-5.7-5.7.34/debian/changelog --- mysql-5.7-5.7.33/debian/changelog 2021-01-28 12:18:45.000000000 +0000 +++ mysql-5.7-5.7.34/debian/changelog 2021-04-23 16:59:29.000000000 +0000 @@ -1,3 +1,12 @@ +mysql-5.7 (5.7.34-0ubuntu0.18.04.1) bionic-security; urgency=medium + + * SECURITY UPDATE: Update to 5.7.34 to fix security issues + - CVE-2021-2146, CVE-2021-2154, CVE-2021-2162, CVE-2021-2166, + CVE-2021-2169, CVE-2021-2171, CVE-2021-2179, CVE-2021-2180, + CVE-2021-2194, CVE-2021-2226, CVE-2021-2307 + + -- Marc Deslauriers Fri, 23 Apr 2021 12:59:29 -0400 + mysql-5.7 (5.7.33-0ubuntu0.18.04.1) bionic-security; urgency=medium * SECURITY UPDATE: Update to 5.7.33 to fix security issues diff -Nru mysql-5.7-5.7.33/Docs/INFO_SRC mysql-5.7-5.7.34/Docs/INFO_SRC --- mysql-5.7-5.7.33/Docs/INFO_SRC 2020-12-10 03:12:11.000000000 +0000 +++ mysql-5.7-5.7.34/Docs/INFO_SRC 2021-03-26 07:07:22.000000000 +0000 @@ -1,7 +1,7 @@ -commit: 83ab320020c1a4044e6bfd479a0ff2ae2370a9bc -date: 2020-12-10 08:26:47 +0530 -build-date: 2020-12-10 03:02:16 +0000 -short: 83ab320020c -branch: mysql-5.7.33-release +commit: c4c5d6d70953f6ed4d054c51334f9027145c458d +date: 2021-03-26 12:22:25 +0530 +build-date: 2021-03-26 06:59:12 +0000 +short: c4c5d6d7095 +branch: mysql-5.7.34-release -MySQL source 5.7.33 +MySQL source 5.7.34 diff -Nru mysql-5.7-5.7.33/Docs/myisam.txt mysql-5.7-5.7.34/Docs/myisam.txt --- mysql-5.7-5.7.33/Docs/myisam.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/Docs/myisam.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2000, 2020, Oracle and/or its affiliates. +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/Docs/sp-imp-spec.txt mysql-5.7-5.7.34/Docs/sp-imp-spec.txt --- mysql-5.7-5.7.33/Docs/sp-imp-spec.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/Docs/sp-imp-spec.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -Copyright (c) 2003, 2020, Oracle and/or its affiliates. +Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/Doxyfile-perfschema mysql-5.7-5.7.34/Doxyfile-perfschema --- mysql-5.7-5.7.33/Doxyfile-perfschema 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/Doxyfile-perfschema 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2020, Oracle and/or its affiliates. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/extra/CMakeLists.txt mysql-5.7-5.7.34/extra/CMakeLists.txt --- mysql-5.7-5.7.33/extra/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/extra/comp_err.c mysql-5.7-5.7.34/extra/comp_err.c --- mysql-5.7-5.7.33/extra/comp_err.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/comp_err.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -52,7 +52,7 @@ static char *STATEFILE= (char*) "sql_state.h"; static char *TXTFILE= (char*) "../sql/share/errmsg-utf8.txt"; static char *DATADIRECTORY= (char*) "../sql/share/"; -#ifndef DBUG_OFF +#ifndef NDEBUG static char *default_dbug_option= (char*) "d:t:O,/tmp/comp_err.trace"; #endif @@ -112,7 +112,7 @@ static struct my_option my_long_options[]= { -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit", 0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, #else @@ -702,7 +702,7 @@ DBUG_RETURN(tmp); if (!strcmp(tmp->lang_short_name, default_language)) { - DBUG_ASSERT(tmp->text[0] != 0); + assert(tmp->text[0] != 0); return_val= tmp; } } @@ -775,7 +775,7 @@ fprintf(stderr, "Still inside formatspecifier after end of string" " in'%s'\n", msg); - DBUG_ASSERT(start==0); + assert(start==0); } /* Add number of format specifiers to checksum as extra safeguard */ @@ -808,7 +808,7 @@ DBUG_RETURN(0); /* No previous message to compare against */ first= dynamic_element(&err->msg, 0, struct message*); - DBUG_ASSERT(first != NULL); + assert(first != NULL); if (checksum_format_specifier(first->text) != checksum_format_specifier(mess)) diff -Nru mysql-5.7-5.7.33/extra/innochecksum.cc mysql-5.7-5.7.34/extra/innochecksum.cc --- mysql-5.7-5.7.33/extra/innochecksum.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/innochecksum.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -321,7 +321,7 @@ { ulong bytes = 0; - DBUG_ASSERT(physical_page_size >= UNIV_ZIP_SIZE_MIN); + assert(physical_page_size >= UNIV_ZIP_SIZE_MIN); if (partial_page_read) { buf += UNIV_ZIP_SIZE_MIN; @@ -926,10 +926,10 @@ 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"verbose", 'v', "Verbose (prints progress every 5 seconds).", &verbose, &verbose, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifndef DBUG_OFF +#ifndef NDEBUG {"debug", '#', "Output debug log. See " REFMAN "dbug-package.html", &dbug_setting, &dbug_setting, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ {"count", 'c', "Print the count of pages in the file and exits.", &just_count, &just_count, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"start_page", 's', "Start on this page number (0 based).", @@ -968,7 +968,7 @@ /* Print out the Innodb version and machine information. */ static void print_version(void) { -#ifdef DBUG_OFF +#ifdef NDEBUG printf("%s Ver %s, for %s (%s)\n", my_progname, INNODB_VERSION_STR, SYSTEM_TYPE, MACHINE_TYPE); @@ -976,7 +976,7 @@ printf("%s-debug Ver %s, for %s (%s)\n", my_progname, INNODB_VERSION_STR, SYSTEM_TYPE, MACHINE_TYPE); -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ } static void usage(void) @@ -1000,7 +1000,7 @@ char *argument MY_ATTRIBUTE((unused))) { switch (optid) { -#ifndef DBUG_OFF +#ifndef NDEBUG case '#': dbug_setting = argument ? argument @@ -1008,7 +1008,7 @@ "d:o,/tmp/innochecksum.trace"); DBUG_PUSH(dbug_setting); break; -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ case 'e': use_end_page = true; break; diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/acinclude.m4 mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/acinclude.m4 --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/acinclude.m4 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/acinclude.m4 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,82 @@ + +dnl +dnl read lib version from file (and trim trailing newline) +dnl +define([EL_RELEASE], [patsubst(esyscmd([. src/shlib_version; echo $major.$minor]), [ +])]) + +dnl +dnl read cvsexport timestamp from file (and trim trailing newline) +dnl +define([EL_TIMESTAMP], [patsubst(esyscmd([date +"%Y%m%d"]), [ +])]) + + +dnl +dnl NetBSD use the -mdoc macro package for manpages, but e.g. +dnl AIX and Solaris only support the -man package. +dnl +AC_DEFUN([EL_MANTYPE], +[ + MANTYPE= + TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" + AC_PATH_PROGS(NROFF, nroff awf, /bin/false, $TestPath) + if ${NROFF} -mdoc ${srcdir}/doc/editrc.5.roff >/dev/null 2>&1; then + MANTYPE=mdoc + fi + AC_SUBST(MANTYPE) +]) + + +dnl +dnl Check if getpwnam_r and getpwuid_r are POSIX.1 compatible +dnl POSIX draft version returns 'struct passwd *' (used on Solaris) +dnl NOTE: getpwent_r is not POSIX so we always use getpwent +dnl +AC_DEFUN([EL_GETPW_R_POSIX], +[ + AC_MSG_CHECKING([whether getpwnam_r and getpwuid_r are posix like]) + # The prototype for the POSIX version is: + # int getpwnam_r(char *, struct passwd *, char *, size_t, struct passwd **) + # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **); + AC_TRY_LINK([#include + #include + #include ], + [getpwnam_r(NULL, NULL, NULL, (size_t)0, NULL); + getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL);], + [AC_DEFINE([HAVE_GETPW_R_POSIX], 1, [Define to 1 if you have getpwnam_r and getpwuid_r that are POSIX.1 compatible.]) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) +]) + +AC_DEFUN([EL_GETPW_R_DRAFT], +[ + AC_MSG_CHECKING([whether getpwnam_r and getpwuid_r are posix _draft_ like]) + # The prototype for the POSIX draft version is: + # struct passwd *getpwuid_r(uid_t, struct passwd *, char *, int); + # struct passwd *getpwnam_r(char *, struct passwd *, char *, int); + AC_TRY_LINK([#include + #include + #include ], + [getpwnam_r(NULL, NULL, NULL, (size_t)0); + getpwuid_r((uid_t)0, NULL, NULL, (size_t)0);], + [AC_DEFINE([HAVE_GETPW_R_DRAFT], 1, [Define to 1 if you have getpwnam_r and getpwuid_r that are draft POSIX.1 versions.]) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) +]) + + +dnl +dnl deprecate option --enable-widec to turn on use of wide-character support +dnl +AC_DEFUN([EL_DEPRECATE_WIDEC], +[ + AC_MSG_CHECKING(if you want wide-character code) + AC_ARG_ENABLE(widec, + [ --enable-widec deprecated, wide-character/UTF-8 is always enabled], + [with_widec=$enableval], + [with_widec=no]) + AC_MSG_RESULT($with_widec) + AC_MSG_WARN([--enable-widec is deprecated, wide-character/UTF-8 is always enabled]) +]) + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/aclocal.m4 mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/aclocal.m4 --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/aclocal.m4 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/aclocal.m4 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,1141 @@ +# generated automatically by aclocal 1.16.1 -*- Autoconf -*- + +# Copyright (C) 1996-2018 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +# Copyright (C) 2002-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.16' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.16.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.16.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? + done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking is enabled. +# This creates each '.Po' and '.Plo' makefile fragment that we'll need in +# order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check whether make has an 'include' directive that can support all +# the idioms we need for our automatic dependency tracking code. +AC_DEFUN([AM_MAKE_INCLUDE], +[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +AC_SUBST([am__quote])]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([m4/libtool.m4]) +m4_include([m4/ltoptions.m4]) +m4_include([m4/ltsugar.m4]) +m4_include([m4/ltversion.m4]) +m4_include([m4/lt~obsolete.m4]) +m4_include([acinclude.m4]) diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/ChangeLog mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/ChangeLog --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/ChangeLog 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/ChangeLog 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,487 @@ + * See also NetBSD changelog: + http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libedit + +2019-12-31 Jess Thrysoee + + * version-info: 0:63:0 + + * configure.ac: Support -ltinfo as split in newer ncurses + The newer versions of ncurses support building terminfo routines as a split -ltinfo library. + Patch by Michał Górny + +2019-12-11 Jess Thrysoee + + * version-info: 0:62:0 + + * all: sync with upstream source + +2019-10-25 Jess Thrysoee + + * version-info: 0:61:0 + + * all: sync with upstream source + +2019-03-24 Jess Thrysoee + + * version-info: 0:60:0 + + * all: sync with upstream source + +2018-12-09 Jess Thrysoee + + * version-info: 0:59:0 + + * all: sync with upstream source + +2018-05-25 Jess Thrysoee + + * version-info: 0:58:0 + + * all: sync with upstream source + +2017-05-22 Jess Thrysoee + + * version-info: 0:57:0 + + * all: sync with upstream source + + * libedit.pc.in: Ncurses should not be a part of public link interface. + Patch by Yegor Timoshenko + +2017-03-29 Jess Thrysoee + + * version-info: 0:56:0 + + * all: sync with upstream source + +2016-09-03 Jess Thrysoee + + * version-info: 0:55:0 + + * all: sync with upstream source + +2016-06-18 Jess Thrysoee + + * version-info: 0:54:0 + + * all: sync with upstream source + + * deprecate option --enable-widec. + Upstream now always build with unicode (wide-char/UTF-8) support. + +2015-03-25 Jess Thrysoee + + * version-info: 0:53:0 + + * all: sync with upstream source + +2014-10-30 Jess Thrysoee + + * version-info: 0:52:0 + + * all: sync with upstream source + + * configura.ac: Fix posix shell portability issue. Patch by Ryo Onodera. + +2014-06-20 Jess Thrysoee + + * version-info: 0:51:0 + + * all: sync with upstream source + +2014-06-18 Jess Thrysoee + + * version-info: 0:50:0 + + * all: sync with upstream source - add weak alias patches + +2014-06-18 Jess Thrysoee + + * version-info: 0:49:0 + + * all: sync with upstream source. + +2014-02-13 Jess Thrysoee + + * version-info: 0:48:0 + + * all: sync with upstream source. + + * examples/fileman.c: Fix typo. Patch by Kamil Dudka. + + * Makefile.am, configure.ac: Add --enable-examples configure parameter. + Make it possible to enable/disable building of the examples programs. + Patch by James Le Cuirot. + +2013-07-12 Jess Thrysoee + + * version-info: 0:47:0 + + * all: sync with upstream source. + + * examples/fileman.c, examples/tc1.c: fix pedantic compiler warnings + +2013-07-10 Jess Thrysoee + + * version-info: 0:46:0 + + * configure.ac, src/el.c: ~/.editrc was never sourced on Linux. + On Linux issetugid is not available. When unable to determine if + the current process is tainted, we did not trust the HOME environment + variable and therefore could not load ~/.editrc. + Now instead use secure_getenv or a issetugid based implementation of secure_getenv. + Patch by Paolo Tosco. + +2013-06-11 Jess Thrysoee + + * version-info: 0:45:0 + + * configure.ac: fix AM_CONDITIONAL regression for strlcpy, strlcat, vis, + unvis checks. + +2013-06-08 Jess Thrysoee + + * version-info: 0:44:0 + + * configure.ac, src/Makefile.am: Prevent 'ranlib: has no symbols' build + warnings for systems that has strlcpy, strlcat, vis, unvis. + +2013-06-01 Jess Thrysoee + + * version-info: 0:43:0 + + * all: sync with upstream source. + +2012-12-13 Jess Thrysoee + + * version-info: 0:42:0 + + * all: sync with upstream source. + +2012-06-01 Jess Thrysoee + + * version-info: 0:41:0 + + * all: sync with upstream source. + +2012-05-22 Jess Thrysoee + + * version-info: 0:40:0 + + * all: sync with upstream source. + +2012-03-11 Jess Thrysoee + + * version-info: 0:39:0 + + * all: sync with upstream source. + +2011-08-02 Jess Thrysoee + + * version-info: 0:38:0 + + * all: sync with upstream source. + +2011-07-09 Jess Thrysoee + + * version-info: 0:37:0 + + * all: sync with upstream source. + +2011-02-27 Jess Thrysoee + + * version-info: 0:36:0 + + * all: sync with upstream source. + +2010-04-24 Jess Thrysoee + + * version-info: 0:35:0 + + * all: sync with upstream source. + Now with UTF-8 support. To enable this run 'configure --enable-widec'. + For now an UTF-32 encoded wchar_t is required. + This requirement is met on NetBSD, Solaris and OS X for any UTF-8 locale, + and any system that define __STDC_ISO_10646__ (e.g. GNU libc on Linux). + +2009-09-23 Jess Thrysoee + * version-info: 0:34:0 + + * all: apply Apple patches from: + http://opensource.apple.com/source/libedit/libedit-11/patches + +2009-09-05 Jess Thrysoee + + * version-info: 0:33:0 + + * all: Use predefined macro __sun to identify Solaris + + * src/el.c: Ignore comment lines in .editrc + +2009-07-23 Jess Thrysoee + + * version-info: 0:32:0 + + * all: sync with upstream source. + +2009-06-10 Jess Thrysoee + + * version-info: 0:31:0 + + * all: sync with upstream source. + +2009-05-03 Jess Thrysoee + + * version-info: 0:30:0 + + * all: sync with upstream source. + +2009-04-05 Jess Thrysoee + + * version-info: 0:29:0 + + * all: sync with upstream source. + +2009-01-11 Jess Thrysoee + + * version-info: 0:28:0 + + * all: sync with upstream source. MAJOR.MINOR version is now 3.0. + This is due to NetBSD changing time_t and dev_t to 64 bits. It does + not really effect this package. + + * configure.ac: Remove '--enable-debug' configure flag. The autoconf way + to control flags is by specifying them when running configure, + e.g. 'CFLAGS="-O0 -g" ./configure' + +2008-07-12 Jess Thrysoee + + * version-info: 0:27:0 + + * configure.ac: Added '--enable-debug' configure flag, to produce debugging + information. + + * examples/fileman.c: cast stat struct members, st_nlink and st_size, + appropriately (see also 'man 2 stat'). Patch by Alex Elder. + + * all: sync with upstream source. MINOR version is now 11. + +2007-08-31 Jess Thrysoee + + * version-info: 0:26:0 + + * libedit.pc.in,Makefile.am,configure.ac,patches/extra_dist_list.sh: + Added pkg-config support for libedit. Patch by Masatake YAMATO. + +2007-08-13 Jess Thrysoee + + * version-info: 0:25:0 + + * all: sync with upstream source. + +2007-03-02 Jess Thrysoee + + * version-info: 0:24:0 + + * all: sync with upstream source. + +2006-10-22 Jess Thrysoee + + * version-info: 0:23:0 + + * src/shlib_version: Upstream bumped minor version from 9 to 10. + + * all: sync with upstream source. More readline functions. + +2006-10-22 Jess Thrysoee + + * version-info: 0:22:0 + + * all: sync with upstream source. + +2006-08-29 Jess Thrysoee + + * version-info: 0:21:0 + + * all: License cleanup. All 4-clause advertising BSD licenses has been + changed to the 3-clause version by upstream. + + * src/fgetln.c: use src/tools/compat/fgetln.c instead of + othersrc/libexec/tnftpd/libnetbsd/fgetln.c + +2006-08-16 Jess Thrysoee + + * version-info: 0:20:0 + + * all: sync with upstream source. + +2006-06-03 Jess Thrysoee + + * version-info: 0:19:0 + + * COPYING: added global license file + + * all: sync with upstream source. + +2006-02-13 Jess Thrysoee + + * version-info: 0:18:0 + + * src/readline.c: Partial rl_getc_function support, patch by Kjeld Borch + Egevang. + + * src/readline.c: Make write_history and read_history returncode readline + compatible. Upstream patch. + +2006-01-03 Jess Thrysoee + + * version-info: 0:17:0 + + * patches/cvs_export.sh: strlcat.c and strlcpy.c was moved to + src/common/lib/libc/string in the upstream cvs repository. + + * all: sync with upstream source. + +2005-10-22 Jess Thrysoee + + * version-info: 0:16:0 + + * patches/*.patch, configure.ac: define SCCSID, undef LIBC_SCCS. Remove + fourteen cosmetic patches. + + * all: sync with upstream source. + +2005-09-11 Jess Thrysoee + + * version-info: 0:15:0 + + * src/Makefile.am: fix typo that meant generated files were distributes, + and make generated file targets dependent on the the 'makelist' input + files. + + * all: sync with upstream source. This is just a manpage update + +2005-08-28 Jess Thrysoee + + * version-info: 0:14:0 + + * src/sys.h: include config.h to avoid "redefinition of + `u_int32_t'". Patch by Norihiko Murase. + + * src/search.c: explicitly include sys/types.h, because regex.h on + FreeBSD needs it and does not include it itself. Patch by Norihiko Murase. + + * acinclude.m4: added EL_GETPW_R_DRAFT test and use AC_TRY_LINK instead + of AC_TRY_COMPILE. Suggested by Norihiko Murase. + + * all: sync with upstream source. + +2005-08-16 Jess Thrysoee + + * version-info: 0:13:0 + + * all: sync with upstream source. + +2005-08-05 Jess Thrysoee + + * version-info: 0:12:0 + + * all: sync with upstream source. + +2005-07-24 Jess Thrysoee + + * version-info: 0:11:0 + + * histedit.h, histedit.c, readline.c, editline/readline.h: From + upstream; added remove_history(). + +2005-07-07 Jess Thrysoee + + * version-info: 0:10:0 + + * history.c, key.c: From upstream source; Fix memory leaks found by + valgrind. + +2005-06-28 Jess Thrysoee + + * version-info: 0:9:0 + + * src/readline.c: getpwent_r is not POSIX, always use getpwent. + Reported by Gerrit P. Haase. + + * src/Makefile.am: Added libtool -no-undefined. This is needed on Cygwin + to get a shared editline library. Should not affect other platforms. + Suggested by Gerrit P. Haase. + +2005-06-15 Jess Thrysoee + + * version-info: 0:8:0 + + * all: sync with upstream source. + +2005-06-01 Jess Thrysoee + + * version-info: 0:7:0 + + * all: sync with upstream source. + + * src/readline.c, src/filecomplete.c: Solaris use POSIX draft versions + of getpwent_r, getpwnam_r and getpwuid_r which return 'struct passwd *'. + Define HAVE_GETPW_R_POSIX if these functions are (non draft) POSIX + compatible. Patch by Julien Torrès. + +2005-05-28 Jess Thrysoee + + * version-info: 0:6:0 + + * all: sync with upstream source. + +2005-03-11 Jess Thrysoee + + * version-info: 0:5:0 + + * all: sync with upstream source. + +2004-12-07 Jess Thrysoee + + * version-info: 0:4:0 + + * src/readline.c: d_namlen (in struct dirent) is not portable, always + use strlen. Patch by Scott Rankin. + +2004-11-27 Jess Thrysoee + + * version-info: 0:3:0 + + * src/history.c: bug #26785 fixed upstream, removed local patch. + +2004-11-06 Jess Thrysoee + + * version-info: 0:2:0 + + * all: sync with upstream source. + + * doc/Makefile.am: If mdoc2man fails, remove empty file. Patch by + Darren Tucker. + +2004-10-14 Jess Thrysoee + + * version-info: 0:1:0 + + * doc/Makefile.am: 'make install' twice fails. Remove old links before + trying to link the man pages. Patch by Rick Richardson. + +2004-09-28 Jess Thrysoee + + * version-info: 0:0:0 + + * acinclude.m4 configure.ac src/Makefile.am: Adhere to + LibTools library interface versions recommendation. + http://www.gnu.org/software/libtool/manual.html#SEC32 + + * doc/Makefile.am: name all manpage links as el_* (e.g. el_history.3) + to avoid conflicts. + +2004-09-08 Jess Thrysoee + + * all: Initial package. diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/compile mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/compile --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/compile 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/compile 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,348 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/config.h.in mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/config.h.in --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/config.h.in 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/config.h.in 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,287 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the `closedir' function returns void instead of `int'. */ +#undef CLOSEDIR_VOID + +/* Define to 1 if you have the header file. */ +#undef HAVE_CURSES_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_DIRENT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the `endpwent' function. */ +#undef HAVE_ENDPWENT + +/* Define to 1 if you have the header file. */ +#undef HAVE_FCNTL_H + +/* Define to 1 if you have the `fork' function. */ +#undef HAVE_FORK + +/* Define to 1 if you have the `getline' function. */ +#undef HAVE_GETLINE + +/* Define to 1 if you have getpwnam_r and getpwuid_r that are draft POSIX.1 + versions. */ +#undef HAVE_GETPW_R_DRAFT + +/* Define to 1 if you have getpwnam_r and getpwuid_r that are POSIX.1 + compatible. */ +#undef HAVE_GETPW_R_POSIX + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `isascii' function. */ +#undef HAVE_ISASCII + +/* Define to 1 if you have the `issetugid' function. */ +#undef HAVE_ISSETUGID + +/* Define to 1 if you have the `curses' library (-lcurses). */ +#undef HAVE_LIBCURSES + +/* Define to 1 if you have the `ncurses' library (-lncurses). */ +#undef HAVE_LIBNCURSES + +/* Define to 1 if you have the `termcap' library (-ltermcap). */ +#undef HAVE_LIBTERMCAP + +/* Define to 1 if you have the `tinfo' library (-ltinfo). */ +#undef HAVE_LIBTINFO + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MALLOC_H + +/* Define to 1 if you have the `memchr' function. */ +#undef HAVE_MEMCHR + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `memset' function. */ +#undef HAVE_MEMSET + +/* Define to 1 if you have the header file. */ +#undef HAVE_NCURSES_H + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +#undef HAVE_NDIR_H + +/* Define to 1 if you have the `regcomp' function. */ +#undef HAVE_REGCOMP + +/* Define to 1 if you have the `re_comp' function. */ +#undef HAVE_RE_COMP + +/* Define to 1 if you have the `secure_getenv' function. */ +#undef HAVE_SECURE_GETENV + +/* Define to 1 if `stat' has the bug that it succeeds when given the + zero-length file name argument. */ +#undef HAVE_STAT_EMPTY_STRING_BUG + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP + +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR + +/* Define to 1 if you have the `strcspn' function. */ +#undef HAVE_STRCSPN + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + +/* Define to 1 if you have the `strerror' function. */ +#undef HAVE_STRERROR + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strlcat' function. */ +#undef HAVE_STRLCAT + +/* Define to 1 if you have the `strlcpy' function. */ +#undef HAVE_STRLCPY + +/* Define to 1 if you have the `strrchr' function. */ +#undef HAVE_STRRCHR + +/* Define to 1 if you have the `strstr' function. */ +#undef HAVE_STRSTR + +/* Define to 1 if you have the `strtol' function. */ +#undef HAVE_STRTOL + +/* Define to 1 if struct dirent has member d_namlen */ +#undef HAVE_STRUCT_DIRENT_D_NAMLEN + +/* Define to 1 if you have the `strunvis' function. */ +#undef HAVE_STRUNVIS + +/* Define to 1 if you have the `strvis' function. */ +#undef HAVE_STRVIS + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_CDEFS_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_DIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_IOCTL_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_NDIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#undef HAVE_SYS_WAIT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_TERMCAP_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_TERM_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if the system has the type `u_int32_t'. */ +#undef HAVE_U_INT32_T + +/* Define to 1 if you have the `vfork' function. */ +#undef HAVE_VFORK + +/* Define to 1 if you have the header file. */ +#undef HAVE_VFORK_H + +/* Define to 1 if you have the `vis' function. */ +#undef HAVE_VIS + +/* Define to 1 if you have the `wcsdup' function. */ +#undef HAVE_WCSDUP + +/* Define to 1 if `fork' works. */ +#undef HAVE_WORKING_FORK + +/* Define to 1 if `vfork' works. */ +#undef HAVE_WORKING_VFORK + +/* Define to 1 if you have the `__secure_getenv' function. */ +#undef HAVE___SECURE_GETENV + +/* Define to 1 if `lstat' dereferences a symlink specified with a trailing + slash. */ +#undef LSTAT_FOLLOWS_SLASHED_SYMLINK + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#undef LT_OBJDIR + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define as the return type of signal handlers (`int' or `void'). */ +#undef RETSIGTYPE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif + + +/* Version number of package */ +#undef VERSION + +/* Define to 1 if on MINIX. */ +#undef _MINIX + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#undef _POSIX_1_SOURCE + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#undef _POSIX_SOURCE + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `int' if does not define. */ +#undef pid_t + +/* Define to `unsigned int' if does not define. */ +#undef size_t + +/* Define as `fork' if `vfork' does not work. */ +#undef vfork + + +#include "sys.h" +#define SCCSID +#undef LIBC_SCCS +#define lint + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/configure mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/configure --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/configure 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/configure 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,16085 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for libedit 3.1. +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +SHELL=${CONFIG_SHELL-/bin/sh} + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='libedit' +PACKAGE_TARNAME='libedit-20191231' +PACKAGE_VERSION='3.1' +PACKAGE_STRING='libedit 3.1' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +ac_unique_file="src/strlcat.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +HAVE_UNVIS_FALSE +HAVE_UNVIS_TRUE +HAVE_VIS_FALSE +HAVE_VIS_TRUE +HAVE_STRLCAT_FALSE +HAVE_STRLCAT_TRUE +HAVE_STRLCPY_FALSE +HAVE_STRLCPY_TRUE +LIBOBJS +ENABLE_EXAMPLES_FALSE +ENABLE_EXAMPLES_TRUE +MANTYPE +NROFF +LT_VERSION +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +ac_ct_AR +AR +DLLTOOL +OBJDUMP +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +SED +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__include +DEPDIR +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +EGREP +GREP +CPP +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL +am__quote' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_dependency_tracking +enable_silent_rules +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_widec +enable_examples +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +LT_SYS_LIBRARY_PATH' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures libedit 3.1 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root + [DATAROOTDIR/doc/libedit-20191231] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of libedit 3.1:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-widec deprecated, wide-character/UTF-8 is always enabled + --enable-examples build the example programs [default=yes] + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, [default=aix]. + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-sysroot[=DIR] Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to the package provider. +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +libedit configure 3.1 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES +# ---------------------------------------------------- +# Tries to find if the field MEMBER exists in type AGGR, after including +# INCLUDES, setting cache variable VAR accordingly. +ac_fn_c_check_member () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 +$as_echo_n "checking for $2.$3... " >&6; } +if eval \${$4+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (sizeof ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + eval "$4=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$4 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_member + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by libedit $as_me 3.1, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + +ac_config_headers="$ac_config_headers config.h" + + +# features of Posix that are extensions to C (define _GNU_SOURCE) +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" +if test "x$ac_cv_header_minix_config_h" = xyes; then : + MINIX=yes +else + MINIX= +fi + + + if test "$MINIX" = yes; then + +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h + + +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h + + +$as_echo "#define _MINIX 1" >>confdefs.h + + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 +$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } +if ${ac_cv_safe_to_define___extensions__+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +# define __EXTENSIONS__ 1 + $ac_includes_default +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_safe_to_define___extensions__=yes +else + ac_cv_safe_to_define___extensions__=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 +$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } + test $ac_cv_safe_to_define___extensions__ = yes && + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h + + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h + + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h + + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h + + + +am__api_version='1.16' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in #( + '0:this is the am__doit target') : + case $s in #( + BSD) : + am__include='.include' am__quote='"' ;; #( + *) : + am__include='include' am__quote='' ;; +esac ;; #( + *) : + ;; +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +$as_echo "${_am_result}" >&6; } + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='libedit-20191231' + VERSION='3.1' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.6' +macro_revision='2.4.6' + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} +: ${AR_FLAGS=cru} + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in dd; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR cru libconftest.a conftest.o" >&5 + $AR cru libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[012][,.]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + pic_mode=default +fi + + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +# Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else + if ${lt_cv_with_aix_soname+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen=shl_load +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen=dlopen +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi + + + + + + + + + + + + + # Report what library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + +# libtool -version-info +LT_VERSION=0:63:0 + + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + + +# Checks for programs. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 +$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } +if ${ac_cv_prog_cc_c99+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#include + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +#define debug(...) fprintf (stderr, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + your preprocessor is broken; +#endif +#if BIG_OK +#else + your preprocessor is broken; +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\0'; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static void +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str; + int number; + float fnumber; + + while (*format) + { + switch (*format++) + { + case 's': // string + str = va_arg (args_copy, const char *); + break; + case 'd': // int + number = va_arg (args_copy, int); + break; + case 'f': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); +} + +int +main () +{ + + // Check bool. + _Bool success = false; + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + test_varargs ("s, d' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' + || dynamic_array[ni.number - 1] != 543); + + ; + return 0; +} +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c99" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c99" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c99" != xno; then : + +fi + + +#AC_PROG_CC +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + + + MANTYPE= + TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" + for ac_prog in nroff awf +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_NROFF+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $NROFF in + [\\/]* | ?:[\\/]*) + ac_cv_path_NROFF="$NROFF" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $TestPath +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +NROFF=$ac_cv_path_NROFF +if test -n "$NROFF"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5 +$as_echo "$NROFF" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$NROFF" && break +done +test -n "$NROFF" || NROFF="/bin/false" + + if ${NROFF} -mdoc ${srcdir}/doc/editrc.5.roff >/dev/null 2>&1; then + MANTYPE=mdoc + fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5 +$as_echo_n "checking for tgetent in -lncurses... " >&6; } +if ${ac_cv_lib_ncurses_tgetent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lncurses $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ncurses_tgetent=yes +else + ac_cv_lib_ncurses_tgetent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5 +$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; } +if test "x$ac_cv_lib_ncurses_tgetent" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBNCURSES 1 +_ACEOF + + LIBS="-lncurses $LIBS" + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lcurses" >&5 +$as_echo_n "checking for tgetent in -lcurses... " >&6; } +if ${ac_cv_lib_curses_tgetent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcurses $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_curses_tgetent=yes +else + ac_cv_lib_curses_tgetent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_tgetent" >&5 +$as_echo "$ac_cv_lib_curses_tgetent" >&6; } +if test "x$ac_cv_lib_curses_tgetent" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBCURSES 1 +_ACEOF + + LIBS="-lcurses $LIBS" + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 +$as_echo_n "checking for tgetent in -ltermcap... " >&6; } +if ${ac_cv_lib_termcap_tgetent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltermcap $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_termcap_tgetent=yes +else + ac_cv_lib_termcap_tgetent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetent" >&5 +$as_echo "$ac_cv_lib_termcap_tgetent" >&6; } +if test "x$ac_cv_lib_termcap_tgetent" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBTERMCAP 1 +_ACEOF + + LIBS="-ltermcap $LIBS" + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltinfo" >&5 +$as_echo_n "checking for tgetent in -ltinfo... " >&6; } +if ${ac_cv_lib_tinfo_tgetent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ltinfo $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char tgetent (); +int +main () +{ +return tgetent (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_tinfo_tgetent=yes +else + ac_cv_lib_tinfo_tgetent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_tgetent" >&5 +$as_echo "$ac_cv_lib_tinfo_tgetent" >&6; } +if test "x$ac_cv_lib_tinfo_tgetent" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBTINFO 1 +_ACEOF + + LIBS="-ltinfo $LIBS" + +else + as_fn_error $? "libncurses, libcurses, libtermcap or libtinfo is required!" "$LINENO" 5 + +fi + + +fi + + +fi + + +fi + + +### deprecate option --enable-widec to turn on use of wide-character support + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if you want wide-character code" >&5 +$as_echo_n "checking if you want wide-character code... " >&6; } + # Check whether --enable-widec was given. +if test "${enable_widec+set}" = set; then : + enableval=$enable_widec; with_widec=$enableval +else + with_widec=no +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_widec" >&5 +$as_echo "$with_widec" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-widec is deprecated, wide-character/UTF-8 is always enabled" >&5 +$as_echo "$as_me: WARNING: --enable-widec is deprecated, wide-character/UTF-8 is always enabled" >&2;} + + +# Check whether --enable-examples was given. +if test "${enable_examples+set}" = set; then : + enableval=$enable_examples; enable_examples="$enableval" +else + enable_examples="yes" + +fi + + + if test "$enable_examples" = "yes"; then + ENABLE_EXAMPLES_TRUE= + ENABLE_EXAMPLES_FALSE='#' +else + ENABLE_EXAMPLES_TRUE='#' + ENABLE_EXAMPLES_FALSE= +fi + + +# Checks for header files. +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 +$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } +if eval \${$as_ac_Header+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_ac_Header=yes" +else + eval "$as_ac_Header=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break +fi + +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 +$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } +if ${ac_cv_header_sys_wait_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#ifndef WEXITSTATUS +# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) +#endif +#ifndef WIFEXITED +# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) +#endif + +int +main () +{ + int s; + wait (&s); + s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_sys_wait_h=yes +else + ac_cv_header_sys_wait_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 +$as_echo "$ac_cv_header_sys_wait_h" >&6; } +if test $ac_cv_header_sys_wait_h = yes; then + +$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h + +fi + +for ac_header in fcntl.h limits.h malloc.h stdlib.h string.h sys/ioctl.h sys/param.h unistd.h curses.h ncurses.h sys/cdefs.h termcap.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +ac_fn_c_check_header_mongrel "$LINENO" "ncurses.h" "ac_cv_header_ncurses_h" "$ac_includes_default" +if test "x$ac_cv_header_ncurses_h" = xyes; then : + +else + ac_fn_c_check_header_mongrel "$LINENO" "curses.h" "ac_cv_header_curses_h" "$ac_includes_default" +if test "x$ac_cv_header_curses_h" = xyes; then : + +else + ac_fn_c_check_header_mongrel "$LINENO" "termcap.h" "ac_cv_header_termcap_h" "$ac_includes_default" +if test "x$ac_cv_header_termcap_h" = xyes; then : + +else + as_fn_error $? "ncurses.h, curses.h, or termcap.h is required!" "$LINENO" 5 +fi + + +fi + + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "termios.h" "ac_cv_header_termios_h" "$ac_includes_default" +if test "x$ac_cv_header_termios_h" = xyes; then : + +else + as_fn_error $? "termios.h is required!" "$LINENO" 5 +fi + + + +## include curses.h to prevent "Present But Cannot Be Compiled" +for ac_header in term.h +do : + ac_fn_c_check_header_compile "$LINENO" "term.h" "ac_cv_header_term_h" "#if HAVE_CURSES_H +# include +#elif HAVE_NCURSES_H +# include +#endif + +" +if test "x$ac_cv_header_term_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_TERM_H 1 +_ACEOF + +fi + +done + + +# Check for dirent.d_namlen field explicitly +# (This is a bit more straightforward than, if not quite as portable as, +# the recipe given by the autoconf maintainers.) +ac_fn_c_check_member "$LINENO" "struct dirent" "d_namlen" "ac_cv_member_struct_dirent_d_namlen" "#if HAVE_DIRENT_H +#include +#endif + +" +if test "x$ac_cv_member_struct_dirent_d_namlen" = xyes; then : + +$as_echo "#define HAVE_STRUCT_DIRENT_D_NAMLEN 1" >>confdefs.h + +fi + + +# Checks for typedefs, structures, and compiler characteristics. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if ${ac_cv_c_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __cplusplus + /* Ultrix mips cc rejects this sort of thing. */ + typedef int charset[2]; + const charset cs = { 0, 0 }; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes +else + ac_cv_c_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +$as_echo "#define const /**/" >>confdefs.h + +fi + +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "$ac_includes_default" +if test "x$ac_cv_type_u_int32_t" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_U_INT32_T 1 +_ACEOF + + +fi + + +# Checks for library functions. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5 +$as_echo_n "checking whether closedir returns void... " >&6; } +if ${ac_cv_func_closedir_void+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_closedir_void=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header_dirent> +#ifndef __cplusplus +int closedir (); +#endif + +int +main () +{ +return closedir (opendir (".")) != 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_closedir_void=no +else + ac_cv_func_closedir_void=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5 +$as_echo "$ac_cv_func_closedir_void" >&6; } +if test $ac_cv_func_closedir_void = yes; then + +$as_echo "#define CLOSEDIR_VOID 1" >>confdefs.h + +fi + +for ac_header in vfork.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" +if test "x$ac_cv_header_vfork_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_VFORK_H 1 +_ACEOF + +fi + +done + +for ac_func in fork vfork +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +if test "x$ac_cv_func_fork" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 +$as_echo_n "checking for working fork... " >&6; } +if ${ac_cv_func_fork_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_fork_works=cross +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* By Ruediger Kuhlmann. */ + return fork () < 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_fork_works=yes +else + ac_cv_func_fork_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 +$as_echo "$ac_cv_func_fork_works" >&6; } + +else + ac_cv_func_fork_works=$ac_cv_func_fork +fi +if test "x$ac_cv_func_fork_works" = xcross; then + case $host in + *-*-amigaos* | *-*-msdosdjgpp*) + # Override, as these systems have only a dummy fork() stub + ac_cv_func_fork_works=no + ;; + *) + ac_cv_func_fork_works=yes + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} +fi +ac_cv_func_vfork_works=$ac_cv_func_vfork +if test "x$ac_cv_func_vfork" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 +$as_echo_n "checking for working vfork... " >&6; } +if ${ac_cv_func_vfork_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_vfork_works=cross +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Thanks to Paul Eggert for this test. */ +$ac_includes_default +#include +#ifdef HAVE_VFORK_H +# include +#endif +/* On some sparc systems, changes by the child to local and incoming + argument registers are propagated back to the parent. The compiler + is told about this with #include , but some compilers + (e.g. gcc -O) don't grok . Test for this by using a + static variable whose address is put into a register that is + clobbered by the vfork. */ +static void +#ifdef __cplusplus +sparc_address_test (int arg) +# else +sparc_address_test (arg) int arg; +#endif +{ + static pid_t child; + if (!child) { + child = vfork (); + if (child < 0) { + perror ("vfork"); + _exit(2); + } + if (!child) { + arg = getpid(); + write(-1, "", 0); + _exit (arg); + } + } +} + +int +main () +{ + pid_t parent = getpid (); + pid_t child; + + sparc_address_test (0); + + child = vfork (); + + if (child == 0) { + /* Here is another test for sparc vfork register problems. This + test uses lots of local variables, at least as many local + variables as main has allocated so far including compiler + temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris + 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should + reuse the register of parent for one of the local variables, + since it will think that parent can't possibly be used any more + in this routine. Assigning to the local variable will thus + munge parent in the parent process. */ + pid_t + p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), + p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); + /* Convince the compiler that p..p7 are live; otherwise, it might + use the same hardware register for all 8 local variables. */ + if (p != p1 || p != p2 || p != p3 || p != p4 + || p != p5 || p != p6 || p != p7) + _exit(1); + + /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent + from child file descriptors. If the child closes a descriptor + before it execs or exits, this munges the parent's descriptor + as well. Test for this by closing stdout in the child. */ + _exit(close(fileno(stdout)) != 0); + } else { + int status; + struct stat st; + + while (wait(&status) != child) + ; + return ( + /* Was there some problem with vforking? */ + child < 0 + + /* Did the child fail? (This shouldn't happen.) */ + || status + + /* Did the vfork/compiler bug occur? */ + || parent != getpid() + + /* Did the file descriptor bug occur? */ + || fstat(fileno(stdout), &st) != 0 + ); + } +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_vfork_works=yes +else + ac_cv_func_vfork_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 +$as_echo "$ac_cv_func_vfork_works" >&6; } + +fi; +if test "x$ac_cv_func_fork_works" = xcross; then + ac_cv_func_vfork_works=$ac_cv_func_vfork + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} +fi + +if test "x$ac_cv_func_vfork_works" = xyes; then + +$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h + +else + +$as_echo "#define vfork fork" >>confdefs.h + +fi +if test "x$ac_cv_func_fork_works" = xyes; then + +$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h + +fi + +if test $ac_cv_c_compiler_gnu = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 +$as_echo_n "checking whether $CC needs -traditional... " >&6; } +if ${ac_cv_prog_gcc_traditional+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_pattern="Autoconf.*'x'" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +Autoconf TIOCGETP +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then : + ac_cv_prog_gcc_traditional=yes +else + ac_cv_prog_gcc_traditional=no +fi +rm -f conftest* + + + if test $ac_cv_prog_gcc_traditional = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +Autoconf TCGETA +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then : + ac_cv_prog_gcc_traditional=yes +fi +rm -f conftest* + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 +$as_echo "$ac_cv_prog_gcc_traditional" >&6; } + if test $ac_cv_prog_gcc_traditional = yes; then + CC="$CC -traditional" + fi +fi + +## _AIX is offended by rpl_malloc and rpl_realloc +#AC_FUNC_MALLOC +#AC_FUNC_REALLOC +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 +$as_echo_n "checking return type of signal handlers... " >&6; } +if ${ac_cv_type_signal+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include + +int +main () +{ +return *(signal (0, 0)) (0) == 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_type_signal=int +else + ac_cv_type_signal=void +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 +$as_echo "$ac_cv_type_signal" >&6; } + +cat >>confdefs.h <<_ACEOF +#define RETSIGTYPE $ac_cv_type_signal +_ACEOF + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 +$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } +if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest.sym conftest.file +echo >conftest.file +if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then + if test "$cross_compiling" = yes; then : + ac_cv_func_lstat_dereferences_slashed_symlink=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +struct stat sbuf; + /* Linux will dereference the symlink and fail, as required by POSIX. + That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_lstat_dereferences_slashed_symlink=yes +else + ac_cv_func_lstat_dereferences_slashed_symlink=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +else + # If the `ln -s' command failed, then we probably don't even + # have an lstat function. + ac_cv_func_lstat_dereferences_slashed_symlink=no +fi +rm -f conftest.sym conftest.file + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 +$as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } + +test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && + +cat >>confdefs.h <<_ACEOF +#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 +_ACEOF + + +if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then + case " $LIBOBJS " in + *" lstat.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lstat.$ac_objext" + ;; +esac + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat accepts an empty string" >&5 +$as_echo_n "checking whether stat accepts an empty string... " >&6; } +if ${ac_cv_func_stat_empty_string_bug+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_stat_empty_string_bug=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +struct stat sbuf; + return stat ("", &sbuf) == 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_stat_empty_string_bug=no +else + ac_cv_func_stat_empty_string_bug=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_stat_empty_string_bug" >&5 +$as_echo "$ac_cv_func_stat_empty_string_bug" >&6; } +if test $ac_cv_func_stat_empty_string_bug = yes; then + case " $LIBOBJS " in + *" stat.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS stat.$ac_objext" + ;; +esac + + +cat >>confdefs.h <<_ACEOF +#define HAVE_STAT_EMPTY_STRING_BUG 1 +_ACEOF + +fi + +for ac_func in endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat getline vis strvis strunvis __secure_getenv secure_getenv +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +# strlcpy +ac_fn_c_check_func "$LINENO" "strlcpy" "ac_cv_func_strlcpy" +if test "x$ac_cv_func_strlcpy" = xyes; then : + found_strlcpy=yes +else + found_strlcpy=no +fi + + if test "x$found_strlcpy" = xyes; then + HAVE_STRLCPY_TRUE= + HAVE_STRLCPY_FALSE='#' +else + HAVE_STRLCPY_TRUE='#' + HAVE_STRLCPY_FALSE= +fi + + +# strlcat +ac_fn_c_check_func "$LINENO" "strlcat" "ac_cv_func_strlcat" +if test "x$ac_cv_func_strlcat" = xyes; then : + found_strlcat=yes +else + found_strlcat=no +fi + + if test "x$found_strlcat" = xyes; then + HAVE_STRLCAT_TRUE= + HAVE_STRLCAT_FALSE='#' +else + HAVE_STRLCAT_TRUE='#' + HAVE_STRLCAT_FALSE= +fi + + +# vis +ac_fn_c_check_func "$LINENO" "vis" "ac_cv_func_vis" +if test "x$ac_cv_func_vis" = xyes; then : + found_vis=yes +else + found_vis=no +fi + + if test "x$found_vis" = xyes; then + HAVE_VIS_TRUE= + HAVE_VIS_FALSE='#' +else + HAVE_VIS_TRUE='#' + HAVE_VIS_FALSE= +fi + + +# unvis +ac_fn_c_check_func "$LINENO" "unvis" "ac_cv_func_unvis" +if test "x$ac_cv_func_unvis" = xyes; then : + found_unvis=yes +else + found_unvis=no +fi + + if test "x$found_unvis" = xyes; then + HAVE_UNVIS_TRUE= + HAVE_UNVIS_FALSE='#' +else + HAVE_UNVIS_TRUE='#' + HAVE_UNVIS_FALSE= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpwnam_r and getpwuid_r are posix like" >&5 +$as_echo_n "checking whether getpwnam_r and getpwuid_r are posix like... " >&6; } + # The prototype for the POSIX version is: + # int getpwnam_r(char *, struct passwd *, char *, size_t, struct passwd **) + # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **); + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include +int +main () +{ +getpwnam_r(NULL, NULL, NULL, (size_t)0, NULL); + getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "#define HAVE_GETPW_R_POSIX 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpwnam_r and getpwuid_r are posix _draft_ like" >&5 +$as_echo_n "checking whether getpwnam_r and getpwuid_r are posix _draft_ like... " >&6; } + # The prototype for the POSIX draft version is: + # struct passwd *getpwuid_r(uid_t, struct passwd *, char *, int); + # struct passwd *getpwnam_r(char *, struct passwd *, char *, int); + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include +int +main () +{ +getpwnam_r(NULL, NULL, NULL, (size_t)0); + getpwuid_r((uid_t)0, NULL, NULL, (size_t)0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "#define HAVE_GETPW_R_DRAFT 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + + + + +ac_config_files="$ac_config_files Makefile libedit.pc src/Makefile doc/Makefile examples/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${ENABLE_EXAMPLES_TRUE}" && test -z "${ENABLE_EXAMPLES_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_EXAMPLES\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_STRLCPY_TRUE}" && test -z "${HAVE_STRLCPY_FALSE}"; then + as_fn_error $? "conditional \"HAVE_STRLCPY\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_STRLCAT_TRUE}" && test -z "${HAVE_STRLCAT_FALSE}"; then + as_fn_error $? "conditional \"HAVE_STRLCAT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_VIS_TRUE}" && test -z "${HAVE_VIS_FALSE}"; then + as_fn_error $? "conditional \"HAVE_VIS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_UNVIS_TRUE}" && test -z "${HAVE_UNVIS_FALSE}"; then + as_fn_error $? "conditional \"HAVE_UNVIS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# 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 +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by libedit $as_me 3.1, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -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 the package provider." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +libedit config.status 3.1 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +AR_FLAGS \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "libedit.pc") CONFIG_FILES="$CONFIG_FILES libedit.pc" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + 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 + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # 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 by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in #( + *\'*) : + eval set x "$CONFIG_FILES" ;; #( + *) : + set x $CONFIG_FILES ;; #( + *) : + ;; +esac + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? + done + if test $am_rc -ne 0; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive. +AR_FLAGS=$lt_AR_FLAGS + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/configure.ac mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/configure.ac --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/configure.ac 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/configure.ac 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,157 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. +# +# Compile with debug symbols: +# CFLAGS="-ggdb -pedandic -O0" ./configure +# CFLAGS="-ggdb -Wall -Wextra -pedantic -O0" ./configure +# +# Use libtool (glibtool on OSX) to debug: +# +# libtool --mode=execute gdb examples/tc1 +# +# Run valgrind like this, but note +# http://invisible-island.net/ncurses/ncurses.faq.html#config_leaks. +# +# libtool --mode=execute valgrind --leak-check=full examples/tc1 +# +# A valgrind suppressions file for ncurses is available at +# http://www.opensource.apple.com/source/ncurses/ncurses-27/ncurses/misc/ncurses.supp +# +# libtool --mode=execute valgrind --suppressions=ncurses.supp.txt --leak-check=full examples/tc1 +# +# Verbose output can be enabled with +# "./configure --disable-silent-rules" or "make V=1" +# + +AC_INIT(libedit, [EL_RELEASE],, libedit-[EL_TIMESTAMP]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_SRCDIR([src/strlcat.c]) +AC_CONFIG_HEADER([config.h]) + +# features of Posix that are extensions to C (define _GNU_SOURCE) +AC_USE_SYSTEM_EXTENSIONS + +AM_INIT_AUTOMAKE +AC_PROG_LIBTOOL + +# libtool -version-info +AC_SUBST(LT_VERSION, [0:63:0]) + +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +# Checks for programs. +AC_PROG_CC_C99 +#AC_PROG_CC +AC_PROG_LN_S +AC_PROG_AWK +EL_MANTYPE + +AC_CHECK_LIB(ncurses, tgetent,, + [AC_CHECK_LIB(curses, tgetent,, + [AC_CHECK_LIB(termcap, tgetent,, + [AC_CHECK_LIB(tinfo, tgetent,, + [AC_MSG_ERROR([libncurses, libcurses, libtermcap or libtinfo is required!])] + )] + )] + )] +) + +### deprecate option --enable-widec to turn on use of wide-character support +EL_DEPRECATE_WIDEC + +AC_ARG_ENABLE( + [examples], + [AS_HELP_STRING([--enable-examples], [build the example programs [default=yes]])], + [enable_examples="$enableval"], + [enable_examples="yes"] +) + +AM_CONDITIONAL(ENABLE_EXAMPLES, [test "$enable_examples" = "yes"]) + +# Checks for header files. +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/ioctl.h sys/param.h unistd.h curses.h ncurses.h sys/cdefs.h termcap.h]) + +AC_CHECK_HEADER([ncurses.h], [], + [AC_CHECK_HEADER([curses.h], [], + [AC_CHECK_HEADER([termcap.h], [], + [AC_MSG_ERROR([ncurses.h, curses.h, or termcap.h is required!])], + [])], + [])], +[]) + +AC_CHECK_HEADER([termios.h], [], [AC_MSG_ERROR([termios.h is required!])], []) + +## include curses.h to prevent "Present But Cannot Be Compiled" +AC_CHECK_HEADERS([term.h],,, +[[#if HAVE_CURSES_H +# include +#elif HAVE_NCURSES_H +# include +#endif +]]) + +# Check for dirent.d_namlen field explicitly +# (This is a bit more straightforward than, if not quite as portable as, +# the recipe given by the autoconf maintainers.) +AC_CHECK_MEMBER(struct dirent.d_namlen, +AC_DEFINE([HAVE_STRUCT_DIRENT_D_NAMLEN],[1], +[Define to 1 if struct dirent has member d_namlen]),, +[#if HAVE_DIRENT_H +#include +#endif +]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_PID_T +AC_TYPE_SIZE_T +AC_CHECK_TYPES([u_int32_t]) + +# Checks for library functions. +AC_FUNC_CLOSEDIR_VOID +AC_FUNC_FORK +AC_PROG_GCC_TRADITIONAL +## _AIX is offended by rpl_malloc and rpl_realloc +#AC_FUNC_MALLOC +#AC_FUNC_REALLOC +AC_TYPE_SIGNAL +AC_FUNC_STAT +AC_CHECK_FUNCS([endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat getline vis strvis strunvis __secure_getenv secure_getenv]) + +# strlcpy +AC_CHECK_FUNC(strlcpy, found_strlcpy=yes, found_strlcpy=no) +AM_CONDITIONAL(HAVE_STRLCPY, [test "x$found_strlcpy" = xyes]) + +# strlcat +AC_CHECK_FUNC(strlcat, found_strlcat=yes, found_strlcat=no) +AM_CONDITIONAL(HAVE_STRLCAT, [test "x$found_strlcat" = xyes]) + +# vis +AC_CHECK_FUNC(vis, found_vis=yes, found_vis=no) +AM_CONDITIONAL(HAVE_VIS, [test "x$found_vis" = xyes]) + +# unvis +AC_CHECK_FUNC(unvis, found_unvis=yes, found_unvis=no) +AM_CONDITIONAL(HAVE_UNVIS, [test "x$found_unvis" = xyes]) + + +EL_GETPW_R_POSIX +EL_GETPW_R_DRAFT + + +AH_BOTTOM([ +#include "sys.h" +#define SCCSID +#undef LIBC_SCCS +#define lint +]) + +AC_CONFIG_FILES([Makefile + libedit.pc + src/Makefile + doc/Makefile + examples/Makefile]) +AC_OUTPUT diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/COPYING mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/COPYING --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/COPYING 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/COPYING 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,30 @@ +Copyright (c) 1992, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Christos Zoulas of Cornell University. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/depcomp mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/depcomp --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/depcomp 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/depcomp 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,791 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 1999-2018 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Avoid interferences from the environment. +gccflag= dashmflag= + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The second -e expression handles DOS-style file names with drive + # letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. +## Some versions of gcc put a space before the ':'. On the theory +## that the space means something, we add a space to the output as +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\' : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/editline.3.roff mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/editline.3.roff --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/editline.3.roff 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/editline.3.roff 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,1006 @@ +.\" $NetBSD: editline.3,v 1.99 2018/11/18 17:09:39 christos Exp $ +.\" +.\" Copyright (c) 1997-2014 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This file was contributed to The NetBSD Foundation by Luke Mewburn. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd November 9, 2018 +.Dt EDITLINE 3 +.Os +.Sh NAME +.Nm editline , +.Nm el_init , +.Nm el_init_fd , +.Nm el_end , +.Nm el_reset , +.Nm el_gets , +.Nm el_wgets , +.Nm el_getc , +.Nm el_wgetc , +.Nm el_push , +.Nm el_wpush , +.Nm el_parse , +.Nm el_wparse , +.Nm el_set , +.Nm el_wset , +.Nm el_get , +.Nm el_wget , +.Nm el_source , +.Nm el_resize , +.Nm el_cursor , +.Nm el_line , +.Nm el_wline , +.Nm el_insertstr , +.Nm el_winsertstr , +.Nm el_deletestr , +.Nm el_wdeletestr , +.Nm history_init , +.Nm history_winit , +.Nm history_end , +.Nm history_wend , +.Nm history , +.Nm history_w , +.Nm tok_init , +.Nm tok_winit , +.Nm tok_end , +.Nm tok_wend , +.Nm tok_reset , +.Nm tok_wreset , +.Nm tok_line , +.Nm tok_wline , +.Nm tok_str , +.Nm tok_wstr +.Nd line editor, history and tokenization functions +.Sh LIBRARY +.Lb libedit +.Sh SYNOPSIS +.In histedit.h +.Ft EditLine * +.Fn el_init "const char *prog" "FILE *fin" "FILE *fout" "FILE *ferr" +.Ft EditLine * +.Fn el_init_fd "const char *prog" "FILE *fin" "FILE *fout" "FILE *ferr" "int fdin" "int fdout" "int fderr" +.Ft void +.Fn el_end "EditLine *e" +.Ft void +.Fn el_reset "EditLine *e" +.Ft const char * +.Fn el_gets "EditLine *e" "int *count" +.Ft const wchar_t * +.Fn el_wgets "EditLine *e" "int *count" +.Ft int +.Fn el_getc "EditLine *e" "char *ch" +.Ft int +.Fn el_wgetc "EditLine *e" "wchar_t *wc" +.Ft void +.Fn el_push "EditLine *e" "const char *mbs" +.Ft void +.Fn el_wpush "EditLine *e" "const wchar_t *wcs" +.Ft int +.Fn el_parse "EditLine *e" "int argc" "const char *argv[]" +.Ft int +.Fn el_wparse "EditLine *e" "int argc" "const wchar_t *argv[]" +.Ft int +.Fn el_set "EditLine *e" "int op" "..." +.Ft int +.Fn el_wset "EditLine *e" "int op" "..." +.Ft int +.Fn el_get "EditLine *e" "int op" "..." +.Ft int +.Fn el_wget "EditLine *e" "int op" "..." +.Ft int +.Fn el_source "EditLine *e" "const char *file" +.Ft void +.Fn el_resize "EditLine *e" +.Ft int +.Fn el_cursor "EditLine *e" "int count" +.Ft const LineInfo * +.Fn el_line "EditLine *e" +.Ft const LineInfoW * +.Fn el_wline "EditLine *e" +.Ft int +.Fn el_insertstr "EditLine *e" "const char *str" +.Ft int +.Fn el_winsertstr "EditLine *e" "const wchar_t *str" +.Ft void +.Fn el_deletestr "EditLine *e" "int count" +.Ft void +.Fn el_wdeletestr "EditLine *e" "int count" +.Ft History * +.Fn history_init void +.Ft HistoryW * +.Fn history_winit void +.Ft void +.Fn history_end "History *h" +.Ft void +.Fn history_wend "HistoryW *h" +.Ft int +.Fn history "History *h" "HistEvent *ev" "int op" "..." +.Ft int +.Fn history_w "HistoryW *h" "HistEventW *ev" "int op" "..." +.Ft Tokenizer * +.Fn tok_init "const char *IFS" +.Ft TokenizerW * +.Fn tok_winit "const wchar_t *IFS" +.Ft void +.Fn tok_end "Tokenizer *t" +.Ft void +.Fn tok_wend "TokenizerW *t" +.Ft void +.Fn tok_reset "Tokenizer *t" +.Ft void +.Fn tok_wreset "TokenizerW *t" +.Ft int +.Fn tok_line "Tokenizer *t" "const LineInfo *li" "int *argc" "const char **argv[]" "int *cursorc" "int *cursoro" +.Ft int +.Fn tok_wline "TokenizerW *t" "const LineInfoW *li" "int *argc" "const wchar_t **argv[]" "int *cursorc" "int *cursoro" +.Ft int +.Fn tok_str "Tokenizer *t" "const char *str" "int *argc" "const char **argv[]" +.Ft int +.Fn tok_wstr "TokenizerW *t" "const wchar_t *str" "int *argc" "const wchar_t **argv[]" +.Sh DESCRIPTION +The +.Nm +library provides generic line editing, history and tokenization functions, +similar to those found in +.Xr sh 1 . +.Pp +These functions are available in the +.Nm libedit +library (which needs the +.Nm libtermcap +library). +Programs should be linked with +.Fl ledit ltermcap . +.Pp +The +.Nm +library respects the +.Ev LC_CTYPE +locale set by the application program and never uses +.Xr setlocale 3 +to change the locale. +.Sh LINE EDITING FUNCTIONS +The line editing functions use a common data structure, +.Fa EditLine , +which is created by +.Fn el_init +or +.Fn el_init_fd +and freed by +.Fn el_end . +.Pp +The wide-character functions behave the same way as their narrow +counterparts. +.Pp +The following functions are available: +.Bl -tag -width 4n +.It Fn el_init +Initialize the line editor, and return a data structure +to be used by all other line editing functions, or +.Dv NULL +on failure. +.Fa prog +is the name of the invoking program, used when reading the +.Xr editrc 5 +file to determine which settings to use. +.Fa fin , +.Fa fout +and +.Fa ferr +are the input, output, and error streams (respectively) to use. +In this documentation, references to +.Dq the tty +are actually to this input/output stream combination. +.It Fn el_init_fd +Like +.Fn el_init +but allows specifying file descriptors for the +.Xr stdio 3 +corresponding streams, in case those were created with +.Xr funopen 3 . +.It Fn el_end +Clean up and finish with +.Fa e , +assumed to have been created with +.Fn el_init +or +.Fn el_init_fd . +.It Fn el_reset +Reset the tty and the parser. +This should be called after an error which may have upset the tty's +state. +.It Fn el_gets +Read a line from the tty. +.Fa count +is modified to contain the number of characters read. +Returns the line read if successful, or +.Dv NULL +if no characters were read or if an error occurred. +If an error occurred, +.Fa count +is set to \-1 and +.Dv errno +contains the error code that caused it. +The return value may not remain valid across calls to +.Fn el_gets +and must be copied if the data is to be retained. +.It Fn el_wgetc +Read a wide character from the tty, respecting the current locale, +or from the input queue described in +.Xr editline 7 +if that is not empty, and store it in +.Fa wc . +If an invalid or incomplete character is found, it is discarded, +.Va errno +is set to +.Er EILSEQ , +and the next character is read and stored in +.Fa wc . +Returns 1 if a valid character was read, 0 on end of file, or \-1 on +.Xr read 2 +failure. +In the latter case, +.Va errno +is set to indicate the error. +.It Fn el_getc +Read a wide character as described for +.Fn el_wgetc +and return 0 on end of file or \-1 on failure. +If the wide character can be represented as a single-byte character, +convert it with +.Xr wctob 3 , +store the result in +.Fa ch , +and return 1; otherwise, set +.Va errno +to +.Er ERANGE +and return \-1. +In the C or POSIX locale, this simply reads a byte, but for any other +locale, including UTF-8, this is rarely useful. +.It Fn el_wpush +Push the wide character string +.Fa wcs +back onto the input queue described in +.Xr editline 7 . +If the queue overflows, for example due to a recursive macro, +or if an error occurs, for example because +.Fa wcs +is +.Dv NULL +or memory allocation fails, the function beeps at the user, +but does not report the problem to the caller. +.It Fn el_push +Use the current locale to convert the multibyte string +.Fa mbs +to a wide character string, and pass the result to +.Fn el_wpush . +.It Fn el_parse +Parses the +.Fa argv +array (which is +.Fa argc +elements in size) +to execute builtin +.Nm +commands. +If the command is prefixed with +.Dq prog : +then +.Fn el_parse +will only execute the command if +.Dq prog +matches the +.Fa prog +argument supplied to +.Fn el_init . +The return value is +\-1 if the command is unknown, +0 if there was no error or +.Dq prog +didn't match, or +1 if the command returned an error. +Refer to +.Xr editrc 5 +for more information. +.It Fn el_set +Set +.Nm +parameters. +.Fa op +determines which parameter to set, and each operation has its +own parameter list. +Returns 0 on success, \-1 on failure. +.Pp +The following values for +.Fa op +are supported, along with the required argument list: +.Bl -tag -width 4n +.It Dv EL_PROMPT , Fa "char *(*f)(EditLine *)" +Define prompt printing function as +.Fa f , +which is to return a string that contains the prompt. +.It Dv EL_PROMPT_ESC , Fa "char *(*f)(EditLine *)" , Fa "char c" +Same as +.Dv EL_PROMPT , +but the +.Fa c +argument indicates the start/stop literal prompt character. +.Pp +If a start/stop literal character is found in the prompt, the +character itself +is not printed, but characters after it are printed directly to the +terminal without affecting the state of the current line. +A subsequent second start/stop literal character ends this behavior. +This is typically used to embed literal escape sequences that change the +color/style of the terminal in the prompt. +Note that the literal escape character cannot be the last character in the +prompt, as the escape sequence is attached to the next character in the prompt. +.Dv 0 +unsets it. +.It Dv EL_REFRESH +Re-display the current line on the next terminal line. +.It Dv EL_RPROMPT , Fa "char *(*f)(EditLine *)" +Define right side prompt printing function as +.Fa f , +which is to return a string that contains the prompt. +.It Dv EL_RPROMPT_ESC , Fa "char *(*f)(EditLine *)" , Fa "char c" +Define the right prompt printing function but with a literal escape character. +.It Dv EL_TERMINAL , Fa "const char *type" +Define terminal type of the tty to be +.Fa type , +or to +.Ev TERM +if +.Fa type +is +.Dv NULL . +.It Dv EL_EDITOR , Fa "const char *mode" +Set editing mode to +.Fa mode , +which must be one of +.Dq emacs +or +.Dq vi . +.It Dv EL_SIGNAL , Fa "int flag" +If +.Fa flag +is non-zero, +.Nm +will install its own signal handler for the following signals when +reading command input: +.Dv SIGCONT , +.Dv SIGHUP , +.Dv SIGINT , +.Dv SIGQUIT , +.Dv SIGSTOP , +.Dv SIGTERM , +.Dv SIGTSTP , +and +.Dv SIGWINCH . +Otherwise, the current signal handlers will be used. +.It Dv EL_BIND , Fa "const char *" , Fa "..." , Dv NULL +Perform the +.Ic bind +builtin command. +Refer to +.Xr editrc 5 +for more information. +.It Dv EL_ECHOTC , Fa "const char *" , Fa "..." , Dv NULL +Perform the +.Ic echotc +builtin command. +Refer to +.Xr editrc 5 +for more information. +.It Dv EL_SETTC , Fa "const char *" , Fa "..." , Dv NULL +Perform the +.Ic settc +builtin command. +Refer to +.Xr editrc 5 +for more information. +.It Dv EL_SETTY , Fa "const char *" , Fa "..." , Dv NULL +Perform the +.Ic setty +builtin command. +Refer to +.Xr editrc 5 +for more information. +.It Dv EL_TELLTC , Fa "const char *" , Fa "..." , Dv NULL +Perform the +.Ic telltc +builtin command. +Refer to +.Xr editrc 5 +for more information. +.It Dv EL_ADDFN , Fa "const char *name" , Fa "const char *help" , \ +Fa "unsigned char (*func)(EditLine *e, int ch)" +Add a user defined function, +.Fn func , +referred to as +.Fa name +which is invoked when a key which is bound to +.Fa name +is entered. +.Fa help +is a description of +.Fa name . +At invocation time, +.Fa ch +is the key which caused the invocation. +The return value of +.Fn func +should be one of: +.Bl -tag -width "CC_REDISPLAY" +.It Dv CC_NORM +Add a normal character. +.It Dv CC_NEWLINE +End of line was entered. +.It Dv CC_EOF +EOF was entered. +.It Dv CC_ARGHACK +Expecting further command input as arguments, do nothing visually. +.It Dv CC_REFRESH +Refresh display. +.It Dv CC_REFRESH_BEEP +Refresh display, and beep. +.It Dv CC_CURSOR +Cursor moved, so update and perform +.Dv CC_REFRESH . +.It Dv CC_REDISPLAY +Redisplay entire input line. +This is useful if a key binding outputs extra information. +.It Dv CC_ERROR +An error occurred. +Beep, and flush tty. +.It Dv CC_FATAL +Fatal error, reset tty to known state. +.El +.It Dv EL_HIST , Fa "History *(*func)(History *, int op, ...)" , \ +Fa "const char *ptr" +Defines which history function to use, which is usually +.Fn history . +.Fa ptr +should be the value returned by +.Fn history_init . +.It Dv EL_EDITMODE , Fa "int flag" +If +.Fa flag +is non-zero, +editing is enabled (the default). +Note that this is only an indication, and does not +affect the operation of +.Nm . +At this time, it is the caller's responsibility to +check this +(using +.Fn el_get ) +to determine if editing should be enabled or not. +.It Dv EL_UNBUFFERED , Fa "int flag" +If +.Fa flag +is zero, +unbuffered mode is disabled (the default). +In unbuffered mode, +.Fn el_gets +will return immediately after processing a single character. +.It Dv EL_GETCFN , Fa "el_rfunc_t f" +Whenever reading a character, use the function +.Bd -ragged -offset indent -compact +.Ft int +.Fo f +.Fa "EditLine *e" +.Fa "wchar_t *wc" +.Fc +.Ed +which stores the character in +.Fa wc +and returns 1 on success, 0 on end of file, or \-1 on I/O or encoding +errors. +Functions internally using it include +.Fn el_wgets , +.Fn el_wgetc , +.Fn el_gets , +and +.Fn el_getc . +Initially, a builtin function is installed, and replacing it +is discouraged because writing such a function is very error prone. +The builtin function can be restored at any time by passing the +special value +.Dv EL_BUILTIN_GETCFN +instead of a function pointer. +.It Dv EL_CLIENTDATA , Fa "void *data" +Register +.Fa data +to be associated with this EditLine structure. +It can be retrieved with the corresponding +.Fn el_get +call. +.It Dv EL_SETFP , Fa "int fd" , Fa "FILE *fp" +Set the current +.Nm editline +file pointer for +.Dq input +.Fa fd += +.Dv 0 , +.Dq output +.Fa fd += +.Dv 1 , +or +.Dq error +.Fa fd += +.Dv 2 +from +.Fa fp . +.El +.It Fn el_get +Get +.Nm +parameters. +.Fa op +determines which parameter to retrieve into +.Fa result . +Returns 0 if successful, \-1 otherwise. +.Pp +The following values for +.Fa op +are supported, along with actual type of +.Fa result : +.Bl -tag -width 4n +.It Dv EL_PROMPT , Fa "char *(*f)(EditLine *)" , Fa "char *c" +Set +.Fa f +to a pointer to the function that displays the prompt. +If +.Fa c +is not +.Dv NULL , +set it to the start/stop literal prompt character. +.It Dv EL_RPROMPT , Fa "char *(*f)(EditLine *)" , Fa "char *c" +Set +.Fa f +to a pointer to the function that displays the prompt. +If +.Fa c +is not +.Dv NULL , +set it to the start/stop literal prompt character. +.It Dv EL_EDITOR , Fa "const char **n" +Set the name of the editor in +.Fa n , +which will be one of +.Dq emacs +or +.Dq vi . +.It Dv EL_GETTC , Fa "const char *name" , Fa "void *value" +If +.Fa name +is a valid +.Xr termcap 5 +capability set +.Fa value +to the current value of that capability. +.It Dv EL_SIGNAL , Fa "int *s" +Set +.Fa s +to non-zero if +.Nm +has installed private signal handlers (see +.Fn el_get +above). +.It Dv EL_EDITMODE , Fa "int *c" +Set +.Fa c +to non-zero if editing is enabled. +.It Dv EL_GETCFN , Fa "el_rfunc_t *f" +Set +.Fa f +to a pointer to the function that reads characters, or to +.Dv EL_BUILTIN_GETCFN +if the builtin function is in use. +.It Dv EL_CLIENTDATA , Fa "void **data" +Set +.Fa data +to the previously registered client data set by an +.Fn el_set +call. +.It Dv EL_UNBUFFERED , Fa "int *c" +Set +.Fa c +to non-zero if unbuffered mode is enabled. +.It Dv EL_GETFP , Fa "int fd", Fa "FILE **fp" +Set +.Fa fp +to the current +.Nm editline +file pointer for +.Dq input +.Fa fd += +.Dv 0 , +.Dq output +.Fa fd += +.Dv 1 , +or +.Dq error +.Fa fd += +.Dv 2 . +.El +.It Fn el_source +Initialize +.Nm +by reading the contents of +.Fa file . +.Fn el_parse +is called for each line in +.Fa file . +If +.Fa file +is +.Dv NULL , +try +.Pa $EDITRC +and if that is not set +.Pa $HOME/.editrc . +Refer to +.Xr editrc 5 +for details on the format of +.Fa file . +.Fn el_source +returns 0 on success and \-1 on error. +.It Fn el_resize +Must be called if the terminal size changes. +If +.Dv EL_SIGNAL +has been set with +.Fn el_set , +then this is done automatically. +Otherwise, it's the responsibility of the application to call +.Fn el_resize +on the appropriate occasions. +.It Fn el_cursor +Move the cursor to the right (if positive) or to the left (if negative) +.Fa count +characters. +Returns the resulting offset of the cursor from the beginning of the line. +.It Fn el_line +Return the editing information for the current line in a +.Fa LineInfo +structure, which is defined as follows: +.Bd -literal +typedef struct lineinfo { + const char *buffer; /* address of buffer */ + const char *cursor; /* address of cursor */ + const char *lastchar; /* address of last character */ +} LineInfo; +.Ed +.Pp +.Fa buffer +is not NUL terminated. +This function may be called after +.Fn el_gets +to obtain the +.Fa LineInfo +structure pertaining to line returned by that function, +and from within user defined functions added with +.Dv EL_ADDFN . +.It Fn el_insertstr +Insert +.Fa str +into the line at the cursor. +Returns \-1 if +.Fa str +is empty or won't fit, and 0 otherwise. +.It Fn el_deletestr +Delete +.Fa count +characters before the cursor. +.El +.Sh HISTORY LIST FUNCTIONS +The history functions use a common data structure, +.Fa History , +which is created by +.Fn history_init +and freed by +.Fn history_end . +.Pp +The following functions are available: +.Bl -tag -width 4n +.It Fn history_init +Initialize the history list, and return a data structure +to be used by all other history list functions, or +.Dv NULL +on failure. +.It Fn history_end +Clean up and finish with +.Fa h , +assumed to have been created with +.Fn history_init . +.It Fn history +Perform operation +.Fa op +on the history list, with optional arguments as needed by the +operation. +.Fa ev +is changed accordingly to operation. +The following values for +.Fa op +are supported, along with the required argument list: +.Bl -tag -width 4n +.It Dv H_SETSIZE , Fa "int size" +Set size of history to +.Fa size +elements. +.It Dv H_GETSIZE +Get number of events currently in history. +.It Dv H_END +Cleans up and finishes with +.Fa h , +assumed to be created with +.Fn history_init . +.It Dv H_CLEAR +Clear the history. +.It Dv H_FUNC , Fa "void *ptr" , Fa "history_gfun_t first" , \ +Fa "history_gfun_t next" , Fa "history_gfun_t last" , \ +Fa "history_gfun_t prev" , Fa "history_gfun_t curr" , \ +Fa "history_sfun_t set" , Fa "history_vfun_t clear" , \ +Fa "history_efun_t enter" , Fa "history_efun_t add" +Define functions to perform various history operations. +.Fa ptr +is the argument given to a function when it's invoked. +.It Dv H_FIRST +Return the first element in the history. +.It Dv H_LAST +Return the last element in the history. +.It Dv H_PREV +Return the previous element in the history. +It is newer than the current one. +.It Dv H_NEXT +Return the next element in the history. +It is older than the current one. +.It Dv H_CURR +Return the current element in the history. +.It Dv H_SET , Fa "int position" +Set the cursor to point to the requested element. +.It Dv H_ADD , Fa "const char *str" +Append +.Fa str +to the current element of the history, or perform the +.Dv H_ENTER +operation with argument +.Fa str +if there is no current element. +.It Dv H_APPEND , Fa "const char *str" +Append +.Fa str +to the last new element of the history. +.It Dv H_ENTER , Fa "const char *str" +Add +.Fa str +as a new element to the history and, if necessary, +removing the oldest entry to keep the list to the created size. +If +.Dv H_SETUNIQUE +has been called with a non-zero argument, the element +will not be entered into the history if its contents match +the ones of the current history element. +If the element is entered +.Fn history +returns 1; if it is ignored as a duplicate returns 0. +Finally +.Fn history +returns \-1 if an error occurred. +.It Dv H_PREV_STR , Fa "const char *str" +Return the closest previous event that starts with +.Fa str . +.It Dv H_NEXT_STR , Fa "const char *str" +Return the closest next event that starts with +.Fa str . +.It Dv H_PREV_EVENT , Fa "int e" +Return the previous event numbered +.Fa e . +.It Dv H_NEXT_EVENT , Fa "int e" +Return the next event numbered +.Fa e . +.It Dv H_LOAD , Fa "const char *file" +Load the history list stored in +.Fa file . +.It Dv H_SAVE , Fa "const char *file" +Save the history list to +.Fa file . +.It Dv H_SAVE_FP , Fa "FILE *fp" +Save the history list to the opened +.Ft FILE +pointer +.Fa fp . +.It Dv H_NSAVE_FP , Fa "size_t n" , Fa "FILE *fp" +Save the last +.Ft n +history entries to the opened +.Ft FILE +pointer +.Fa fp . +.It Dv H_SETUNIQUE , Fa "int unique" +Set flag that adjacent identical event strings should not be entered +into the history. +.It Dv H_GETUNIQUE +Retrieve the current setting if adjacent identical elements should +be entered into the history. +.It Dv H_DEL , Fa "int e" +Delete the event numbered +.Fa e . +This function is only provided for +.Nm readline +compatibility. +The caller is responsible for free'ing the string in the returned +.Fa HistEvent . +.El +.Pp +.Fn history +returns >= 0 if the operation +.Fa op +succeeds. +Otherwise, \-1 is returned and +.Fa ev +is updated to contain more details about the error. +.El +.Sh TOKENIZATION FUNCTIONS +The tokenization functions use a common data structure, +.Fa Tokenizer , +which is created by +.Fn tok_init +and freed by +.Fn tok_end . +.Pp +The following functions are available: +.Bl -tag -width 4n +.It Fn tok_init +Initialize the tokenizer, and return a data structure +to be used by all other tokenizer functions. +.Fa IFS +contains the Input Field Separators, which defaults to +.Aq space , +.Aq tab , +and +.Aq newline +if +.Dv NULL . +.It Fn tok_end +Clean up and finish with +.Fa t , +assumed to have been created with +.Fn tok_init . +.It Fn tok_reset +Reset the tokenizer state. +Use after a line has been successfully tokenized +by +.Fn tok_line +or +.Fn tok_str +and before a new line is to be tokenized. +.It Fn tok_line +Tokenize +.Fa li , +If successful, modify: +.Fa argv +to contain the words, +.Fa argc +to contain the number of words, +.Fa cursorc +(if not +.Dv NULL ) +to contain the index of the word containing the cursor, +and +.Fa cursoro +(if not +.Dv NULL ) +to contain the offset within +.Fa argv[cursorc] +of the cursor. +.Pp +Returns +0 if successful, +\-1 for an internal error, +1 for an unmatched single quote, +2 for an unmatched double quote, +and +3 for a backslash quoted +.Aq newline . +A positive exit code indicates that another line should be read +and tokenization attempted again. +. +.It Fn tok_str +A simpler form of +.Fn tok_line ; +.Fa str +is a NUL terminated string to tokenize. +.El +. +.\"XXX.Sh EXAMPLES +.\"XXX: provide some examples +.Sh SEE ALSO +.Xr sh 1 , +.Xr signal 3 , +.Xr termcap 3 , +.Xr editrc 5 , +.Xr termcap 5 , +.Xr editline 7 +.Sh HISTORY +The +.Nm +library first appeared in +.Bx 4.4 . +.Dv CC_REDISPLAY +appeared in +.Nx 1.3 . +.Dv CC_REFRESH_BEEP , +.Dv EL_EDITMODE +and the readline emulation appeared in +.Nx 1.4 . +.Dv EL_RPROMPT +appeared in +.Nx 1.5 . +.Sh AUTHORS +.An -nosplit +The +.Nm +library was written by +.An Christos Zoulas . +.An Luke Mewburn +wrote this manual and implemented +.Dv CC_REDISPLAY , +.Dv CC_REFRESH_BEEP , +.Dv EL_EDITMODE , +and +.Dv EL_RPROMPT . +.An Jaromir Dolecek +implemented the readline emulation. +.An Johny Mattsson +implemented wide-character support. +.Sh BUGS +At this time, it is the responsibility of the caller to +check the result of the +.Dv EL_EDITMODE +operation of +.Fn el_get +(after an +.Fn el_source +or +.Fn el_parse ) +to determine if +.Nm +should be used for further input. +I.e., +.Dv EL_EDITMODE +is purely an indication of the result of the most recent +.Xr editrc 5 +.Ic edit +command. diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/editline.7.roff mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/editline.7.roff --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/editline.7.roff 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/editline.7.roff 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,935 @@ +.\" $NetBSD: editline.7,v 1.5 2016/05/09 21:27:55 christos Exp $ +.\" $OpenBSD: editline.7,v 1.1 2016/04/20 01:11:45 schwarze Exp $ +.\" +.\" Copyright (c) 2016 Ingo Schwarze +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd May 7, 2016 +.Dt EDITLINE 7 +.Os +.Sh NAME +.Nm editline +.Nd line editing user interface +.Sh DESCRIPTION +When a program using the +.Xr editline 3 +library prompts for an input string using the function +.Xr el_wgets 3 , +it reads characters from the terminal. +Invalid input bytes that do not form characters are silently +discarded. +For each character read, one editor command is executed. +The mapping of input characters to editor commands depends on the +editing mode. +There are three editing modes: vi insert mode, vi command mode, +and emacs mode. +The default is vi insert mode. +The program can switch the default to emacs mode by using the +.Xr el_set 3 +or +.Xr el_parse 3 +functions, and the user can switch to emacs mode either in the +.Xr editrc 5 +configuration file or interactively with the +.Ic ed-command +editor command, in all three cases executing the +.Ic bind Fl e +builtin command. +.Pp +If trying to read from the terminal results in end of file or an +error, the library signals end of file to the program and does not +return a string. +.Ss Input character bindings +All default bindings described below can be overridden by individual +programs and can be changed with the +.Xr editrc 5 +.Ic bind +builtin command. +.Pp +In the following tables, +.Sq Ctrl- +indicates a character with the bit 0x40 flipped, and +.Sq Meta- +indicates a character with the bit 0x80 set. +In vi insert mode and in emacs mode, all Meta-characters considered +printable by the current +.Xr locale 1 +are bound to +.Ic ed-insert +instead of to the editor command listed below. +Consequently, in UTF-8 mode, most of the Meta-characters are not +directly accessible because their code points are occupied by +printable Unicode characters, and Meta-characters are usually input +using the +.Ic em-meta-next +editor command. +For example, to enter +.Sq Meta-B +in order to call the +.Ic ed-prev-word +editor command in emacs mode, call +.Ic em-meta-next +by pressing and releasing the escape key (or equivalently, Ctrl-[), +then press and release the +.Sq B +key. +If you have configured a Meta-key on your keyboard, for example +with +.Ql setxkbmap -option altwin:left_meta_win , +the Ctrl-Meta-characters are directly accessible. +For example, to enter +.Sq Ctrl-Meta-H +in order to call the +.Ic ed-delete-prev-word +editor command in emacs mode, hold down the keys +.Sq Ctrl , +.Sq Meta , +and +.Sq H +at the same time. +Alternatively, press and release the escape key, then press and +release +.Sq Ctrl-H . +.Pp +In vi input mode, input characters are bound to the following editor +commands by default: +.Bl -column -offset indent "Ctrl-Z, TSTP" "ed-search-next-history" +.It Ctrl-D, EOF Ta Ic vi-list-or-eof +.It Ctrl-H, BS Ta Ic vi-delete-prev-char +.It Ctrl-J, LF Ta Ic ed-newline +.It Ctrl-M, CR Ta Ic ed-newline +.It Ctrl-Q Ta Ic ed-tty-start-output +.It Ctrl-S Ta Ic ed-tty-stop-output +.It Ctrl-U Ta Ic vi-kill-line-prev +.It Ctrl-V Ta Ic ed-quoted-insert +.It Ctrl-W Ta Ic ed-delete-prev-word +.It Ctrl-[, ESC Ta Ic vi-command-mode +.It Ctrl-\e, QUIT Ta Ic ed-tty-sigquit +.It Ctrl-?, DEL Ta Ic vi-delete-prev-char +.El +.Pp +All other input characters except the NUL character (Ctrl-@) are +bound to +.Ic ed-insert . +.Pp +In vi command mode, input characters are bound to the following +editor commands by default: +.Bl -column -offset indent "Ctrl-Z, TSTP" "ed-search-next-history" +.It Ctrl-A Ta Ic ed-move-to-beg +.It Ctrl-C, INT Ta Ic ed-tty-sigint +.It Ctrl-E Ta Ic ed-move-to-end +.It Ctrl-H, BS Ta Ic ed-delete-prev-char +.It Ctrl-J, LF Ta Ic ed-newline +.It Ctrl-K Ta Ic ed-kill-line +.It Ctrl-L, FF Ta Ic ed-clear-screen +.It Ctrl-M, CR Ta Ic ed-newline +.It Ctrl-N Ta Ic ed-next-history +.It Ctrl-O Ta Ic ed-tty-flush-output +.It Ctrl-P Ta Ic ed-prev-history +.It Ctrl-Q Ta Ic ed-tty-start-output +.It Ctrl-R Ta Ic ed-redisplay +.It Ctrl-S Ta Ic ed-tty-stop-output +.It Ctrl-U Ta Ic vi-kill-line-prev +.It Ctrl-W Ta Ic ed-delete-prev-word +.It Ctrl-[, ESC Ta Ic em-meta-next +.It Ctrl-\e, QUIT Ta Ic ed-tty-sigquit +.It Space Ta Ic ed-next-char +.It # Ta Ic vi-comment-out +.It $ Ta Ic ed-move-to-end +.It % Ta Ic vi-match +.It + Ta Ic ed-next-history +.It \&, Ta Ic vi-repeat-prev-char +.It - Ta Ic ed-prev-history +.It \&. Ta Ic vi-redo +.It / Ta Ic vi-search-prev +.It 0 Ta Ic vi-zero +.It 1 to 9 Ta Ic ed-argument-digit +.It \&: Ta Ic ed-command +.It \&; Ta Ic vi-repeat-next-char +.It \&? Ta Ic vi-search-next +.It @ Ta Ic vi-alias +.It A Ta Ic vi-add-at-eol +.It B Ta Ic vi-prev-big-word +.It C Ta Ic vi-change-to-eol +.It D Ta Ic ed-kill-line +.It E Ta Ic vi-end-big-word +.It F Ta Ic vi-prev-char +.It G Ta Ic vi-to-history-line +.It I Ta Ic vi-insert-at-bol +.It J Ta Ic ed-search-next-history +.It K Ta Ic ed-search-prev-history +.It N Ta Ic vi-repeat-search-prev +.It O Ta Ic ed-sequence-lead-in +.It P Ta Ic vi-paste-prev +.It R Ta Ic vi-replace-mode +.It S Ta Ic vi-substitute-line +.It T Ta Ic vi-to-prev-char +.It U Ta Ic vi-undo-line +.It W Ta Ic vi-next-big-word +.It X Ta Ic ed-delete-prev-char +.It Y Ta Ic vi-yank-end +.It \&[ Ta Ic ed-sequence-lead-in +.It ^ Ta Ic ed-move-to-beg +.It _ Ta Ic vi-history-word +.It a Ta Ic vi-add +.It b Ta Ic vi-prev-word +.It c Ta Ic vi-change-meta +.It d Ta Ic vi-delete-meta +.It e Ta Ic vi-end-word +.It f Ta Ic vi-next-char +.It h Ta Ic ed-prev-char +.It i Ta Ic vi-insert +.It j Ta Ic ed-next-history +.It k Ta Ic ed-prev-history +.It l Ta Ic ed-next-char +.It n Ta Ic vi-repeat-search-next +.It p Ta Ic vi-paste-next +.It r Ta Ic vi-replace-char +.It s Ta Ic vi-substitute-char +.It t Ta Ic vi-to-next-char +.It u Ta Ic vi-undo +.It v Ta Ic vi-histedit +.It w Ta Ic vi-next-word +.It x Ta Ic ed-delete-next-char +.It y Ta Ic vi-yank +.It \&| Ta Ic vi-to-column +.It ~ Ta Ic vi-change-case +.It Ctrl-?, DEL Ta Ic ed-delete-prev-char +.It Meta-O Ta Ic ed-sequence-lead-in +.It Meta-[ Ta Ic ed-sequence-lead-in +.El +.Pp +In emacs mode, input characters are bound to the following editor +commands by default: +.Bl -column -offset indent "Ctrl-Z, TSTP" "ed-search-next-history" +.It 0 to 9 Ta Ic ed-digit +.It Ctrl-@, NUL Ta Ic em-set-mark +.It Ctrl-A Ta Ic ed-move-to-beg +.It Ctrl-B Ta Ic ed-prev-char +.It Ctrl-C, INT Ta Ic ed-tty-sigint +.It Ctrl-D, EOF Ta Ic em-delete-or-list +.It Ctrl-E Ta Ic ed-move-to-end +.It Ctrl-F Ta Ic ed-next-char +.It Ctrl-H, BS Ta Ic em-delete-prev-char +.It Ctrl-J, LF Ta Ic ed-newline +.It Ctrl-K Ta Ic ed-kill-line +.It Ctrl-L, FF Ta Ic ed-clear-screen +.It Ctrl-M, CR Ta Ic ed-newline +.It Ctrl-N Ta Ic ed-next-history +.It Ctrl-O Ta Ic ed-tty-flush-output +.It Ctrl-P Ta Ic ed-prev-history +.It Ctrl-Q Ta Ic ed-tty-start-output +.It Ctrl-R Ta Ic ed-redisplay +.It Ctrl-S Ta Ic ed-tty-stop-output +.It Ctrl-T Ta Ic ed-transpose-chars +.It Ctrl-U Ta Ic ed-kill-line +.It Ctrl-V Ta Ic ed-quoted-insert +.It Ctrl-W Ta Ic em-kill-region +.It Ctrl-X Ta Ic ed-sequence-lead-in +.It Ctrl-Y Ta Ic em-yank +.It Ctrl-Z, TSTP Ta Ic ed-tty-sigtstp +.It Ctrl-[, ESC Ta Ic em-meta-next +.It Ctrl-\e, QUIT Ta Ic ed-tty-sigquit +.It Ctrl-] Ta Ic ed-tty-dsusp +.It Ctrl-?, DEL Ta Ic em-delete-prev-char +.It Ctrl-Meta-H Ta Ic ed-delete-prev-word +.It Ctrl-Meta-L Ta Ic ed-clear-screen +.It Ctrl-Meta-_ Ta Ic em-copy-prev-word +.It Meta-0 to 9 Ta Ic ed-argument-digit +.It Meta-B Ta Ic ed-prev-word +.It Meta-C Ta Ic em-capitol-case +.It Meta-D Ta Ic em-delete-next-word +.It Meta-F Ta Ic em-next-word +.It Meta-L Ta Ic em-lower-case +.It Meta-N Ta Ic ed-search-next-history +.It Meta-O Ta Ic ed-sequence-lead-in +.It Meta-P Ta Ic ed-search-prev-history +.It Meta-U Ta Ic em-upper-case +.It Meta-W Ta Ic em-copy-region +.It Meta-X Ta Ic ed-command +.It Meta-[ Ta Ic ed-sequence-lead-in +.It Meta-b Ta Ic ed-prev-word +.It Meta-c Ta Ic em-capitol-case +.It Meta-d Ta Ic em-delete-next-word +.It Meta-f Ta Ic em-next-word +.It Meta-l Ta Ic em-lower-case +.It Meta-n Ta Ic ed-search-next-history +.It Meta-p Ta Ic ed-search-prev-history +.It Meta-u Ta Ic em-upper-case +.It Meta-w Ta Ic em-copy-region +.It Meta-x Ta Ic ed-command +.It Ctrl-Meta-? Ta Ic ed-delete-prev-word +.El +.Pp +The remaining +.Xr ascii 7 +characters in the range 0x20 to 0x7e are bound to +.Ic ed-insert . +.Pp +If standard output is not connected to a terminal device +or +.Xr el_set 3 +was used to set +.Dv EL_EDITMODE +to 0, all input character bindings are disabled and all characters +typed are appended to the edit buffer. +In that case, the edit buffer is returned to the program after a +newline or carriage return character is typed, or after the first +character typed if +.Xr el_set 3 +was used to set +.Dv EL_UNBUFFERED +to non-zero. +.Ss Editor commands +Most editor commands accept an optional argument. +The argument is entered by prefixing the editor command with one +or more of the editor commands +.Ic ed-argument-digit , +.Ic ed-digit , +.Ic em-universal-argument , +or +.Ic vi-zero . +When an argument is not provided, it defaults to 1. +For most editor commands, the effect of an argument is to repeatedly +execute the command that number of times. +.Pp +When talking about a character string from a left character to a +right character, the left character is included in the string, while +the right character is not included. +.Pp +If an editor command causes an error, the input character is discarded, +no action occurs, and the terminal bell is rung. +In case of a non-fatal error, the terminal bell is also rung, +but the editor command takes effect anyway. +.Pp +In the following list, the default key bindings are listed after +each editor command. +.Bl -tag -width 4n +.It Ic ed-argument-digit Pq vi command: 1 to 9; emacs: Meta-0 to Meta-9 +If in argument input mode, append the input digit to the argument +being read. +Otherwise, switch to argument input mode and use the input digit +as the most significant digit of the argument. +It is an error if the input character is not a digit or if the +existing argument is already greater than a million. +.It Ic ed-clear-screen Pq vi command: Ctrl-L; emacs: Ctrl-L, Ctrl-Meta-L +Clear the screen and display the edit buffer at the top. +Ignore any argument. +.It Ic ed-command Pq vi command: So \&: Sc ; emacs: Meta-X, Meta-x +Read a line from the terminal bypassing the normal line editing +functionality and execute that line as an +.Xr editrc 5 +builtin command. +If in vi command mode, also switch back to vi insert mode. +Ignore any argument. +.It Ic ed-delete-next-char Pq vi command: x +Delete the character at the cursor position. +With an argument, delete that number of characters. +In emacs mode, it is an error if the cursor is at the end of the +edit buffer. +In vi mode, the last character in the edit buffer is deleted in +that case, and it is an error if the buffer is empty. +.It Ic ed-delete-prev-char Pq vi command: X, Ctrl-H, BS, Ctrl-?, DEL +Delete the character to the left of the cursor position. +With an argument, delete that number of characters. +It is an error if the cursor is at the beginning of the edit buffer. +.It Ic ed-delete-prev-word Pq vi: Ctrl-W; emacs: Ctrl-Meta-H, Ctrl-Meta-? +Move to the left to the closest beginning of a word, delete the +string from that position to the cursor, and save it to the cut +buffer. +With an argument, delete that number of words. +It is an error if the cursor is at the beginning of the edit buffer. +.It Ic ed-digit Pq emacs: 0 to 9 +If in argument input mode, append the input digit to the argument +being read. +Otherwise, call +.Ic ed-insert . +It is an error if the input character is not a digit or if the +existing argument is already greater than a million. +.It Ic ed-end-of-file Pq not bound by default +Discard the edit buffer and indicate end of file to the program. +Ignore any argument. +.It Ic ed-ignore Pq various +Discard the input character and do nothing. +.It Ic ed-insert Pq vi input: almost all; emacs: printable characters +In insert mode, insert the input character left of the cursor +position. +In replace mode, overwrite the character at the cursor and move the +cursor to the right by one character position. +Accept an argument to do this repeatedly. +It is an error if the input character is the NUL character (Ctrl-@). +Failure to enlarge the edit buffer also results in an error. +.It Ic ed-kill-line Pq vi command: D, Ctrl-K; emacs: Ctrl-K, Ctrl-U +Delete the string from the cursor position to the end of the line +and save it to the cut buffer. +Ignore any argument. +.It Ic ed-move-to-beg Pq vi command: ^, Ctrl-A; emacs: Ctrl-A +In vi mode, move the cursor to the first non-space character in the +edit buffer. +In emacs mode, move the cursor to the beginning of the edit buffer. +Ignore any argument. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +.It Ic ed-move-to-end Pq vi command: $, Ctrl-E; emacs: Ctrl-E +Move the cursor to the end of the edit buffer. +Ignore any argument. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +.It Ic ed-newline Pq all modes: Ctrl-J, LF, Ctrl-M, CR +Append a newline character to the edit buffer and return the edit +buffer to the program. +Ignore any argument. +.It Ic ed-next-char Pq vi command: Space, l; emacs: Ctrl-F +Move the cursor one character position to the right. +With an argument, move by that number of characters. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if the cursor is already at the end of the edit +buffer. +.It Ic ed-next-history Pq vi command: j, +, Ctrl-N; emacs: Ctrl-N +Replace the edit buffer with the next history line. +That line is older than the current line. +With an argument, go forward by that number of history lines. +It is a non-fatal error to advance by more lines than are available. +.It Ic ed-next-line Pq not bound by default +Move the cursor down one line. +With an argument, move down by that number of lines. +It is an error if the edit buffer does not contain enough newline +characters to the right of the cursor position. +.It Ic ed-prev-char Pq vi command: h; emacs: Ctrl-B +Move the cursor one character position to the left. +With an argument, move by that number of characters. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if the cursor is already at the beginning of the +edit buffer. +.It Ic ed-prev-history Pq vi command: k, -, Ctrl-P; emacs: Ctrl-P +Replace the edit buffer with the previous history line. +That line is newer than the current line. +With an argument, go back by that number of lines. +It is a non-fatal error to back up by more lines than are available. +.It Ic ed-prev-line Pq not bound by default +Move the cursor up one line. +With an argument, move up by that number of lines. +It is an error if the edit buffer does not contain enough newline +characters to the left of the cursor position. +.It Ic ed-prev-word Pq emacs: Meta-B, Meta-b +Move the cursor to the left to the closest beginning of a word. +With an argument, repeat that number of times. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if the cursor is already at the beginning of the +edit buffer. +.It Ic ed-quoted-insert Pq vi insert, emacs: Ctrl-V +Read one character from the terminal bypassing the normal line +editing functionality and call +.Ic ed-insert +on it. +If trying to read the character returns end of file or an error, +call +.Ic ed-end-of-file +instead. +.It Ic ed-redisplay Pq vi command, emacs: Ctrl-R +Redisplay everything. +Ignore any argument. +.It Ic ed-search-next-history Pq vi command: J; emacs: Meta-N, Meta-n +Replace the edit buffer with the next matching history entry. +.It Ic ed-search-prev-history Pq vi command: K; emacs: Meta-P, Meta-p +Replace the edit buffer with the previous matching history entry. +.It Ic ed-sequence-lead-in Pq vi cmd: O, \&[; emacs: Ctrl-X;\ + both: Meta-O, Meta-[ +Call a macro. +See the section about +.Sx Macros +below for details. +.It Ic ed-start-over Pq not bound by default +Discard the contents of the edit buffer and start from scratch. +Ignore any argument. +.It Ic ed-transpose-chars Pq emacs: Ctrl-T +Exchange the character at the cursor position with the one to the +left of it and move the cursor to the character to the right of the +two exchanged characters. +Ignore any argument. +It is an error if the cursor is at the beginning of the edit buffer +or if the edit buffer contains less than two characters. +.It Ic ed-unassigned Pq all characters not listed +This editor command always results in an error. +.It Ic em-capitol-case Pq emacs: Meta-C, Meta-c +Capitalize the string from the cursor to the end of the current +word. +That is, if it contains at least one alphabetic character, convert +the first alphabetic character to upper case, and convert all +characters to the right of it to lower case. +In any case, move the cursor to the next character after the end +of the current word. +.It Ic em-copy-prev-word Pq emacs: Ctrl-Meta-_ +Copy the string from the beginning of the current word to the cursor +and insert it to the left of the cursor. +Move the cursor to the character after the inserted string. +It is an error if the cursor is at the beginning of the edit buffer. +.It Ic em-copy-region Pq emacs: Meta-W, Meta-w +Copy the string from the cursor to the mark to the cut buffer. +It is an error if the mark is not set. +.It Ic em-delete-next-word Pq emacs: Meta-D, Meta-d +Delete the string from the cursor to the end of the current word +and save it to the cut buffer. +It is an error if the cursor is at the end of the edit buffer. +.It Ic em-delete-or-list Pq emacs: Ctrl-D, EOF +If the cursor is not at the end of the line, delete the character +at the cursor. +If the edit buffer is empty, indicate end of file to the program. +It is an error if the cursor is at the end of the edit buffer and +the edit buffer is not empty. +.It Ic em-delete-prev-char Pq emacs: Ctrl-H, BS, Ctrl-?, DEL +Delete the character to the left of the cursor. +It is an error if the cursor is at the beginning of the edit buffer. +.It Ic em-exchange-mark Pq not bound by default +Exchange the cursor and the mark. +.It Ic em-gosmacs-transpose Pq not bound by default +Exchange the two characters to the left of the cursor. +It is an error if the cursor is on the first or second character +of the edit buffer. +.It Ic em-inc-search-next Pq not bound by default +Emacs incremental next search. +.It Ic em-inc-search-prev Pq not bound by default +Emacs incremental reverse search. +.It Ic em-kill-line Pq not bound by default +Delete the entire contents of the edit buffer and save it to the +cut buffer. +.It Ic em-kill-region Pq emacs: Ctrl-W +Delete the string from the cursor to the mark and save it to the +cut buffer. +It is an error if the mark is not set. +.It Ic em-lower-case Pq emacs: Meta-L, Meta-l +Convert the characters from the cursor to the end of the current +word to lower case. +.It Ic em-meta-next Pq vi command, emacs: Ctrl-[, ESC +Set the bit 0x80 on the next character typed. +Unless the resulting code point is printable, holding down the +.Sq Meta- +key while typing that character is a simpler way to achieve the +same effect. +.It Ic em-next-word Pq Meta-F, Meta-f +Move the cursor to the end of the current word. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if the cursor is already at the end of the edit +buffer. +.It Ic em-set-mark Pq emacs: Ctrl-Q, NUL +Set the mark at the current cursor position. +.It Ic em-toggle-overwrite Pq not bound by default +Switch from insert to overwrite mode or vice versa. +.It Ic em-universal-argument Pq not bound by default +If in argument input mode, multiply the argument by 4. +Otherwise, switch to argument input mode and set the argument to 4. +It is an error if the existing argument is already greater than a +million. +.It Ic em-upper-case Pq emacs: Meta-U, Meta-u +Convert the characters from the cursor to the end of the current +word to upper case. +.It Ic em-yank Pq emacs: Ctrl-Y +Paste the cut buffer to the left of the cursor. +.It Ic vi-add Pq vi command: a +Switch to vi insert mode. +Unless the cursor is already at the end of the edit buffer, move +it one character position to the right. +.It Ic vi-add-at-eol Pq vi command: A +Switch to vi insert mode and move the cursor to the end of the edit +buffer. +.It Ic vi-alias Pq vi command: @ +If an alias function was defined by calling the +.Xr el_set 3 +or +.Xr el_wset 3 +function with the argument +.Dv EL_ALIAS_TEXT , +read one character from the terminal bypassing the normal line +editing functionality, call the alias function passing the argument that was specified with +.Dv EL_ALIAS_TEXT +as the first argument and the character read, with an underscore +prepended, as the second argument, and pass the string returned +from the alias function to +.Xr el_wpush 3 . +It is an error if no alias function is defined or if trying to read +the character results in end of file or an error. +.It Ic vi-change-case Pq vi command: ~ +Change the case of the character at the cursor and move the cursor +one character position to the right. +It is an error if the cursor is already at the end of the edit +buffer. +.It Ic vi-change-meta Pq vi command: c +Delete the string from the cursor to the position specified by the +following movement command and save a copy of it to the cut buffer. +When given twice in a row, instead delete the whole contents of the +edit buffer and save a copy of it to the cut buffer. +In either case, switch to vi insert mode after that. +.It Ic vi-change-to-eol Pq vi command: C +Delete the string from the cursor position to the end of the line +and save it to the cut buffer, then switch to vi insert mode. +.It Ic vi-command-mode Pq vi insert: Ctrl-[, ESC +Discard pending actions and arguments and switch to vi command mode. +Unless the cursor is already at the beginning of the edit buffer, +move it to the left by one character position. +.It Ic vi-comment-out Pq vi command: # +Insert a +.Sq # +character at the beginning of the edit buffer and return the edit +buffer to the program. +.It Ic vi-delete-meta Pq vi command: d +Delete the string from the cursor to the position specified by the +following movement command and save a copy of it to the cut buffer. +When given twice in a row, instead delete the whole contents of the +edit buffer and save a copy of it to the cut buffer. +.It Ic vi-delete-prev-char Pq vi insert: Ctrl-H, BS, Ctrl-?, DEL +Delete the character to the left of the cursor. +It is an error if the cursor is already at the beginning of the +edit buffer. +.It Ic vi-end-big-word Pq vi command: E +Move the cursor to the end of the current space delimited word. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if the cursor is already at the end of the edit +buffer. +.It Ic vi-end-word Pq vi command: e +Move the cursor to the end of the current word. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if the cursor is already at the end of the edit +buffer. +.It Ic vi-history-word Pq vi command: _ +Insert the first word from the most recent history entry after the +cursor, move the cursor after to the character after the inserted +word, and switch to vi insert mode. +It is an error if there is no history entry or the most recent +history entry is empty. +.It Ic vi-insert Pq vi command: i +Enter insert mode. +.It Ic vi-insert-at-bol Pq vi command: I +Move the cursor to the beginning of the edit buffer and switch to +vi insert mode. +.It Ic vi-kill-line-prev Pq vi: Ctrl-U +Delete the string from the beginning of the edit buffer to the +cursor and save it to the cut buffer. +.It Ic vi-list-or-eof Pq vi insert: Ctrl-D, EOF +If the edit buffer is empty, indicate end of file to the program. +It is an error if the edit buffer is not empty. +.It Ic vi-match Pq vi command: % +Consider opening and closing parentheses, braces, and brackets as +delimiters. +If the cursor is not at a delimiter, move it to the right until it +gets to one, then move it to the matching delimiter. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if there is no delimiter at the cursor or in the +string to the right of the cursor, or if the first such delimiter +has no matching delimiter. +.It Ic vi-next-big-word Pq vi command: W +Move the cursor to the right to the beginning of the next space +delimited word. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if the cursor is already at the end of the edit +buffer or on its last character. +.It Ic vi-next-char Pq vi command: f +Read one character from the terminal bypassing the normal line +editing functionality and move the cursor to the right to the next +instance of that character in the edit buffer. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +If trying to read the character results in end of file or an error, +call +.Ic ed-end-of-file +instead. +It is an error if the character is not found searching to the right +in the edit buffer. +.It Ic vi-next-word Pq vi command: w +Move the cursor to the right to the beginning of the next word. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if the cursor is already at the end of the edit +buffer or on its last character. +.It Ic vi-paste-next Pq vi command: p +Insert a copy of the cut buffer to the right of the cursor. +It is an error if the cut buffer is empty. +.It Ic vi-paste-prev Pq vi command: P +Insert a copy of the cut buffer to the left of the cursor. +It is an error if the cut buffer is empty. +.It Ic vi-prev-big-word Pq vi command: B +Move the cursor to the left to the next beginning of a space delimited +word. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if the cursor is already at the beginning of the +edit buffer. +.It Ic vi-prev-char Pq vi command: F +Read one character from the terminal bypassing the normal line +editing functionality and move the cursor to the left to the next +instance of that character in the edit buffer. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +If trying to read the character results in end of file or an error, +call +.Ic ed-end-of-file +instead. +It is an error if the character is not found searching to the left +in the edit buffer. +.It Ic vi-prev-word Pq vi command: b +Move the cursor to the left to the next beginning of a word. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +It is an error if the cursor is already at the beginning of the +edit buffer. +.It Ic vi-redo Pq vi command: Sq \&. +Redo the last non-motion command. +.It Ic vi-repeat-next-char Pq vi command: Sq \&; +Repeat the most recent character search in the same search direction. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +.It Ic vi-repeat-prev-char Pq vi command: Sq \&, +Repeat the most recent character search in the opposite search +direction. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +.It Ic vi-repeat-search-next Pq vi command: n +Repeat the most recent history search in the same search direction. +.It Ic vi-repeat-search-prev Pq vi command: N +Repeat the most recent history search in the opposite search +direction. +.It Ic vi-replace-char Pq vi command: r +Switch to vi replace mode, and automatically switch back to vi +command mode after the next character typed. +See +.Ic ed-insert +for a description of replace mode. +It is an error if the cursor is at the end of the edit buffer. +.It Ic vi-replace-mode Pq vi command: R +Switch to vi replace mode. +This is a variant of vi insert mode; see +.Ic ed-insert +for the difference. +.It Ic vi-search-next Pq vi command: \&? +Replace the edit buffer with the next matching history entry. +.It Ic vi-search-prev Pq vi command: / +Replace the edit buffer with the previous matching history entry. +.It Ic vi-substitute-char Pq vi command: s +Delete the character at the cursor and switch to vi insert mode. +.It Ic vi-substitute-line Pq vi command: S +Delete the entire contents of the edit buffer, save a copy of it +in the cut buffer, and enter vi insert mode. +.It Ic vi-to-column Pq vi command: \&| +Move the cursor to the column specified as the argument. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +.It Ic vi-to-history-line Pq vi command: G +Replace the edit buffer with the specified history entry. +.It Ic vi-to-next-char Pq vi command: t +Read one character from the terminal bypassing the normal line +editing functionality and move the cursor to the right to the +character before the next instance of that character in the edit +buffer. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +If trying to read the character results in end of file or an error, +call +.Ic ed-end-of-file +instead. +It is an error if the character is not found searching to the right +in the edit buffer. +.It Ic vi-to-prev-char Pq vi command: T +Read one character from the terminal bypassing the normal line +editing functionality and move the cursor to the left to the character +after the next instance of that character in the edit buffer. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +If trying to read the character results in end of file or an error, +call +.Ic ed-end-of-file +instead. +It is an error if the character is not found searching to the left +in the edit buffer. +.It Ic vi-undo Pq vi command: u +Undo the last change. +.It Ic vi-undo-line Pq vi command: U +Undo all changes to the edit buffer. +.It Ic vi-yank Pq vi command: y +Copy the string from the cursor to the position specified by the +following movement command to the cut buffer. +When given twice in a row, instead copy the whole contents of the +edit buffer to the cut buffer. +.It Ic vi-yank-end Pq vi command: Y +Copy the string from the cursor to the end of the edit buffer to +the cut buffer. +.It Ic vi-zero Pq vi command: 0 +If in argument input mode, multiply the argument by ten. +Otherwise, move the cursor to the beginning of the edit buffer. +Can be used as a movement command after +.Ic vi_change_meta , +.Ic vi_delete_meta , +or +.Ic vi_yank . +.El +.Ss Macros +If an input character is bound to the editor command +.Ic ed-sequence-lead-in , +.Nm +attempts to call a macro. +If the input character by itself forms the name of a macro, that +macro is executed. +Otherwise, additional input characters are read until the string +read forms the name of a macro, in which case that macro is executed, +or until the string read matches the beginning of none of the existing +macro names, in which case the string including the final, mismatching +character is discarded and the terminal bell is rung. +.Pp +There are two kinds of macros. +Command macros execute a single editor command. +Keyboard macros return a string of characters that is appended +as a new line to the +.Sx Input Queue . +.Pp +The following command macros are defined by default in vi command +mode and in emacs mode: +.Bl -column -offset indent "Esc O A, Esc O A" "em-exchange-mark" +.It Esc \&[ A, Esc O A Ta Ic ed-prev-history +.It Esc \&[ B, Esc O B Ta Ic ed-next-history +.It Esc \&[ C, Esc O C Ta Ic ed-next-char +.It Esc \&[ D, Esc O D Ta Ic ed-prev-char +.It Esc \&[ F, Esc O F Ta Ic ed-move-to-end +.It Esc \&[ H, Esc O H Ta Ic ed-move-to-beg +.El +.Pp +In vi command mode, they are also defined by default without the +initial escape character. +.Pp +In addition, the +.Nm +library tries to bind the strings generated by the arrow keys +as reported by the +.Xr terminfo 5 +database to these editor commands, unless that would clobber +user settings. +.Pp +In emacs mode, the two-character string +.Dq Ctrl-X Ctrl-X +is bound to the +.Ic em-exchange-mark +editor command. +.Ss Input Queue +The +.Nm +library maintains an input queue operated in FIFO mode. +Whenever it needs an input character, it takes the first character +from the first line of the input queue. +When the queue is empty, it reads from the terminal. +.Pp +A line can be appended to the end of the input queue in several ways: +.Bl -dash -offset indent +.It +By calling one of the keyboard +.Sx Macros . +.It +By calling the editor command +.Ic vi-redo . +.It +By calling the editor command +.Ic vi-alias . +.It +By pressing a key in emacs incremental search mode that doesn't +have a special meaning in that mode but returns to normal emacs +mode. +.It +If an application program directly calls the functions +.Xr el_push 3 +or +.Xr el_wpush 3 , +it can provide additional, program-specific ways +of appending to the input queue. +.El +.Sh SEE ALSO +.Xr mg 1 , +.Xr vi 1 , +.Xr editline 3 , +.Xr el_wgets 3 , +.Xr el_wpush 3 , +.Xr el_wset 3 , +.Xr editrc 5 +.Sh HISTORY +This manual page first appeared in +.Ox 6.0 +and +.Nx 8 . +.Sh AUTHORS +.An -nosplit +This manual page was written by +.An Ingo Schwarze Aq Mt schwarze@openbsd.org . diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/editrc.5.roff mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/editrc.5.roff --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/editrc.5.roff 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/editrc.5.roff 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,325 @@ +.\" $NetBSD: editrc.5,v 1.33 2017/06/27 01:22:58 kre Exp $ +.\" +.\" Copyright (c) 1997-2000 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This file was contributed to The NetBSD Foundation by Luke Mewburn. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd May 22, 2016 +.Dt EDITRC 5 +.Os +.Sh NAME +.Nm editrc +.Nd configuration file for editline library +.Sh SYNOPSIS +.Nm +.Sh DESCRIPTION +The +.Nm +file defines various settings to be used by the +.Xr editline 3 +library. +.Pp +The format of each line is: +.Pp +.Dl [prog:]command [arg ...] +.Pp +.Ar command +is one of the +.Xr editline 3 +builtin commands. +Refer to +.Sx BUILTIN COMMANDS +for more information. +.Pp +.Ar prog +is the program name string that a program defines when it calls +.Xr el_init 3 +to set up +.Xr editline 3 , +which is usually +.Va argv[0] . +.Ar command +will be executed for any program which matches +.Ar prog . +.Pp +.Ar prog +may also be a +.Xr regex 3 +style +regular expression, in which case +.Ar command +will be executed for any program that matches the regular expression. +.Pp +If +.Ar prog +is absent, +.Ar command +is executed for all programs. +.Sh BUILTIN COMMANDS +The +.Nm editline +library has some builtin commands, which affect the way +that the line editing and history functions operate. +These are based on similar named builtins present in the +.Xr tcsh 1 +shell. +.Pp +The following builtin commands are available: +.Bl -tag -width 4n +.It Ic bind Oo Fl aeklrsv Oc Op Ar key Op Ar command +Without options and arguments, list all bound keys and macros, and +the editor command or input string to which each one is bound. +If only +.Ar key +is supplied, show the binding for that key or macro. +If +.Ar key command +is supplied, bind the editor +.Ar command +to that key or macro. +.Pp +The options are as follows: +.Bl -tag -width 4n +.It Fl a +List or change key bindings in the +.Xr vi 1 +mode alternate (command mode) key map. +.It Fl e +Bind all keys to the standard GNU Emacs-like bindings. +.It Fl k +.Ar key +is interpreted as a symbolic arrow key name, which may be one of +.Sq up , +.Sq down , +.Sq left +or +.Sq right . +.It Fl l +List all editor commands and a short description of each. +.It Fl r +Remove the binding of the key or macro +.Ar key . +.It Fl s +Define a keyboard macro rather than a key binding or command macro: +.Ar command +is taken as a literal string and appended to the input queue whenever +.Ar key +is typed. +Bound keys and macros in +.Ar command +are themselves reinterpreted, and this continues for ten levels of +interpretation. +.It Fl v +Bind all keys to the standard +.Xr vi 1 Ns -like +bindings. +.El +.Pp +The +.Xr editline 7 +manual documents all editor commands and contains more information +about macros and the input queue. +.Pp +.Ar key +and +.Ar command +can contain control characters of the form +.Sm off +.Sq No ^ Ar character +.Sm on +.Po +e.g.\& +.Sq ^A +.Pc , +and the following backslashed escape sequences: +.Pp +.Bl -tag -compact -offset indent -width 4n +.It Ic \ea +Bell +.It Ic \eb +Backspace +.It Ic \ee +Escape +.It Ic \ef +Formfeed +.It Ic \en +Newline +.It Ic \er +Carriage return +.It Ic \et +Horizontal tab +.It Ic \ev +Vertical tab +.Sm off +.It Sy \e Ar nnn +.Sm on +The ASCII character corresponding to the octal number +.Ar nnn . +.El +.Pp +.Sq \e +nullifies the special meaning of the following character, +if it has any, notably +.Sq \e +and +.Sq ^ . +.It Ic echotc Oo Fl sv Oc Ar arg Ar ... +Exercise terminal capabilities given in +.Ar arg ... . +If +.Ar arg +is +.Sq baud , +.Sq cols , +.Sq lines , +.Sq rows , +.Sq meta , +or +.Sq tabs , +the value of that capability is printed, with +.Dq yes +or +.Dq no +indicating that the terminal does or does not have that capability. +.Pp +.Fl s +returns an empty string for non-existent capabilities, rather than +causing an error. +.Fl v +causes messages to be verbose. +.It Ic edit Op Li on | Li off +Enable or disable the +.Nm editline +functionality in a program. +.It Ic history Ar list | Ar size Dv n | Ar unique Dv n +The +.Ar list +command lists all entries in the history. +The +.Ar size +command sets the history size to +.Dv n +entries. +The +.Ar unique +command controls if history should keep duplicate entries. +If +.Dv n +is non zero, only keep unique history entries. +If +.Dv n +is zero, then keep all entries (the default). +.It Ic settc Ar cap Ar val +Set the terminal capability +.Ar cap +to +.Ar val , +as defined in +.Xr termcap 5 . +No sanity checking is done. +.It Ic setty Oo Fl a Oc Oo Fl d Oc Oo Fl q Oc Oo Fl x Oc Oo Ar +mode Oc \ +Oo Ar -mode Oc Oo Ar mode Oc Oo Ar char=c Oc +Control which tty modes that +.Nm +won't allow the user to change. +.Fl d , +.Fl q +or +.Fl x +tells +.Ic setty +to act on the +.Sq edit , +.Sq quote +or +.Sq execute +set of tty modes respectively; defaulting to +.Fl x . +.Pp +Without other arguments, +.Ic setty +lists the modes in the chosen set which are fixed on +.Po +.Sq +mode +.Pc +or off +.Po +.Sq -mode +.Pc . +.Fl a +lists all tty modes in the chosen set regardless of the setting. +With +.Ar +mode , +.Ar -mode +or +.Ar mode , +fixes +.Ar mode +on or off or removes control of +.Ar mode +in the chosen set. +.Pp +.Ic Setty +can also be used to set tty characters to particular values using +.Ar char=value . +If +.Ar value +is empty +then the character is set to +.Dv _POSIX_VDISABLE . +.It Ic telltc +List the values of all the terminal capabilities (see +.Xr termcap 5 ) . +.El +.Sh ENVIRONMENT +.Bl -tag -width "~/.editrcXXX" +.It Ev EDITRC +Names the default configuration file for the +.Xr editline 3 +library. +.El +.Sh FILES +.Bl -tag -width "~/.editrcXXX" +.It Pa ~/.editrc +Last resort, if no other file is specified, +user configuration file for the +.Xr editline 3 +library. +.El +.Sh SEE ALSO +.Xr editline 3 , +.Xr regex 3 , +.Xr termcap 5 , +.Xr editline 7 +.Sh AUTHORS +.An -nosplit +The +.Nm editline +library was written by +.An Christos Zoulas , +and this manual was written by +.An Luke Mewburn , +with some sections inspired by +.Xr tcsh 1 . diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/Makefile.am mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/Makefile.am --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/Makefile.am 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,73 @@ + +EL_MANS = editline.3 editline.7 editrc.5 + +man_MANS = $(EL_MANS) + + +EL_MAN_LINKS = \ + el_deletestr.3 \ + el_end.3 \ + el_get.3 \ + el_getc.3 \ + el_gets.3 \ + el_init.3 \ + el_init_fd.3 \ + el_insertstr.3 \ + el_line.3 \ + el_parse.3 \ + el_push.3 \ + el_reset.3 \ + el_resize.3 \ + el_set.3 \ + el_source.3 \ + history.3 \ + history_end.3 \ + history_init.3 \ + tok_end.3 \ + tok_init.3 \ + tok_line.3 \ + tok_reset.3 \ + tok_str.3 + +EL_MAN_LINKS += \ + el_wdeletestr.3 \ + el_wget.3 \ + el_wgetc.3 \ + el_wgets.3 \ + el_winsertstr.3 \ + el_wline.3 \ + el_wparse.3 \ + el_wpush.3 \ + el_wset.3 \ + history_w.3 \ + history_wend.3 \ + history_winit.3 \ + tok_wend.3 \ + tok_winit.3 \ + tok_wline.3 \ + tok_wreset.3 \ + tok_wstr.3 + + +install-data-hook: $(EL_MAN_LINKS) + +$(EL_MAN_LINKS): + (cd $(DESTDIR)$(man3dir) && rm -f $@ && $(LN_S) editline.3 $@) + +$(EL_MANS): + @if test "$(MANTYPE)" = "mdoc"; then\ + cp $(srcdir)/$@.roff $@;\ + else\ + $(AWK) -f $(srcdir)/mdoc2man.awk $(srcdir)/$@.roff > $@ || rm -f $@;\ + fi; + +uninstall-local: + (cd $(DESTDIR)$(man3dir) && rm -f $(EL_MAN_LINKS)) + +CLEANFILES = $(EL_MANS) +EXTRA_DIST = editline.3.roff editline.7.roff editrc.5.roff mdoc2man.awk + +changelog.txt: ../ChangeLog + @sed 's/@/ (at)/g; s/&/\&/g; s//\>/g;' $(srcdir)/$< > $@; + + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/Makefile.in mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/Makefile.in --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/Makefile.in 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,642 @@ +# Makefile.in generated by automake 1.16.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2018 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = doc +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +man3dir = $(mandir)/man3 +am__installdirs = "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" \ + "$(DESTDIR)$(man7dir)" +man5dir = $(mandir)/man5 +man7dir = $(mandir)/man7 +MANS = $(man_MANS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +LT_VERSION = @LT_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MANTYPE = @MANTYPE@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +NROFF = @NROFF@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +EL_MANS = editline.3 editline.7 editrc.5 +man_MANS = $(EL_MANS) +EL_MAN_LINKS = el_deletestr.3 el_end.3 el_get.3 el_getc.3 el_gets.3 \ + el_init.3 el_init_fd.3 el_insertstr.3 el_line.3 el_parse.3 \ + el_push.3 el_reset.3 el_resize.3 el_set.3 el_source.3 \ + history.3 history_end.3 history_init.3 tok_end.3 tok_init.3 \ + tok_line.3 tok_reset.3 tok_str.3 el_wdeletestr.3 el_wget.3 \ + el_wgetc.3 el_wgets.3 el_winsertstr.3 el_wline.3 el_wparse.3 \ + el_wpush.3 el_wset.3 history_w.3 history_wend.3 \ + history_winit.3 tok_wend.3 tok_winit.3 tok_wline.3 \ + tok_wreset.3 tok_wstr.3 +CLEANFILES = $(EL_MANS) +EXTRA_DIST = editline.3.roff editline.7.roff editrc.5.roff mdoc2man.awk +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man3: $(man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man3dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.3[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ + done; } + +uninstall-man3: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man3dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.3[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) +install-man5: $(man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man5dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.5[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ + done; } + +uninstall-man5: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man5dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.5[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) +install-man7: $(man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man7dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man7dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man7dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.7[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man7dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man7dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man7dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man7dir)" || exit $$?; }; \ + done; } + +uninstall-man7: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man7dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.7[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man7dir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) +installdirs: + for dir in "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man7dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-man + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: install-man3 install-man5 install-man7 + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-local uninstall-man + +uninstall-man: uninstall-man3 uninstall-man5 uninstall-man7 + +.MAKE: install-am install-data-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-data-hook install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-man3 install-man5 \ + install-man7 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags-am uninstall uninstall-am uninstall-local \ + uninstall-man uninstall-man3 uninstall-man5 uninstall-man7 + +.PRECIOUS: Makefile + + +install-data-hook: $(EL_MAN_LINKS) + +$(EL_MAN_LINKS): + (cd $(DESTDIR)$(man3dir) && rm -f $@ && $(LN_S) editline.3 $@) + +$(EL_MANS): + @if test "$(MANTYPE)" = "mdoc"; then\ + cp $(srcdir)/$@.roff $@;\ + else\ + $(AWK) -f $(srcdir)/mdoc2man.awk $(srcdir)/$@.roff > $@ || rm -f $@;\ + fi; + +uninstall-local: + (cd $(DESTDIR)$(man3dir) && rm -f $(EL_MAN_LINKS)) + +changelog.txt: ../ChangeLog + @sed 's/@/ (at)/g; s/&/\&/g; s//\>/g;' $(srcdir)/$< > $@; + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/mdoc2man.awk mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/mdoc2man.awk --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/doc/mdoc2man.awk 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/doc/mdoc2man.awk 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,459 @@ +#!/usr/bin/awk +# +# Version history: +# v3, I put the program under a proper license +# Dan Nelson added .An, .Aq and fixed a typo +# v2, fixed to work on GNU awk --posix and MacOS X +# v1, first attempt, didn't work on MacOS X +# +# Copyright (c) 2003 Peter Stuge +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +BEGIN { + optlist=0 + oldoptlist=0 + nospace=0 + synopsis=0 + reference=0 + block=0 + ext=0 + extopt=0 + literal=0 + prenl=0 + breakw=0 + line="" + proto=0 + bl_level=0 +} + +function wtail() { + retval="" + while(w0;i--) { + add(refauthors[i]) + if(i>1) + add(", ") + } + if(nrefauthors>1) + add(" and ") + add(refauthors[0] ", \\fI" reftitle "\\fP") + if(length(refissue)) + add(", " refissue) + if(length(refdate)) + add(", " refdate) + if(length(refopt)) + add(", " refopt) + add(".") + reference=0 + } else if(reference) { + if(match(words[w],"^%A$")) { refauthors[nrefauthors++]=wtail() } + if(match(words[w],"^%T$")) { + reftitle=wtail() + sub("^\"","",reftitle) + sub("\"$","",reftitle) + } + if(match(words[w],"^%N$")) { refissue=wtail() } + if(match(words[w],"^%D$")) { refdate=wtail() } + if(match(words[w],"^%O$")) { refopt=wtail() } + } else if(match(words[w],"^Nm$")) { + if(synopsis) { + add(".br") + prenl++ + } + n=words[++w] + if(!length(name)) + name=n + if(!length(n)) + n=name + add("\\fB" n "\\fP") + if(!nospace&&match(words[w+1],"^[\\.,]")) + nospace=1 + } else if(match(words[w],"^Nd$")) { + add("\\- " wtail()) + } else if(match(words[w],"^Fl$")) { + add("\\fB\\-" words[++w] "\\fP") + if(!nospace&&match(words[w+1],"^[\\.,]")) + nospace=1 + } else if(match(words[w],"^Ar$")) { + add("\\fI") + if(w==nwords) + add("file ...\\fP") + else { + add(words[++w] "\\fP") + while(match(words[w+1],"^\\|$")) + add(OFS words[++w] " \\fI" words[++w] "\\fP") + } + if(!nospace&&match(words[w+1],"^[\\.,]")) + nospace=1 + } else if(match(words[w],"^Cm$")) { + add("\\fB" words[++w] "\\fP") + while(w 1) + add(".RS") + oldoptlist=optlist + if(match(words[w+1],"-bullet")) + optlist=1 + else if(match(words[w+1],"-enum")) { + optlist=2 + enum=0 + } else if(match(words[w+1],"-tag")) + optlist=3 + else if(match(words[w+1],"-item")) + optlist=4 + else if(match(words[w+1],"-bullet")) + optlist=1 + w=nwords + } else if(match(words[w],"^El$")) { + if (bl_level > 1) + add(".RE") + --bl_level + optlist=oldoptlist + } else if(match(words[w],"^Bk$")) { + if(match(words[w+1],"-words")) { + w++ + breakw=1 + } + } else if(match(words[w],"^Ek$")) { + breakw=0 + } else if(match(words[w],"^It$")&&optlist) { + if(optlist==1) + add(".IP \\(bu") + else if(optlist==2) + add(".IP " ++enum ".") + else if(optlist==3) { + add(".TP") + prenl++ + if(match(words[w+1],"^Pa$|^Ev$")) { + add(".B") + w++ + } + } else if(optlist==4) + add(".IP") + } else if(match(words[w],"^Sm$")) { + if(match(words[w+1],"off")) + nospace=2 + else if(match(words[w+1],"on")) + nospace=0 + w++ + } else if(match(words[w],"^Lb$")) { + wtail() + add("Command Line Editor Library (libedit, -ledit)") + } else if(match(words[w],"^In$")) { + add(".PP\n") + add("\\fB#include <" wtail() ">\\fP") + } else if(match(words[w],"^Ft$")) { + add(".PP\n") + add("\\fI" wtail() "\\fP\n") + add(".br") + proto=1 + } else if(match(words[w],"^Fn$")) { + add("\\fB" words[++w] "\\fP(") + punct=0 + while(++w<=nwords) { + if(match(words[w], "^\".*\"$")) { + sub("^\"", "", words[w]) + sub("\"$", "", words[w]) + add("\\fI" words[w] "\\fP") + if (w!=nwords) { + add(", ") + } + } else if(match(words[w], "^\"")) { + sub("^\"", "", words[w]) + add("\\fI" words[w] " ") + } else if (match(words[w], "\"$")) { + sub("\"$", "", words[w]) + add(words[w] "\\fP") + if (w!=nwords) { + add(", ") + } + } else { + if (w==nwords&&(match(words[w], "^[.,]$"))) { + punct=1 + } else { + add(words[w] " ") + } + + } + } + add(")") + if (punct==1) { + add(words[w-1]) + } else { + if (proto==1) { + add(";") + proto=0 + } + } + } else if(match(words[w],"^Fa$")) { + punct=0 + add("\\fI") + while(++w<=nwords) { + if(match(words[w], "^\".*\"$")) { + sub("^\"", "", words[w]) + sub("\"$", "", words[w]) + add(words[w]) + } else if(match(words[w], "^\"")) { + sub("^\"", "", words[w]) + add(words[w] " ") + } else if (match(words[w], "\"$")) { + sub("\"$", "", words[w]) + add(words[w]) + } else { + if (w==nwords&&(match(words[w], "^[.,]$"))) { + punct=1 + } else { + if (w+1==nwords&&(match(words[w+1], "^[.,]$"))) { + add(words[w]) + } else { + add(words[w] " ") + } + } + } + } + add("\\fP") + if (punct==1) { + add(words[w-1]) + } + } else if(!skip) { + add(words[w]) + } + } + if(match(line,"^\\.[^a-zA-Z]")) + sub("^\\.","",line) + if(parens) + add(")") + if(angles) + add(">") + if(option) + add("]") + if(ext&&!extopt&&!match(line," $")) + add(OFS) + if(!ext&&!extopt&&length(line)) { + print line + prenl=0 + line="" + } +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/examples/fileman.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/examples/fileman.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/examples/fileman.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/examples/fileman.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,496 @@ +/* fileman.c -- A tiny application which demonstrates how to use the + GNU Readline library. This application interactively allows users + to manipulate files and their modes. + + NOTE: this was taken from the GNU Readline documentation and ported + to libedit. A command to output the history list was added. + + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* GNU readline +#include +#include +*/ +#include + +void * xmalloc (size_t size); +void too_dangerous (char *caller); +void initialize_readline (); +int execute_line (char *line); +int valid_argument (char *caller, char *arg); + +typedef int rl_icpfunc_t (char *); + +/* The names of functions that actually do the manipulation. */ +int com_list (char *); +int com_view (char *); +int com_history (char *); +int com_rename(char *); +int com_stat(char *); +int com_pwd(char *); +int com_delete(char *); +int com_help(char *); +int com_cd(char *); +int com_quit(char *); + +/* A structure which contains information on the commands this program + can understand. */ + +typedef struct { + char *name; /* User printable name of the function. */ + rl_icpfunc_t *func; /* Function to call to do the job. */ + char *doc; /* Documentation for this function. */ +} COMMAND; + +COMMAND commands[] = { + { "cd", com_cd, "Change to directory DIR" }, + { "delete", com_delete, "Delete FILE" }, + { "help", com_help, "Display this text" }, + { "?", com_help, "Synonym for `help'" }, + { "list", com_list, "List files in DIR" }, + { "ls", com_list, "Synonym for `list'" }, + { "pwd", com_pwd, "Print the current working directory" }, + { "quit", com_quit, "Quit using Fileman" }, + { "rename", com_rename, "Rename FILE to NEWNAME" }, + { "stat", com_stat, "Print out statistics on FILE" }, + { "view", com_view, "View the contents of FILE" }, + { "history", com_history, "List editline history" }, + { (char *)NULL, (rl_icpfunc_t *)NULL, (char *)NULL } +}; + +/* Forward declarations. */ +char *stripwhite (); +COMMAND *find_command (); + +/* The name of this program, as taken from argv[0]. */ +char *progname; + +/* When non-zero, this means the user is done using this program. */ +int done; + +char * +dupstr (char* s) +{ + char *r; + + r = xmalloc (strlen (s) + 1); + strcpy (r, s); + return (r); +} + +int +main (int argc __attribute__((__unused__)), char **argv) +{ + char *line, *s; + + progname = argv[0]; + + setlocale(LC_CTYPE, ""); + + initialize_readline(); /* Bind our completer. */ + + stifle_history(7); + + /* Loop reading and executing lines until the user quits. */ + for ( ; done == 0; ) + { + line = readline ("FileMan: "); + + if (!line) + break; + + /* Remove leading and trailing whitespace from the line. + Then, if there is anything left, add it to the history list + and execute it. */ + s = stripwhite(line); + + if (*s) { + + char* expansion; + int result; + + result = history_expand(s, &expansion); + + if (result < 0 || result == 2) { + fprintf(stderr, "%s\n", expansion); + } else { + add_history(expansion); + execute_line(expansion); + } + free(expansion); + } + + free(line); + } + exit (0); + + return 0; +} + +/* Execute a command line. */ +int +execute_line (char *line) +{ + register int i; + COMMAND *command; + char *word; + + /* Isolate the command word. */ + i = 0; + while (line[i] && isspace (line[i])) + i++; + word = line + i; + + while (line[i] && !isspace (line[i])) + i++; + + if (line[i]) + line[i++] = '\0'; + + command = find_command (word); + + if (!command) + { + fprintf (stderr, "%s: No such command for FileMan.\n", word); + return (-1); + } + + /* Get argument to command, if any. */ + while (isspace (line[i])) + i++; + + word = line + i; + + /* Call the function. */ + return ((*(command->func)) (word)); +} + +/* Look up NAME as the name of a command, and return a pointer to that + command. Return a NULL pointer if NAME isn't a command name. */ +COMMAND * +find_command (char *name) +{ + register int i; + + for (i = 0; commands[i].name; i++) + if (strcmp (name, commands[i].name) == 0) + return (&commands[i]); + + return ((COMMAND *)NULL); +} + +/* Strip whitespace from the start and end of STRING. Return a pointer + into STRING. */ +char * +stripwhite (char *string) +{ + register char *s, *t; + + for (s = string; isspace (*s); s++) + ; + + if (*s == 0) + return (s); + + t = s + strlen (s) - 1; + while (t > s && isspace (*t)) + t--; + *++t = '\0'; + + return s; +} + +/* **************************************************************** */ +/* */ +/* Interface to Readline Completion */ +/* */ +/* **************************************************************** */ + +char *command_generator(const char *, int); +char **fileman_completion(const char *, int, int); + +/* Tell the GNU Readline library how to complete. We want to try to + complete on command names if this is the first word in the line, or + on filenames if not. */ +void +initialize_readline () +{ + /* Allow conditional parsing of the ~/.inputrc file. */ + rl_readline_name = "FileMan"; + + /* Tell the completer that we want a crack first. */ + rl_attempted_completion_function = fileman_completion; +} + +/* Attempt to complete on the contents of TEXT. START and END + bound the region of rl_line_buffer that contains the word to + complete. TEXT is the word to complete. We can use the entire + contents of rl_line_buffer in case we want to do some simple + parsing. Returnthe array of matches, or NULL if there aren't any. */ +char ** +fileman_completion (const char* text, int start, int end __attribute__((__unused__))) +{ + char **matches; + + matches = (char **)NULL; + + /* If this word is at the start of the line, then it is a command + to complete. Otherwise it is the name of a file in the current + directory. */ + if (start == 0) + /* TODO */ + matches = completion_matches ((char*)text, command_generator); + /* matches = rl_completion_matches (text, command_generator); */ + + return (matches); +} + +/* Generator function for command completion. STATE lets us + know whether to start from scratch; without any state + (i.e. STATE == 0), then we start at the top of the list. */ +char * +command_generator (text, state) + const char *text; + int state; +{ + static int list_index, len; + char *name; + + /* If this is a new word to complete, initialize now. This + includes saving the length of TEXT for efficiency, and + initializing the index variable to 0. */ + if (!state) + { + list_index = 0; + len = strlen (text); + } + + /* Return the next name which partially matches from the + command list. */ + while ((name = commands[list_index].name)) + { + list_index++; + + if (strncmp (name, text, len) == 0) + return (dupstr(name)); + } + + /* If no names matched, then return NULL. */ + return ((char *)NULL); +} + +/* **************************************************************** */ +/* */ +/* FileMan Commands */ +/* */ +/* **************************************************************** */ + +/* String to pass to system (). This is for the LIST, VIEW and RENAME + commands. */ +static char syscom[1024]; + +/* List the file(s) named in arg. */ +int +com_list (char *arg) +{ + if (!arg) + arg = ""; + + sprintf (syscom, "ls -FClg %s", arg); + return (system (syscom)); +} + +int +com_view (char *arg) +{ + if (!valid_argument ("view", arg)) + return 1; + + sprintf (syscom, "more %s", arg); + return (system (syscom)); +} + +int +com_history(char* arg __attribute__((__unused__))) +{ + HIST_ENTRY *he; + + /* rewind history */ + while (previous_history()) + ; + + for (he = current_history(); he != NULL; he = next_history()) { + //printf("%5d %s\n", *((int*)he->data) - 1, he->line); + printf("%s\n", he->line); + } + + return 0; +} + +int +com_rename (char *arg __attribute__((__unused__))) +{ + too_dangerous ("rename"); + return (1); +} + +int +com_stat (char *arg) +{ + struct stat finfo; + + if (!valid_argument ("stat", arg)) + return (1); + + if (stat (arg, &finfo) == -1) + { + perror (arg); + return (1); + } + + printf ("Statistics for `%s':\n", arg); + + printf ("%s has %ld link%s, and is %lld byte%s in length.\n", arg, + (long) finfo.st_nlink, + (finfo.st_nlink == 1) ? "" : "s", + (long long) finfo.st_size, + (finfo.st_size == 1) ? "" : "s"); + printf ("Inode Last Change at: %s", ctime (&finfo.st_ctime)); + printf (" Last access at: %s", ctime (&finfo.st_atime)); + printf (" Last modified at: %s", ctime (&finfo.st_mtime)); + return (0); +} + +int +com_delete (char *arg __attribute__((__unused__))) +{ + too_dangerous ("delete"); + return (1); +} + +/* Print out help for ARG, or for all of the commands if ARG is + not present. */ +int +com_help (char *arg) +{ + register int i; + int printed = 0; + + for (i = 0; commands[i].name; i++) + { + if (!*arg || (strcmp (arg, commands[i].name) == 0)) + { + printf ("%s\t\t%s.\n", commands[i].name, commands[i].doc); + printed++; + } + } + + if (!printed) + { + printf ("No commands match `%s'. Possibilties are:\n", arg); + + for (i = 0; commands[i].name; i++) + { + /* Print in six columns. */ + if (printed == 6) + { + printed = 0; + printf ("\n"); + } + + printf ("%s\t", commands[i].name); + printed++; + } + + if (printed) + printf ("\n"); + } + return (0); +} + +/* Change to the directory ARG. */ +int +com_cd (char *arg) +{ + if (chdir (arg) == -1) + { + perror (arg); + return 1; + } + + com_pwd (""); + return (0); +} + +/* Print out the current working directory. */ +int +com_pwd (char* ignore __attribute__((__unused__))) +{ + char dir[1024], *s; + + s = (char*)getcwd(dir, sizeof(dir) - 1); + if (s == 0) + { + printf ("Error getting pwd: %s\n", dir); + return 1; + } + + printf ("Current directory is %s\n", dir); + return 0; +} + +/* The user wishes to quit using this program. Just set DONE + non-zero. */ +int +com_quit (char *arg __attribute__((__unused__))) +{ + done = 1; + return (0); +} + +/* Function which tells you that you can't do this. */ +void +too_dangerous (char *caller) +{ + fprintf (stderr, + "%s: Too dangerous for me to distribute.\n", + caller); + fprintf (stderr, "Write it yourself.\n"); +} + +/* Return non-zero if ARG is a valid argument for CALLER, + else print an error message and return zero. */ +int +valid_argument (char *caller, char *arg) +{ + if (!arg || !*arg) + { + fprintf (stderr, "%s: Argument required.\n", caller); + return (0); + } + + return (1); +} + +void * +xmalloc (size_t size) +{ + register void *value = (void*)malloc(size); + if (value == 0) + fprintf(stderr, "virtual memory exhausted"); + return value; +} + + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/examples/Makefile.am mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/examples/Makefile.am --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/examples/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/examples/Makefile.am 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,12 @@ + +LDADD = $(top_builddir)/src/libedit.la +AM_CFLAGS = -I$(top_srcdir)/src + +noinst_PROGRAMS = tc1 fileman + +tc1_SOURCES = tc1.c +fileman_SOURCES = fileman.c + +noinst_PROGRAMS += wtc1 +wtc1_SOURCES = wtc1.c + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/examples/Makefile.in mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/examples/Makefile.in --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/examples/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/examples/Makefile.in 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,622 @@ +# Makefile.in generated by automake 1.16.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2018 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +noinst_PROGRAMS = tc1$(EXEEXT) fileman$(EXEEXT) wtc1$(EXEEXT) +subdir = examples +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am_fileman_OBJECTS = fileman.$(OBJEXT) +fileman_OBJECTS = $(am_fileman_OBJECTS) +fileman_LDADD = $(LDADD) +fileman_DEPENDENCIES = $(top_builddir)/src/libedit.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +am_tc1_OBJECTS = tc1.$(OBJEXT) +tc1_OBJECTS = $(am_tc1_OBJECTS) +tc1_LDADD = $(LDADD) +tc1_DEPENDENCIES = $(top_builddir)/src/libedit.la +am_wtc1_OBJECTS = wtc1.$(OBJEXT) +wtc1_OBJECTS = $(am_wtc1_OBJECTS) +wtc1_LDADD = $(LDADD) +wtc1_DEPENDENCIES = $(top_builddir)/src/libedit.la +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/fileman.Po ./$(DEPDIR)/tc1.Po \ + ./$(DEPDIR)/wtc1.Po +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(fileman_SOURCES) $(tc1_SOURCES) $(wtc1_SOURCES) +DIST_SOURCES = $(fileman_SOURCES) $(tc1_SOURCES) $(wtc1_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +LT_VERSION = @LT_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MANTYPE = @MANTYPE@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +NROFF = @NROFF@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +LDADD = $(top_builddir)/src/libedit.la +AM_CFLAGS = -I$(top_srcdir)/src +tc1_SOURCES = tc1.c +fileman_SOURCES = fileman.c +wtc1_SOURCES = wtc1.c +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu examples/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +fileman$(EXEEXT): $(fileman_OBJECTS) $(fileman_DEPENDENCIES) $(EXTRA_fileman_DEPENDENCIES) + @rm -f fileman$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fileman_OBJECTS) $(fileman_LDADD) $(LIBS) + +tc1$(EXEEXT): $(tc1_OBJECTS) $(tc1_DEPENDENCIES) $(EXTRA_tc1_DEPENDENCIES) + @rm -f tc1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(tc1_OBJECTS) $(tc1_LDADD) $(LIBS) + +wtc1$(EXEEXT): $(wtc1_OBJECTS) $(wtc1_DEPENDENCIES) $(EXTRA_wtc1_DEPENDENCIES) + @rm -f wtc1$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(wtc1_OBJECTS) $(wtc1_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileman.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc1.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wtc1.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/fileman.Po + -rm -f ./$(DEPDIR)/tc1.Po + -rm -f ./$(DEPDIR)/wtc1.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/fileman.Po + -rm -f ./$(DEPDIR)/tc1.Po + -rm -f ./$(DEPDIR)/wtc1.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/examples/tc1.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/examples/tc1.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/examples/tc1.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/examples/tc1.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,309 @@ +/* $NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#ifndef lint +__COPYRIGHT("@(#) Copyright (c) 1992, 1993\n\ + The Regents of the University of California. All rights reserved.\n"); +#endif /* not lint */ + +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)test.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* from src/sys/sys/cdefs.h */ +#ifndef __UNCONST +# define __UNCONST(a) ((void *)(unsigned long)(const void *)(a)) +#endif + +/* + * test.c: A little test program + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "histedit.h" + +static int continuation = 0; +volatile sig_atomic_t gotsig = 0; + +static unsigned char complete(EditLine *, int); + int main(int, char **); +static char *prompt(EditLine *); +static void sig(int); + +static char * +prompt(EditLine *el __attribute__((__unused__))) +{ + static char a[] = "\1\033[7m\1Edit$\1\033[0m\1 "; + static char b[] = "Edit> "; + + return (continuation ? b : a); +} + +static void +sig(int i) +{ + gotsig = i; +} + +static unsigned char +complete(EditLine *el, int ch __attribute__((__unused__))) +{ + DIR *dd = opendir("."); + struct dirent *dp; + const char* ptr; + const LineInfo *lf = el_line(el); + size_t len; + int res = CC_ERROR; + + /* + * Find the last word + */ + for (ptr = lf->cursor - 1; + !isspace((unsigned char)*ptr) && ptr > lf->buffer; ptr--) + continue; + len = lf->cursor - ++ptr; + + for (dp = readdir(dd); dp != NULL; dp = readdir(dd)) { + if (len > strlen(dp->d_name)) + continue; + if (strncmp(dp->d_name, ptr, len) == 0) { + if (el_insertstr(el, &dp->d_name[len]) == -1) + res = CC_ERROR; + else + res = CC_REFRESH; + break; + } + } + + closedir(dd); + return res; +} + +int +main(int argc __attribute__((__unused__)), char *argv[]) +{ + EditLine *el = NULL; + int num; + const char *buf; + Tokenizer *tok; +#if 0 + int lastevent = 0; +#endif + int ncontinuation; + History *hist; + HistEvent ev; + + (void) setlocale(LC_CTYPE, ""); + (void) signal(SIGINT, sig); + (void) signal(SIGQUIT, sig); + (void) signal(SIGHUP, sig); + (void) signal(SIGTERM, sig); + + hist = history_init(); /* Init the builtin history */ + /* Remember 100 events */ + history(hist, &ev, H_SETSIZE, 100); + + tok = tok_init(NULL); /* Initialize the tokenizer */ + + /* Initialize editline */ + el = el_init(*argv, stdin, stdout, stderr); + + el_set(el, EL_EDITOR, "vi"); /* Default editor is vi */ + el_set(el, EL_SIGNAL, 1); /* Handle signals gracefully */ + el_set(el, EL_PROMPT_ESC, prompt, '\1');/* Set the prompt function */ + + /* Tell editline to use this history interface */ + el_set(el, EL_HIST, history, hist); + + /* Add a user-defined function */ + el_set(el, EL_ADDFN, "ed-complete", "Complete argument", complete); + + /* Bind tab to it */ + el_set(el, EL_BIND, "^I", "ed-complete", NULL); + + /* + * Bind j, k in vi command mode to previous and next line, instead + * of previous and next history. + */ + el_set(el, EL_BIND, "-a", "k", "ed-prev-line", NULL); + el_set(el, EL_BIND, "-a", "j", "ed-next-line", NULL); + + /* + * Source the user's defaults file. + */ + el_source(el, NULL); + + while ((buf = el_gets(el, &num)) != NULL && num != 0) { + int ac, cc, co; +#ifdef DEBUG + int i; +#endif + const char **av; + const LineInfo *li; + li = el_line(el); +#ifdef DEBUG + (void) fprintf(stderr, "==> got %d %s", num, buf); + (void) fprintf(stderr, " > li `%.*s_%.*s'\n", + (li->cursor - li->buffer), li->buffer, + (li->lastchar - 1 - li->cursor), + (li->cursor >= li->lastchar) ? "" : li->cursor); + +#endif + if (gotsig) { + (void) fprintf(stderr, "Got signal %d.\n", (int)gotsig); + gotsig = 0; + el_reset(el); + } + + if (!continuation && num == 1) + continue; + + ac = cc = co = 0; + ncontinuation = tok_line(tok, li, &ac, &av, &cc, &co); + if (ncontinuation < 0) { + (void) fprintf(stderr, "Internal error\n"); + continuation = 0; + continue; + } +#ifdef DEBUG + (void) fprintf(stderr, " > nc %d ac %d cc %d co %d\n", + ncontinuation, ac, cc, co); +#endif +#if 0 + if (continuation) { + /* + * Append to the right event in case the user + * moved around in history. + */ + if (history(hist, &ev, H_SET, lastevent) == -1) + err(1, "%d: %s", lastevent, ev.str); + history(hist, &ev, H_ADD , buf); + } else { + history(hist, &ev, H_ENTER, buf); + lastevent = ev.num; + } +#else + /* Simpler */ + history(hist, &ev, continuation ? H_APPEND : H_ENTER, buf); +#endif + + continuation = ncontinuation; + ncontinuation = 0; + if (continuation) + continue; +#ifdef DEBUG + for (i = 0; i < ac; i++) { + (void) fprintf(stderr, " > arg# %2d ", i); + if (i != cc) + (void) fprintf(stderr, "`%s'\n", av[i]); + else + (void) fprintf(stderr, "`%.*s_%s'\n", + co, av[i], av[i] + co); + } +#endif + + if (strcmp(av[0], "history") == 0) { + int rv; + + switch (ac) { + case 1: + for (rv = history(hist, &ev, H_LAST); rv != -1; + rv = history(hist, &ev, H_PREV)) + (void) fprintf(stdout, "%4d %s", + ev.num, ev.str); + break; + + case 2: + if (strcmp(av[1], "clear") == 0) + history(hist, &ev, H_CLEAR); + else + goto badhist; + break; + + case 3: + if (strcmp(av[1], "load") == 0) + history(hist, &ev, H_LOAD, av[2]); + else if (strcmp(av[1], "save") == 0) + history(hist, &ev, H_SAVE, av[2]); + break; + + badhist: + default: + (void) fprintf(stderr, + "Bad history arguments\n"); + break; + } + } else if (el_parse(el, ac, av) == -1) { + switch (fork()) { + case 0: + execvp(av[0], (char *const *)__UNCONST(av)); + perror(av[0]); + _exit(1); + /*NOTREACHED*/ + break; + + case -1: + perror("fork"); + break; + + default: + if (wait(&num) == -1) + perror("wait"); + (void) fprintf(stderr, "Exit %x\n", num); + break; + } + } + + tok_reset(tok); + } + + el_end(el); + tok_end(tok); + history_end(hist); + + return (0); +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/examples/wtc1.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/examples/wtc1.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/examples/wtc1.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/examples/wtc1.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,278 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +static int continuation; +volatile sig_atomic_t gotsig; +static const char hfile[] = ".whistory"; + +static wchar_t * +prompt(EditLine *el) +{ + static wchar_t a[] = L"\1\033[7m\1Edit$\1\033[0m\1 "; + static wchar_t b[] = L"Edit> "; + + return continuation ? b : a; +} + + +static void +sig(int i) +{ + gotsig = i; +} + +const char * +my_wcstombs(const wchar_t *wstr) +{ + static struct { + char *str; + int len; + } buf; + + int needed = wcstombs(0, wstr, 0) + 1; + if (needed > buf.len) { + buf.str = malloc(needed); + buf.len = needed; + } + wcstombs(buf.str, wstr, needed); + buf.str[needed - 1] = 0; + + return buf.str; +} + + +static unsigned char +complete(EditLine *el, int ch) +{ + DIR *dd = opendir("."); + struct dirent *dp; + const wchar_t *ptr; + char *buf, *bptr; + const LineInfoW *lf = el_wline(el); + int len, mblen, i; + unsigned char res = 0; + wchar_t dir[1024]; + + /* Find the last word */ + for (ptr = lf->cursor -1; !iswspace(*ptr) && ptr > lf->buffer; --ptr) + continue; + len = lf->cursor - ++ptr; + + /* Convert last word to multibyte encoding, so we can compare to it */ + wctomb(NULL, 0); /* Reset shift state */ + mblen = MB_LEN_MAX * len + 1; + buf = bptr = malloc(mblen); + if (buf == NULL) + err(1, "malloc"); + for (i = 0; i < len; ++i) { + /* Note: really should test for -1 return from wctomb */ + bptr += wctomb(bptr, ptr[i]); + } + *bptr = 0; /* Terminate multibyte string */ + mblen = bptr - buf; + + /* Scan directory for matching name */ + for (dp = readdir(dd); dp != NULL; dp = readdir(dd)) { + if (mblen > strlen(dp->d_name)) + continue; + if (strncmp(dp->d_name, buf, mblen) == 0) { + mbstowcs(dir, &dp->d_name[mblen], + sizeof(dir) / sizeof(*dir)); + if (el_winsertstr(el, dir) == -1) + res = CC_ERROR; + else + res = CC_REFRESH; + break; + } + } + + closedir(dd); + free(buf); + return res; +} + + +int +main(int argc, char *argv[]) +{ + EditLine *el = NULL; + int numc, ncontinuation; + const wchar_t *line; + TokenizerW *tok; + HistoryW *hist; + HistEventW ev; +#ifdef DEBUG + int i; +#endif + + setlocale(LC_ALL, ""); + + (void)signal(SIGINT, sig); + (void)signal(SIGQUIT, sig); + (void)signal(SIGHUP, sig); + (void)signal(SIGTERM, sig); + + hist = history_winit(); /* Init built-in history */ + history_w(hist, &ev, H_SETSIZE, 100); /* Remember 100 events */ + history_w(hist, &ev, H_LOAD, hfile); + + tok = tok_winit(NULL); /* Init the tokenizer */ + + el = el_init(argv[0], stdin, stdout, stderr); + + el_wset(el, EL_EDITOR, L"vi"); /* Default editor is vi */ + el_wset(el, EL_SIGNAL, 1); /* Handle signals gracefully */ + el_wset(el, EL_PROMPT_ESC, prompt, '\1'); /* Set the prompt function */ + + el_wset(el, EL_HIST, history_w, hist); /* FIXME - history_w? */ + + /* Add a user-defined function */ + el_wset(el, EL_ADDFN, L"ed-complete", L"Complete argument", complete); + + /* Bind to it */ + el_wset(el, EL_BIND, L"^I", L"ed-complete", NULL); + + /* + * Bind j, k in vi command mode to previous and next line, instead + * of previous and next history. + */ + el_wset(el, EL_BIND, L"-a", L"k", L"ed-prev-line", NULL); + el_wset(el, EL_BIND, L"-a", L"j", L"ed-next-line", NULL); + + /* Source the user's defaults file. */ + el_source(el, NULL); + + while((line = el_wgets(el, &numc)) != NULL && numc != 0) { + int ac, cc, co, rc; + const wchar_t **av; + + const LineInfoW *li; + li = el_wline(el); + +#ifdef DEBUG + (void)fwprintf(stderr, L"==> got %d %ls", numc, line); + (void)fwprintf(stderr, L" > li `%.*ls_%.*ls'\n", + (li->cursor - li->buffer), li->buffer, + (li->lastchar - 1 - li->cursor), + (li->cursor >= li->lastchar) ? L"" : li->cursor); +#endif + + if (gotsig) { + (void)fprintf(stderr, "Got signal %d.\n", (int)gotsig); + gotsig = 0; + el_reset(el); + } + + if(!continuation && numc == 1) + continue; /* Only got a linefeed */ + + ac = cc = co = 0; + ncontinuation = tok_wline(tok, li, &ac, &av, &cc, &co); + if (ncontinuation < 0) { + (void) fprintf(stderr, "Internal error\n"); + continuation = 0; + continue; + } + +#ifdef DEBUG + (void)fprintf(stderr, " > nc %d ac %d cc %d co %d\n", + ncontinuation, ac, cc, co); +#endif + history_w(hist, &ev, continuation ? H_APPEND : H_ENTER, line); + + continuation = ncontinuation; + ncontinuation = 0; + if(continuation) + continue; + +#ifdef DEBUG + for (i = 0; i < ac; ++i) { + (void)fwprintf(stderr, L" > arg# %2d ", i); + if (i != cc) + (void)fwprintf(stderr, L"`%ls'\n", av[i]); + else + (void)fwprintf(stderr, L"`%.*ls_%ls'\n", + co, av[i], av[i] + co); + } +#endif + + if (wcscmp (av[0], L"history") == 0) { + switch(ac) { + case 1: + for(rc = history_w(hist, &ev, H_LAST); + rc != -1; + rc = history_w(hist, &ev, H_PREV)) + (void)fwprintf(stdout, L"%4d %ls", + ev.num, ev.str); + break; + case 2: + if (wcscmp(av[1], L"clear") == 0) + history_w(hist, &ev, H_CLEAR); + else + goto badhist; + break; + case 3: + if (wcscmp(av[1], L"load") == 0) + history_w(hist, &ev, H_LOAD, + my_wcstombs(av[2])); + else if (wcscmp(av[1], L"save") == 0) + history_w(hist, &ev, H_SAVE, + my_wcstombs(av[2])); + else + goto badhist; + break; + badhist: + default: + (void)fprintf(stderr, + "Bad history arguments\n"); + break; + } + } else if (el_wparse(el, ac, av) == -1) { + switch (fork()) { + case 0: { + Tokenizer *ntok = tok_init(NULL); + int nargc; + const char **nav; + tok_str(ntok, my_wcstombs(line), &nargc, &nav); + execvp(nav[0],(char **)nav); + perror(nav[0]); + _exit(1); + /* NOTREACHED */ + break; + } + case -1: + perror("fork"); + break; + default: + if (wait(&rc) == -1) + perror("wait"); + (void)fprintf(stderr, "Exit %x\n", rc); + break; + } + } + + tok_wreset(tok); + } + + el_end(el); + tok_wend(tok); + history_w(hist, &ev, H_SAVE, hfile); + history_wend(hist); + + fprintf(stdout, "\n"); + return 0; +} + + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/INSTALL mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/INSTALL --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/INSTALL 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/INSTALL 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,229 @@ +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the `--target=TYPE' option to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/install-sh mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/install-sh --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/install-sh 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/install-sh 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,518 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2018-03-11.20; # UTC + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# 'make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +tab=' ' +nl=' +' +IFS=" $tab$nl" + +# Set DOITPROG to "echo" to test this script. + +doit=${DOITPROG-} +doit_exec=${doit:-exec} + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +is_target_a_directory=possibly + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) + is_target_a_directory=always + dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) is_target_a_directory=never;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +# We allow the use of options -d and -T together, by making -d +# take the precedence; this is for compatibility with GNU install. + +if test -n "$dir_arg"; then + if test -n "$dst_arg"; then + echo "$0: target directory not allowed when installing a directory." >&2 + exit 1 + fi +fi + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call 'install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + if test $# -gt 1 || test "$is_target_a_directory" = always; then + if test ! -d "$dst_arg"; then + echo "$0: $dst_arg: Is not a directory." >&2 + exit 1 + fi + fi +fi + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names problematic for 'test' and other utilities. + case $src in + -* | [=\(\)!]) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + dst=$dst_arg + + # If destination is a directory, append the input filename. + if test -d "$dst"; then + if test "$is_target_a_directory" = never; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dstbase=`basename "$src"` + case $dst in + */) dst=$dst$dstbase;; + *) dst=$dst/$dstbase;; + esac + dstdir_status=0 + else + dstdir=`dirname "$dst"` + test -d "$dstdir" + dstdir_status=$? + fi + fi + + case $dstdir in + */) dstdirslash=$dstdir;; + *) dstdirslash=$dstdir/;; + esac + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + # Note that $RANDOM variable is not portable (e.g. dash); Use it + # here however when possible just to lower collision chance. + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p' feature. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac + + oIFS=$IFS + IFS=/ + set -f + set fnord $dstdir + shift + set +f + IFS=$oIFS + + prefixes= + + for d + do + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=${dstdirslash}_inst.$$_ + rmtmp=${dstdirslash}_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + set +f && + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/libedit.pc.in mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/libedit.pc.in --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/libedit.pc.in 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/libedit.pc.in 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,13 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libedit +Description: command line editor library provides generic line editing, history, and tokenization functions. +Version: @VERSION@ +Requires: +Libs: -L${libdir} -ledit +Libs.private: @LIBS@ +Cflags: -I${includedir} -I${includedir}/editline + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/ltmain.sh mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/ltmain.sh --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/ltmain.sh 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/ltmain.sh 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,11147 @@ +#! /bin/sh +## DO NOT EDIT - This file generated from ./build-aux/ltmain.in +## by inline-source v2014-01-03.01 + +# libtool (GNU libtool) 2.4.6 +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +PROGRAM=libtool +PACKAGE=libtool +VERSION=2.4.6 +package_revision=2.4.6 + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './libtool --help' for help with using this script from the +# command line. + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# After configure completes, it has a better idea of some of the +# shell tools we need than the defaults used by the functions shared +# with bootstrap, so set those here where they can still be over- +# ridden by the user, but otherwise take precedence. + +: ${AUTOCONF="autoconf"} +: ${AUTOMAKE="automake"} + + +## -------------------------- ## +## Source external libraries. ## +## -------------------------- ## + +# Much of our low-level functionality needs to be sourced from external +# libraries, which are installed to $pkgauxdir. + +# Set a version string for this script. +scriptversion=2015-01-20.17; # UTC + +# General shell script boiler plate, and helper functions. +# Written by Gary V. Vaughan, 2004 + +# Copyright (C) 2004-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# As a special exception to the GNU General Public License, if you distribute +# this file as part of a program or library that is built using GNU Libtool, +# you may include this file under the same distribution terms that you use +# for the rest of that program. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. + + +## ------ ## +## Usage. ## +## ------ ## + +# Evaluate this file near the top of your script to gain access to +# the functions and variables defined here: +# +# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh +# +# If you need to override any of the default environment variable +# settings, do that before evaluating this file. + + +## -------------------- ## +## Shell normalisation. ## +## -------------------- ## + +# Some shells need a little help to be as Bourne compatible as possible. +# Before doing anything else, make sure all that help has been provided! + +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac +fi + +# NLS nuisances: We save the old values in case they are required later. +_G_user_locale= +_G_safe_locale= +for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test set = \"\${$_G_var+set}\"; then + save_$_G_var=\$$_G_var + $_G_var=C + export $_G_var + _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" + _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" + fi" +done + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Make sure IFS has a sensible default +sp=' ' +nl=' +' +IFS="$sp $nl" + +# There are apparently some retarded systems that use ';' as a PATH separator! +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + + +## ------------------------- ## +## Locate command utilities. ## +## ------------------------- ## + + +# func_executable_p FILE +# ---------------------- +# Check that FILE is an executable regular file. +func_executable_p () +{ + test -f "$1" && test -x "$1" +} + + +# func_path_progs PROGS_LIST CHECK_FUNC [PATH] +# -------------------------------------------- +# Search for either a program that responds to --version with output +# containing "GNU", or else returned by CHECK_FUNC otherwise, by +# trying all the directories in PATH with each of the elements of +# PROGS_LIST. +# +# CHECK_FUNC should accept the path to a candidate program, and +# set $func_check_prog_result if it truncates its output less than +# $_G_path_prog_max characters. +func_path_progs () +{ + _G_progs_list=$1 + _G_check_func=$2 + _G_PATH=${3-"$PATH"} + + _G_path_prog_max=0 + _G_path_prog_found=false + _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} + for _G_dir in $_G_PATH; do + IFS=$_G_save_IFS + test -z "$_G_dir" && _G_dir=. + for _G_prog_name in $_G_progs_list; do + for _exeext in '' .EXE; do + _G_path_prog=$_G_dir/$_G_prog_name$_exeext + func_executable_p "$_G_path_prog" || continue + case `"$_G_path_prog" --version 2>&1` in + *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; + *) $_G_check_func $_G_path_prog + func_path_progs_result=$func_check_prog_result + ;; + esac + $_G_path_prog_found && break 3 + done + done + done + IFS=$_G_save_IFS + test -z "$func_path_progs_result" && { + echo "no acceptable sed could be found in \$PATH" >&2 + exit 1 + } +} + + +# We want to be able to use the functions in this file before configure +# has figured out where the best binaries are kept, which means we have +# to search for them ourselves - except when the results are already set +# where we skip the searches. + +# Unless the user overrides by setting SED, search the path for either GNU +# sed, or the sed that truncates its output the least. +test -z "$SED" && { + _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for _G_i in 1 2 3 4 5 6 7; do + _G_sed_script=$_G_sed_script$nl$_G_sed_script + done + echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed + _G_sed_script= + + func_check_prog_sed () + { + _G_path_prog=$1 + + _G_count=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo '' >> conftest.nl + "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + rm -f conftest.sed + SED=$func_path_progs_result +} + + +# Unless the user overrides by setting GREP, search the path for either GNU +# grep, or the grep that truncates its output the least. +test -z "$GREP" && { + func_check_prog_grep () + { + _G_path_prog=$1 + + _G_count=0 + _G_path_prog_max=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo 'GREP' >> conftest.nl + "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + GREP=$func_path_progs_result +} + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase variable names are used for environment variables. These +# variables can be overridden by the user before calling a script that +# uses them if a suitable command of that name is not already available +# in the command search PATH. + +: ${CP="cp -f"} +: ${ECHO="printf %s\n"} +: ${EGREP="$GREP -E"} +: ${FGREP="$GREP -F"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} + + +## -------------------- ## +## Useful sed snippets. ## +## -------------------- ## + +sed_dirname='s|/[^/]*$||' +sed_basename='s|^.*/||' + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Same as above, but do not quote variable references. +sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' + +# Sed substitution that converts a w32 file name or path +# that contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-'\' parameter expansions in output of sed_double_quote_subst that +# were '\'-ed in input to the same. If an odd number of '\' preceded a +# '$' in input to sed_double_quote_subst, that '$' was protected from +# expansion. Since each input '\' is now two '\'s, look for any number +# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. +_G_bs='\\' +_G_bs2='\\\\' +_G_bs4='\\\\\\\\' +_G_dollar='\$' +sed_double_backslash="\ + s/$_G_bs4/&\\ +/g + s/^$_G_bs2$_G_dollar/$_G_bs&/ + s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g + s/\n//g" + + +## ----------------- ## +## Global variables. ## +## ----------------- ## + +# Except for the global variables explicitly listed below, the following +# functions in the '^func_' namespace, and the '^require_' namespace +# variables initialised in the 'Resource management' section, sourcing +# this file will not pollute your global namespace with anything +# else. There's no portable way to scope variables in Bourne shell +# though, so actually running these functions will sometimes place +# results into a variable named after the function, and often use +# temporary variables in the '^_G_' namespace. If you are careful to +# avoid using those namespaces casually in your sourcing script, things +# should continue to work as you expect. And, of course, you can freely +# overwrite any of the functions or variables defined here before +# calling anything to customize them. + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +# Allow overriding, eg assuming that you follow the convention of +# putting '$debug_cmd' at the start of all your functions, you can get +# bash to show function call trace with: +# +# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +debug_cmd=${debug_cmd-":"} +exit_cmd=: + +# By convention, finish your script with: +# +# exit $exit_status +# +# so that you can set exit_status to non-zero if you want to indicate +# something went wrong during execution without actually bailing out at +# the point of failure. +exit_status=$EXIT_SUCCESS + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath=$0 + +# The name of this program. +progname=`$ECHO "$progpath" |$SED "$sed_basename"` + +# Make sure we have an absolute progpath for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` + progdir=`cd "$progdir" && pwd` + progpath=$progdir/$progname + ;; + *) + _G_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS=$_G_IFS + test -x "$progdir/$progname" && break + done + IFS=$_G_IFS + test -n "$progdir" || progdir=`pwd` + progpath=$progdir/$progname + ;; +esac + + +## ----------------- ## +## Standard options. ## +## ----------------- ## + +# The following options affect the operation of the functions defined +# below, and should be set appropriately depending on run-time para- +# meters passed on the command line. + +opt_dry_run=false +opt_quiet=false +opt_verbose=false + +# Categories 'all' and 'none' are always available. Append any others +# you will pass as the first argument to func_warning from your own +# code. +warning_categories= + +# By default, display warnings according to 'opt_warning_types'. Set +# 'warning_func' to ':' to elide all warnings, or func_fatal_error to +# treat the next displayed warning as a fatal error. +warning_func=func_warn_and_continue + +# Set to 'all' to display all warnings, 'none' to suppress all +# warnings, or a space delimited list of some subset of +# 'warning_categories' to display only the listed warnings. +opt_warning_types=all + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Call them using their associated +# 'require_*' variable to ensure that they are executed, at most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_term_colors +# ------------------- +# Allow display of bold text on terminals that support it. +require_term_colors=func_require_term_colors +func_require_term_colors () +{ + $debug_cmd + + test -t 1 && { + # COLORTERM and USE_ANSI_COLORS environment variables take + # precedence, because most terminfo databases neglect to describe + # whether color sequences are supported. + test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} + + if test 1 = "$USE_ANSI_COLORS"; then + # Standard ANSI escape sequences + tc_reset='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + else + # Otherwise trust the terminfo database after all. + test -n "`tput sgr0 2>/dev/null`" && { + tc_reset=`tput sgr0` + test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` + tc_standout=$tc_bold + test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` + test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` + test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` + test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` + test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` + } + fi + } + + require_term_colors=: +} + + +## ----------------- ## +## Function library. ## +## ----------------- ## + +# This section contains a variety of useful functions to call in your +# scripts. Take note of the portable wrappers for features provided by +# some modern shells, which will fall back to slower equivalents on +# less featureful shells. + + +# func_append VAR VALUE +# --------------------- +# Append VALUE onto the existing contents of VAR. + + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + + # _G_HAVE_PLUSEQ_OP + # Can be empty, in which case the shell is probed, "yes" if += is + # useable or anything else if it does not work. + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes + +if test yes = "$_G_HAVE_PLUSEQ_OP" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_append () + { + $debug_cmd + + eval "$1+=\$2" + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_append () + { + $debug_cmd + + eval "$1=\$$1\$2" + } +fi + + +# func_append_quoted VAR VALUE +# ---------------------------- +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +if test yes = "$_G_HAVE_PLUSEQ_OP"; then + eval 'func_append_quoted () + { + $debug_cmd + + func_quote_for_eval "$2" + eval "$1+=\\ \$func_quote_for_eval_result" + }' +else + func_append_quoted () + { + $debug_cmd + + func_quote_for_eval "$2" + eval "$1=\$$1\\ \$func_quote_for_eval_result" + } +fi + + +# func_append_uniq VAR VALUE +# -------------------------- +# Append unique VALUE onto the existing contents of VAR, assuming +# entries are delimited by the first character of VALUE. For example: +# +# func_append_uniq options " --another-option option-argument" +# +# will only append to $options if " --another-option option-argument " +# is not already present somewhere in $options already (note spaces at +# each end implied by leading space in second argument). +func_append_uniq () +{ + $debug_cmd + + eval _G_current_value='`$ECHO $'$1'`' + _G_delim=`expr "$2" : '\(.\)'` + + case $_G_delim$_G_current_value$_G_delim in + *"$2$_G_delim"*) ;; + *) func_append "$@" ;; + esac +} + + +# func_arith TERM... +# ------------------ +# Set func_arith_result to the result of evaluating TERMs. + test -z "$_G_HAVE_ARITH_OP" \ + && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ + && _G_HAVE_ARITH_OP=yes + +if test yes = "$_G_HAVE_ARITH_OP"; then + eval 'func_arith () + { + $debug_cmd + + func_arith_result=$(( $* )) + }' +else + func_arith () + { + $debug_cmd + + func_arith_result=`expr "$@"` + } +fi + + +# func_basename FILE +# ------------------ +# Set func_basename_result to FILE with everything up to and including +# the last / stripped. +if test yes = "$_G_HAVE_XSI_OPS"; then + # If this shell supports suffix pattern removal, then use it to avoid + # forking. Hide the definitions single quotes in case the shell chokes + # on unsupported syntax... + _b='func_basename_result=${1##*/}' + _d='case $1 in + */*) func_dirname_result=${1%/*}$2 ;; + * ) func_dirname_result=$3 ;; + esac' + +else + # ...otherwise fall back to using sed. + _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' + _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` + if test "X$func_dirname_result" = "X$1"; then + func_dirname_result=$3 + else + func_append func_dirname_result "$2" + fi' +fi + +eval 'func_basename () +{ + $debug_cmd + + '"$_b"' +}' + + +# func_dirname FILE APPEND NONDIR_REPLACEMENT +# ------------------------------------------- +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +eval 'func_dirname () +{ + $debug_cmd + + '"$_d"' +}' + + +# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT +# -------------------------------------------------------- +# Perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# For efficiency, we do not delegate to the functions above but instead +# duplicate the functionality here. +eval 'func_dirname_and_basename () +{ + $debug_cmd + + '"$_b"' + '"$_d"' +}' + + +# func_echo ARG... +# ---------------- +# Echo program name prefixed message. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_echo_all ARG... +# -------------------- +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + + +# func_echo_infix_1 INFIX ARG... +# ------------------------------ +# Echo program name, followed by INFIX on the first line, with any +# additional lines not showing INFIX. +func_echo_infix_1 () +{ + $debug_cmd + + $require_term_colors + + _G_infix=$1; shift + _G_indent=$_G_infix + _G_prefix="$progname: $_G_infix: " + _G_message=$* + + # Strip color escape sequences before counting printable length + for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" + do + test -n "$_G_tc" && { + _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` + _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` + } + done + _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes + + func_echo_infix_1_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_infix_1_IFS + $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 + _G_prefix=$_G_indent + done + IFS=$func_echo_infix_1_IFS +} + + +# func_error ARG... +# ----------------- +# Echo program name prefixed message to standard error. +func_error () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 +} + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + $debug_cmd + + func_error "$*" + exit $EXIT_FAILURE +} + + +# func_grep EXPRESSION FILENAME +# ----------------------------- +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $debug_cmd + + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_len STRING +# --------------- +# Set func_len_result to the length of STRING. STRING may not +# start with a hyphen. + test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` + } +fi + + +# func_mkdir_p DIRECTORY-PATH +# --------------------------- +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + $debug_cmd + + _G_directory_path=$1 + _G_dir_list= + + if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then + + # Protect directory names starting with '-' + case $_G_directory_path in + -*) _G_directory_path=./$_G_directory_path ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$_G_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + _G_dir_list=$_G_directory_path:$_G_dir_list + + # If the last portion added has no slash in it, the list is done + case $_G_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` + done + _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` + + func_mkdir_p_IFS=$IFS; IFS=: + for _G_dir in $_G_dir_list; do + IFS=$func_mkdir_p_IFS + # mkdir can fail with a 'File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$_G_dir" 2>/dev/null || : + done + IFS=$func_mkdir_p_IFS + + # Bail out if we (or some other process) failed to create a directory. + test -d "$_G_directory_path" || \ + func_fatal_error "Failed to create '$1'" + fi +} + + +# func_mktempdir [BASENAME] +# ------------------------- +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, BASENAME is the basename for that directory. +func_mktempdir () +{ + $debug_cmd + + _G_template=${TMPDIR-/tmp}/${1-$progname} + + if test : = "$opt_dry_run"; then + # Return a directory name, but don't create it in dry-run mode + _G_tmpdir=$_G_template-$$ + else + + # If mktemp works, use that first and foremost + _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` + + if test ! -d "$_G_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + _G_tmpdir=$_G_template-${RANDOM-0}$$ + + func_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$_G_tmpdir" + umask $func_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$_G_tmpdir" || \ + func_fatal_error "cannot create temporary directory '$_G_tmpdir'" + fi + + $ECHO "$_G_tmpdir" +} + + +# func_normal_abspath PATH +# ------------------------ +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +func_normal_abspath () +{ + $debug_cmd + + # These SED scripts presuppose an absolute path with a trailing slash. + _G_pathcar='s|^/\([^/]*\).*$|\1|' + _G_pathcdr='s|^/[^/]*||' + _G_removedotparts=':dotsl + s|/\./|/|g + t dotsl + s|/\.$|/|' + _G_collapseslashes='s|/\{1,\}|/|g' + _G_finalslash='s|/*$|/|' + + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` + while :; do + # Processed it all yet? + if test / = "$func_normal_abspath_tpath"; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result"; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + + +# func_notquiet ARG... +# -------------------- +# Echo program name prefixed message only when not in quiet mode. +func_notquiet () +{ + $debug_cmd + + $opt_quiet || func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + + +# func_relative_path SRCDIR DSTDIR +# -------------------------------- +# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. +func_relative_path () +{ + $debug_cmd + + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=$func_dirname_result + if test -z "$func_relative_path_tlibdir"; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test -n "$func_stripname_result"; then + func_append func_relative_path_result "/$func_stripname_result" + fi + + # Normalisation. If bindir is libdir, return '.' else relative path. + if test -n "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + fi + + test -n "$func_relative_path_result" || func_relative_path_result=. + + : +} + + +# func_quote_for_eval ARG... +# -------------------------- +# Aesthetically quote ARGs to be evaled later. +# This function returns two values: +# i) func_quote_for_eval_result +# double-quoted, suitable for a subsequent eval +# ii) func_quote_for_eval_unquoted_result +# has all characters that are still active within double +# quotes backslashified. +func_quote_for_eval () +{ + $debug_cmd + + func_quote_for_eval_unquoted_result= + func_quote_for_eval_result= + while test 0 -lt $#; do + case $1 in + *[\\\`\"\$]*) + _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; + *) + _G_unquoted_arg=$1 ;; + esac + if test -n "$func_quote_for_eval_unquoted_result"; then + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" + else + func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" + fi + + case $_G_unquoted_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_quoted_arg=\"$_G_unquoted_arg\" + ;; + *) + _G_quoted_arg=$_G_unquoted_arg + ;; + esac + + if test -n "$func_quote_for_eval_result"; then + func_append func_quote_for_eval_result " $_G_quoted_arg" + else + func_append func_quote_for_eval_result "$_G_quoted_arg" + fi + shift + done +} + + +# func_quote_for_expand ARG +# ------------------------- +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + $debug_cmd + + case $1 in + *[\\\`\"]*) + _G_arg=`$ECHO "$1" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; + *) + _G_arg=$1 ;; + esac + + case $_G_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_arg=\"$_G_arg\" + ;; + esac + + func_quote_for_expand_result=$_G_arg +} + + +# func_stripname PREFIX SUFFIX NAME +# --------------------------------- +# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_stripname () + { + $debug_cmd + + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary variable first. + func_stripname_result=$3 + func_stripname_result=${func_stripname_result#"$1"} + func_stripname_result=${func_stripname_result%"$2"} + }' +else + func_stripname () + { + $debug_cmd + + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; + esac + } +fi + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + func_quote_for_expand "$_G_cmd" + eval "func_notquiet $func_quote_for_expand_result" + + $opt_dry_run || { + eval "$_G_cmd" + _G_status=$? + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_show_eval_locale CMD [FAIL_EXP] +# ------------------------------------ +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + $opt_quiet || { + func_quote_for_expand "$_G_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + $opt_dry_run || { + eval "$_G_user_locale + $_G_cmd" + _G_status=$? + eval "$_G_safe_locale" + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_tr_sh +# ---------- +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + $debug_cmd + + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_verbose ARG... +# ------------------- +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $debug_cmd + + $opt_verbose && func_echo "$*" + + : +} + + +# func_warn_and_continue ARG... +# ----------------------------- +# Echo program name prefixed warning message to standard error. +func_warn_and_continue () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 +} + + +# func_warning CATEGORY ARG... +# ---------------------------- +# Echo program name prefixed warning message to standard error. Warning +# messages can be filtered according to CATEGORY, where this function +# elides messages where CATEGORY is not listed in the global variable +# 'opt_warning_types'. +func_warning () +{ + $debug_cmd + + # CATEGORY must be in the warning_categories list! + case " $warning_categories " in + *" $1 "*) ;; + *) func_internal_error "invalid warning category '$1'" ;; + esac + + _G_category=$1 + shift + + case " $opt_warning_types " in + *" $_G_category "*) $warning_func ${1+"$@"} ;; + esac +} + + +# func_sort_ver VER1 VER2 +# ----------------------- +# 'sort -V' is not generally available. +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +func_sort_ver () +{ + $debug_cmd + + printf '%s\n%s\n' "$1" "$2" \ + | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n +} + +# func_lt_ver PREV CURR +# --------------------- +# Return true if PREV and CURR are in the correct order according to +# func_sort_ver, otherwise false. Use it like this: +# +# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." +func_lt_ver () +{ + $debug_cmd + + test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: +#! /bin/sh + +# Set a version string for this script. +scriptversion=2014-01-07.03; # UTC + +# A portable, pluggable option parser for Bourne shell. +# Written by Gary V. Vaughan, 2010 + +# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. + + +## ------ ## +## Usage. ## +## ------ ## + +# This file is a library for parsing options in your shell scripts along +# with assorted other useful supporting features that you can make use +# of too. +# +# For the simplest scripts you might need only: +# +# #!/bin/sh +# . relative/path/to/funclib.sh +# . relative/path/to/options-parser +# scriptversion=1.0 +# func_options ${1+"$@"} +# eval set dummy "$func_options_result"; shift +# ...rest of your script... +# +# In order for the '--version' option to work, you will need to have a +# suitably formatted comment like the one at the top of this file +# starting with '# Written by ' and ending with '# warranty; '. +# +# For '-h' and '--help' to work, you will also need a one line +# description of your script's purpose in a comment directly above the +# '# Written by ' line, like the one at the top of this file. +# +# The default options also support '--debug', which will turn on shell +# execution tracing (see the comment above debug_cmd below for another +# use), and '--verbose' and the func_verbose function to allow your script +# to display verbose messages only when your user has specified +# '--verbose'. +# +# After sourcing this file, you can plug processing for additional +# options by amending the variables from the 'Configuration' section +# below, and following the instructions in the 'Option parsing' +# section further down. + +## -------------- ## +## Configuration. ## +## -------------- ## + +# You should override these variables in your script after sourcing this +# file so that they reflect the customisations you have added to the +# option parser. + +# The usage line for option parsing errors and the start of '-h' and +# '--help' output messages. You can embed shell variables for delayed +# expansion at the time the message is displayed, but you will need to +# quote other shell meta-characters carefully to prevent them being +# expanded when the contents are evaled. +usage='$progpath [OPTION]...' + +# Short help message in response to '-h' and '--help'. Add to this or +# override it after sourcing this library to reflect the full set of +# options your script accepts. +usage_message="\ + --debug enable verbose shell tracing + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -v, --verbose verbosely report processing + --version print version information and exit + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=" +Warning categories include: + 'all' show all warnings + 'none' turn off all the warnings + 'error' warnings are treated as fatal errors" + +# Help message printed before fatal option parsing errors. +fatal_help="Try '\$progname --help' for more information." + + + +## ------------------------- ## +## Hook function management. ## +## ------------------------- ## + +# This section contains functions for adding, removing, and running hooks +# to the main code. A hook is just a named list of of function, that can +# be run in order later on. + +# func_hookable FUNC_NAME +# ----------------------- +# Declare that FUNC_NAME will run hooks added with +# 'func_add_hook FUNC_NAME ...'. +func_hookable () +{ + $debug_cmd + + func_append hookable_fns " $1" +} + + +# func_add_hook FUNC_NAME HOOK_FUNC +# --------------------------------- +# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must +# first have been declared "hookable" by a call to 'func_hookable'. +func_add_hook () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not accept hook functions." ;; + esac + + eval func_append ${1}_hooks '" $2"' +} + + +# func_remove_hook FUNC_NAME HOOK_FUNC +# ------------------------------------ +# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +func_remove_hook () +{ + $debug_cmd + + eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' +} + + +# func_run_hooks FUNC_NAME [ARG]... +# --------------------------------- +# Run all hook functions registered to FUNC_NAME. +# It is assumed that the list of hook functions contains nothing more +# than a whitespace-delimited list of legal shell function names, and +# no effort is wasted trying to catch shell meta-characters or preserve +# whitespace. +func_run_hooks () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not support hook funcions.n" ;; + esac + + eval _G_hook_fns=\$$1_hooks; shift + + for _G_hook in $_G_hook_fns; do + eval $_G_hook '"$@"' + + # store returned options list back into positional + # parameters for next 'cmd' execution. + eval _G_hook_result=\$${_G_hook}_result + eval set dummy "$_G_hook_result"; shift + done + + func_quote_for_eval ${1+"$@"} + func_run_hooks_result=$func_quote_for_eval_result +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# In order to add your own option parsing hooks, you must accept the +# full positional parameter list in your hook function, remove any +# options that you action, and then pass back the remaining unprocessed +# options in '_result', escaped suitably for +# 'eval'. Like this: +# +# my_options_prep () +# { +# $debug_cmd +# +# # Extend the existing usage message. +# usage_message=$usage_message' +# -s, --silent don'\''t print informational messages +# ' +# +# func_quote_for_eval ${1+"$@"} +# my_options_prep_result=$func_quote_for_eval_result +# } +# func_add_hook func_options_prep my_options_prep +# +# +# my_silent_option () +# { +# $debug_cmd +# +# # Note that for efficiency, we parse as many options as we can +# # recognise in a loop before passing the remainder back to the +# # caller on the first unrecognised argument we encounter. +# while test $# -gt 0; do +# opt=$1; shift +# case $opt in +# --silent|-s) opt_silent=: ;; +# # Separate non-argument short options: +# -s*) func_split_short_opt "$_G_opt" +# set dummy "$func_split_short_opt_name" \ +# "-$func_split_short_opt_arg" ${1+"$@"} +# shift +# ;; +# *) set dummy "$_G_opt" "$*"; shift; break ;; +# esac +# done +# +# func_quote_for_eval ${1+"$@"} +# my_silent_option_result=$func_quote_for_eval_result +# } +# func_add_hook func_parse_options my_silent_option +# +# +# my_option_validation () +# { +# $debug_cmd +# +# $opt_silent && $opt_verbose && func_fatal_help "\ +# '--silent' and '--verbose' options are mutually exclusive." +# +# func_quote_for_eval ${1+"$@"} +# my_option_validation_result=$func_quote_for_eval_result +# } +# func_add_hook func_validate_options my_option_validation +# +# You'll alse need to manually amend $usage_message to reflect the extra +# options you parse. It's preferable to append if you can, so that +# multiple option parsing hooks can be added safely. + + +# func_options [ARG]... +# --------------------- +# All the functions called inside func_options are hookable. See the +# individual implementations for details. +func_hookable func_options +func_options () +{ + $debug_cmd + + func_options_prep ${1+"$@"} + eval func_parse_options \ + ${func_options_prep_result+"$func_options_prep_result"} + eval func_validate_options \ + ${func_parse_options_result+"$func_parse_options_result"} + + eval func_run_hooks func_options \ + ${func_validate_options_result+"$func_validate_options_result"} + + # save modified positional parameters for caller + func_options_result=$func_run_hooks_result +} + + +# func_options_prep [ARG]... +# -------------------------- +# All initialisations required before starting the option parse loop. +# Note that when calling hook functions, we pass through the list of +# positional parameters. If a hook function modifies that list, and +# needs to propogate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before +# returning. +func_hookable func_options_prep +func_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_verbose=false + opt_warning_types= + + func_run_hooks func_options_prep ${1+"$@"} + + # save modified positional parameters for caller + func_options_prep_result=$func_run_hooks_result +} + + +# func_parse_options [ARG]... +# --------------------------- +# The main option parsing loop. +func_hookable func_parse_options +func_parse_options () +{ + $debug_cmd + + func_parse_options_result= + + # this just eases exit handling + while test $# -gt 0; do + # Defer to hook functions for initial option parsing, so they + # get priority in the event of reusing an option name. + func_run_hooks func_parse_options ${1+"$@"} + + # Adjust func_parse_options positional parameters to match + eval set dummy "$func_run_hooks_result"; shift + + # Break out of the loop if we already parsed every option. + test $# -gt 0 || break + + _G_opt=$1 + shift + case $_G_opt in + --debug|-x) debug_cmd='set -x' + func_echo "enabling shell trace mode" + $debug_cmd + ;; + + --no-warnings|--no-warning|--no-warn) + set dummy --warnings none ${1+"$@"} + shift + ;; + + --warnings|--warning|-W) + test $# = 0 && func_missing_arg $_G_opt && break + case " $warning_categories $1" in + *" $1 "*) + # trailing space prevents matching last $1 above + func_append_uniq opt_warning_types " $1" + ;; + *all) + opt_warning_types=$warning_categories + ;; + *none) + opt_warning_types=none + warning_func=: + ;; + *error) + opt_warning_types=$warning_categories + warning_func=func_fatal_error + ;; + *) + func_fatal_error \ + "unsupported warning category: '$1'" + ;; + esac + shift + ;; + + --verbose|-v) opt_verbose=: ;; + --version) func_version ;; + -\?|-h) func_usage ;; + --help) func_help ;; + + # Separate optargs to long options (plugins may need this): + --*=*) func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + ;; + + # Separate optargs to short options: + -W*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-v*|-x*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) break ;; + -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + func_parse_options_result=$func_quote_for_eval_result +} + + +# func_validate_options [ARG]... +# ------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +func_hookable func_validate_options +func_validate_options () +{ + $debug_cmd + + # Display all warnings if -W was not given. + test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" + + func_run_hooks func_validate_options ${1+"$@"} + + # Bail if the options were screwed! + $exit_cmd $EXIT_FAILURE + + # save modified positional parameters for caller + func_validate_options_result=$func_run_hooks_result +} + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of the +# hookable option parser framework in ascii-betical order. + + +# func_fatal_help ARG... +# ---------------------- +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + eval \$ECHO \""$fatal_help"\" + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + + +# func_help +# --------- +# Echo long help message to standard output and exit. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message" + exit 0 +} + + +# func_missing_arg ARGNAME +# ------------------------ +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $debug_cmd + + func_error "Missing argument for '$1'." + exit_cmd=exit +} + + +# func_split_equals STRING +# ------------------------ +# Set func_split_equals_lhs and func_split_equals_rhs shell variables after +# splitting STRING at the '=' sign. +test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=${1%%=*} + func_split_equals_rhs=${1#*=} + test "x$func_split_equals_lhs" = "x$1" \ + && func_split_equals_rhs= + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` + func_split_equals_rhs= + test "x$func_split_equals_lhs" = "x$1" \ + || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` + } +fi #func_split_equals + + +# func_split_short_opt SHORTOPT +# ----------------------------- +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` + } +fi #func_split_short_opt + + +# func_usage +# ---------- +# Echo short help message to standard output and exit. +func_usage () +{ + $debug_cmd + + func_usage_message + $ECHO "Run '$progname --help |${PAGER-more}' for full usage" + exit 0 +} + + +# func_usage_message +# ------------------ +# Echo short help message to standard output. +func_usage_message () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + echo + $SED -n 's|^# || + /^Written by/{ + x;p;x + } + h + /^Written by/q' < "$progpath" + echo + eval \$ECHO \""$usage_message"\" +} + + +# func_version +# ------------ +# Echo version message to standard output and exit. +func_version () +{ + $debug_cmd + + printf '%s\n' "$progname $scriptversion" + $SED -n ' + /(C)/!b go + :more + /\./!{ + N + s|\n# | | + b more + } + :go + /^# Written by /,/# warranty; / { + s|^# || + s|^# *$|| + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + p + } + /^# Written by / { + s|^# || + p + } + /^warranty; /q' < "$progpath" + + exit $? +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: + +# Set a version string. +scriptversion='(GNU libtool) 2.4.6' + + +# func_echo ARG... +# ---------------- +# Libtool also displays the current mode in messages, so override +# funclib.sh func_echo with this custom definition. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_warning ARG... +# ------------------- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () +{ + $debug_cmd + + $warning_func ${1+"$@"} +} + + +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]... [MODE-ARG]...' + +# Short help message in response to '-h'. +usage_message="Options: + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --mode=MODE use operation mode MODE + --no-warnings equivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + -v, --verbose print more informational messages than default + --version print version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message +" + +# Additional text appended to 'usage_message' in response to '--help'. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. When passed as first option, +'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. +Try '$progname --help --mode=MODE' for a more detailed description of MODE. + +When reporting a bug, please describe a test case to reproduce it and +include the following information: + + host-triplet: $host + shell: $SHELL + compiler: $LTCC + compiler flags: $LTCFLAGS + linker: $LD (gnu? $with_gnu_ld) + version: $progname (GNU libtool) 2.4.6 + automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` + autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` + +Report bugs to . +GNU libtool home page: . +General help using GNU software: ." + exit 0 +} + + +# func_lo2o OBJECT-NAME +# --------------------- +# Transform OBJECT-NAME from a '.lo' suffix to the platform specific +# object suffix. + +lo2o=s/\\.lo\$/.$objext/ +o2lo=s/\\.$objext\$/.lo/ + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_lo2o () + { + case $1 in + *.lo) func_lo2o_result=${1%.lo}.$objext ;; + * ) func_lo2o_result=$1 ;; + esac + }' + + # func_xform LIBOBJ-OR-SOURCE + # --------------------------- + # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) + # suffix to a '.lo' libtool-object suffix. + eval 'func_xform () + { + func_xform_result=${1%.*}.lo + }' +else + # ...otherwise fall back to using sed. + func_lo2o () + { + func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` + } + + func_xform () + { + func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` + } +fi + + +# func_fatal_configuration ARG... +# ------------------------------- +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func__fatal_error ${1+"$@"} \ + "See the $PACKAGE documentation for more information." \ + "Fatal configuration error." +} + + +# func_config +# ----------- +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + + # Now print the configurations for the tags. + for tagname in $taglist; do + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" + done + + exit $? +} + + +# func_features +# ------------- +# Display the features supported by this script. +func_features () +{ + echo "host: $host" + if test yes = "$build_libtool_libs"; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test yes = "$build_old_libs"; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + + exit $? +} + + +# func_enable_tag TAGNAME +# ----------------------- +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname=$1 + + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf=/$re_begincf/,/$re_endcf/p + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac + + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + + +# func_check_version_match +# ------------------------ +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +# libtool_options_prep [ARG]... +# ----------------------------- +# Preparation for options parsed by libtool. +libtool_options_prep () +{ + $debug_mode + + # Option defaults: + opt_config=false + opt_dlopen= + opt_dry_run=false + opt_help=false + opt_mode= + opt_preserve_dup_deps=false + opt_quiet=false + + nonopt= + preserve_args= + + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; + esac + + # Pass back the list of options. + func_quote_for_eval ${1+"$@"} + libtool_options_prep_result=$func_quote_for_eval_result +} +func_add_hook func_options_prep libtool_options_prep + + +# libtool_parse_options [ARG]... +# --------------------------------- +# Provide handling for libtool specific options. +libtool_parse_options () +{ + $debug_cmd + + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_opt=$1 + shift + case $_G_opt in + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + + --config) func_config ;; + + --dlopen|-dlopen) + opt_dlopen="${opt_dlopen+$opt_dlopen +}$1" + shift + ;; + + --preserve-dup-deps) + opt_preserve_dup_deps=: ;; + + --features) func_features ;; + + --finish) set dummy --mode finish ${1+"$@"}; shift ;; + + --help) opt_help=: ;; + + --help-all) opt_help=': help-all' ;; + + --mode) test $# = 0 && func_missing_arg $_G_opt && break + opt_mode=$1 + case $1 in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $_G_opt" + exit_cmd=exit + break + ;; + esac + shift + ;; + + --no-silent|--no-quiet) + opt_quiet=false + func_append preserve_args " $_G_opt" + ;; + + --no-warnings|--no-warning|--no-warn) + opt_warning=false + func_append preserve_args " $_G_opt" + ;; + + --no-verbose) + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --silent|--quiet) + opt_quiet=: + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --tag) test $# = 0 && func_missing_arg $_G_opt && break + opt_tag=$1 + func_append preserve_args " $_G_opt $1" + func_enable_tag "$1" + shift + ;; + + --verbose|-v) opt_quiet=false + opt_verbose=: + func_append preserve_args " $_G_opt" + ;; + + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + libtool_parse_options_result=$func_quote_for_eval_result +} +func_add_hook func_parse_options libtool_parse_options + + + +# libtool_validate_options [ARG]... +# --------------------------------- +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +libtool_validate_options () +{ + # save first non-option argument + if test 0 -lt $#; then + nonopt=$1 + shift + fi + + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + + case $host in + # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 + # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 + *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + + $opt_help || { + # Sanity checks first: + func_check_version_match + + test yes != "$build_libtool_libs" \ + && test yes != "$build_old_libs" \ + && func_fatal_configuration "not configured to build any kind of library" + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test execute != "$opt_mode"; then + func_error "unrecognized option '-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help=$help + help="Try '$progname --help --mode=$opt_mode' for more information." + } + + # Pass back the unparsed argument list + func_quote_for_eval ${1+"$@"} + libtool_validate_options_result=$func_quote_for_eval_result +} +func_add_hook func_validate_options libtool_validate_options + + +# Process options as early as possible so that --help and --version +# can return quickly. +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift + + + +## ----------- ## +## Main. ## +## ----------- ## + +magic='%%%MAGIC variable%%%' +magic_exe='%%%MAGIC EXE variable%%%' + +# Global variables. +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# func_generated_by_libtool +# True iff stdin has been generated by Libtool. This function is only +# a basic sanity check; it will hardly flush out determined imposters. +func_generated_by_libtool_p () +{ + $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if 'file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case $lalib_p_line in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test yes = "$lalib_p" +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + test -f "$1" && + $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $debug_cmd + + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# 'FILE.' does not work on cygwin managed mounts. +func_source () +{ + $debug_cmd + + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_resolve_sysroot PATH +# Replace a leading = in PATH with a sysroot. Store the result into +# func_resolve_sysroot_result +func_resolve_sysroot () +{ + func_resolve_sysroot_result=$1 + case $func_resolve_sysroot_result in + =*) + func_stripname '=' '' "$func_resolve_sysroot_result" + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result + ;; + esac +} + +# func_replace_sysroot PATH +# If PATH begins with the sysroot, replace it with = and +# store the result into func_replace_sysroot_result. +func_replace_sysroot () +{ + case $lt_sysroot:$1 in + ?*:"$lt_sysroot"*) + func_stripname "$lt_sysroot" '' "$1" + func_replace_sysroot_result='='$func_stripname_result + ;; + *) + # Including no sysroot. + func_replace_sysroot_result=$1 + ;; + esac +} + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $debug_cmd + + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case "$@ " in + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with '--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=$1 + if test yes = "$build_libtool_libs"; then + write_lobj=\'$2\' + else + write_lobj=none + fi + + if test yes = "$build_old_libs"; then + write_oldobj=\'$3\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T </dev/null` + if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | + $SED -e "$sed_naive_backslashify"` + else + func_convert_core_file_wine_to_w32_result= + fi + fi +} +# end: func_convert_core_file_wine_to_w32 + + +# func_convert_core_path_wine_to_w32 ARG +# Helper function used by path conversion functions when $build is *nix, and +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly +# configured wine environment available, with the winepath program in $build's +# $PATH. Assumes ARG has no leading or trailing path separator characters. +# +# ARG is path to be converted from $build format to win32. +# Result is available in $func_convert_core_path_wine_to_w32_result. +# Unconvertible file (directory) names in ARG are skipped; if no directory names +# are convertible, then the result may be empty. +func_convert_core_path_wine_to_w32 () +{ + $debug_cmd + + # unfortunately, winepath doesn't convert paths, only file names + func_convert_core_path_wine_to_w32_result= + if test -n "$1"; then + oldIFS=$IFS + IFS=: + for func_convert_core_path_wine_to_w32_f in $1; do + IFS=$oldIFS + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" + if test -n "$func_convert_core_file_wine_to_w32_result"; then + if test -z "$func_convert_core_path_wine_to_w32_result"; then + func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result + else + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" + fi + fi + done + IFS=$oldIFS + fi +} +# end: func_convert_core_path_wine_to_w32 + + +# func_cygpath ARGS... +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or +# (2), returns the Cygwin file name or path in func_cygpath_result (input +# file name or path is assumed to be in w32 format, as previously converted +# from $build's *nix or MSYS format). In case (3), returns the w32 file name +# or path in func_cygpath_result (input file name or path is assumed to be in +# Cygwin format). Returns an empty string on error. +# +# ARGS are passed to cygpath, with the last one being the file name or path to +# be converted. +# +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH +# environment variable; do not put it in $PATH. +func_cygpath () +{ + $debug_cmd + + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` + if test "$?" -ne 0; then + # on failure, ensure result is empty + func_cygpath_result= + fi + else + func_cygpath_result= + func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" + fi +} +#end: func_cygpath + + +# func_convert_core_msys_to_w32 ARG +# Convert file name or path ARG from MSYS format to w32 format. Return +# result in func_convert_core_msys_to_w32_result. +func_convert_core_msys_to_w32 () +{ + $debug_cmd + + # awkward: cmd appends spaces to result + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | + $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` +} +#end: func_convert_core_msys_to_w32 + + +# func_convert_file_check ARG1 ARG2 +# Verify that ARG1 (a file name in $build format) was converted to $host +# format in ARG2. Otherwise, emit an error message, but continue (resetting +# func_to_host_file_result to ARG1). +func_convert_file_check () +{ + $debug_cmd + + if test -z "$2" && test -n "$1"; then + func_error "Could not determine host file name corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_file_result=$1 + fi +} +# end func_convert_file_check + + +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH +# Verify that FROM_PATH (a path in $build format) was converted to $host +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting +# func_to_host_file_result to a simplistic fallback value (see below). +func_convert_path_check () +{ + $debug_cmd + + if test -z "$4" && test -n "$3"; then + func_error "Could not determine the host path corresponding to" + func_error " '$3'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This is a deliberately simplistic "conversion" and + # should not be "improved". See libtool.info. + if test "x$1" != "x$2"; then + lt_replace_pathsep_chars="s|$1|$2|g" + func_to_host_path_result=`echo "$3" | + $SED -e "$lt_replace_pathsep_chars"` + else + func_to_host_path_result=$3 + fi + fi +} +# end func_convert_path_check + + +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT +# and appending REPL if ORIG matches BACKPAT. +func_convert_path_front_back_pathsep () +{ + $debug_cmd + + case $4 in + $1 ) func_to_host_path_result=$3$func_to_host_path_result + ;; + esac + case $4 in + $2 ) func_append func_to_host_path_result "$3" + ;; + esac +} +# end func_convert_path_front_back_pathsep + + +################################################## +# $build to $host FILE NAME CONVERSION FUNCTIONS # +################################################## +# invoked via '$to_host_file_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# Result will be available in $func_to_host_file_result. + + +# func_to_host_file ARG +# Converts the file name ARG from $build format to $host format. Return result +# in func_to_host_file_result. +func_to_host_file () +{ + $debug_cmd + + $to_host_file_cmd "$1" +} +# end func_to_host_file + + +# func_to_tool_file ARG LAZY +# converts the file name ARG from $build format to toolchain format. Return +# result in func_to_tool_file_result. If the conversion in use is listed +# in (the comma separated) LAZY, no conversion takes place. +func_to_tool_file () +{ + $debug_cmd + + case ,$2, in + *,"$to_tool_file_cmd",*) + func_to_tool_file_result=$1 + ;; + *) + $to_tool_file_cmd "$1" + func_to_tool_file_result=$func_to_host_file_result + ;; + esac +} +# end func_to_tool_file + + +# func_convert_file_noop ARG +# Copy ARG to func_to_host_file_result. +func_convert_file_noop () +{ + func_to_host_file_result=$1 +} +# end func_convert_file_noop + + +# func_convert_file_msys_to_w32 ARG +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_file_result. +func_convert_file_msys_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_to_host_file_result=$func_convert_core_msys_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_w32 + + +# func_convert_file_cygwin_to_w32 ARG +# Convert file name ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_file_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # because $build is cygwin, we call "the" cygpath in $PATH; no need to use + # LT_CYGPATH in this case. + func_to_host_file_result=`cygpath -m "$1"` + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_cygwin_to_w32 + + +# func_convert_file_nix_to_w32 ARG +# Convert file name ARG from *nix to w32 format. Requires a wine environment +# and a working winepath. Returns result in func_to_host_file_result. +func_convert_file_nix_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_file_wine_to_w32 "$1" + func_to_host_file_result=$func_convert_core_file_wine_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_w32 + + +# func_convert_file_msys_to_cygwin ARG +# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_file_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_cygpath -u "$func_convert_core_msys_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_cygwin + + +# func_convert_file_nix_to_cygwin ARG +# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed +# in a wine environment, working winepath, and LT_CYGPATH set. Returns result +# in func_to_host_file_result. +func_convert_file_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. + func_convert_core_file_wine_to_w32 "$1" + func_cygpath -u "$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_cygwin + + +############################################# +# $build to $host PATH CONVERSION FUNCTIONS # +############################################# +# invoked via '$to_host_path_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# The result will be available in $func_to_host_path_result. +# +# Path separators are also converted from $build format to $host format. If +# ARG begins or ends with a path separator character, it is preserved (but +# converted to $host format) on output. +# +# All path conversion functions are named using the following convention: +# file name conversion function : func_convert_file_X_to_Y () +# path conversion function : func_convert_path_X_to_Y () +# where, for any given $build/$host combination the 'X_to_Y' value is the +# same. If conversion functions are added for new $build/$host combinations, +# the two new functions must follow this pattern, or func_init_to_host_path_cmd +# will break. + + +# func_init_to_host_path_cmd +# Ensures that function "pointer" variable $to_host_path_cmd is set to the +# appropriate value, based on the value of $to_host_file_cmd. +to_host_path_cmd= +func_init_to_host_path_cmd () +{ + $debug_cmd + + if test -z "$to_host_path_cmd"; then + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" + to_host_path_cmd=func_convert_path_$func_stripname_result + fi +} + + +# func_to_host_path ARG +# Converts the path ARG from $build format to $host format. Return result +# in func_to_host_path_result. +func_to_host_path () +{ + $debug_cmd + + func_init_to_host_path_cmd + $to_host_path_cmd "$1" +} +# end func_to_host_path + + +# func_convert_path_noop ARG +# Copy ARG to func_to_host_path_result. +func_convert_path_noop () +{ + func_to_host_path_result=$1 +} +# end func_convert_path_noop + + +# func_convert_path_msys_to_w32 ARG +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_path_result. +func_convert_path_msys_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from ARG. MSYS + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; + # and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_msys_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_msys_to_w32 + + +# func_convert_path_cygwin_to_w32 ARG +# Convert path ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_path_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_cygwin_to_w32 + + +# func_convert_path_nix_to_w32 ARG +# Convert path ARG from *nix to w32 format. Requires a wine environment and +# a working winepath. Returns result in func_to_host_file_result. +func_convert_path_nix_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_path_wine_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_nix_to_w32 + + +# func_convert_path_msys_to_cygwin ARG +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_path_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_msys_to_cygwin + + +# func_convert_path_nix_to_cygwin ARG +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in +# func_to_host_file_result. +func_convert_path_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_nix_to_cygwin + + +# func_dll_def_p FILE +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with _LT_DLL_DEF_P in libtool.m4 +func_dll_def_p () +{ + $debug_cmd + + func_dll_def_p_tmp=`$SED -n \ + -e 's/^[ ]*//' \ + -e '/^\(;.*\)*$/d' \ + -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ + -e q \ + "$1"` + test DEF = "$func_dll_def_p_tmp" +} + + +# func_mode_compile arg... +func_mode_compile () +{ + $debug_cmd + + # Get the compilation command and the source file. + base_compile= + srcfile=$nonopt # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + pie_flag= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg=$arg + arg_mode=normal + ;; + + target ) + libobj=$arg + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + test -n "$libobj" && \ + func_fatal_error "you cannot specify '-o' more than once" + arg_mode=target + continue + ;; + + -pie | -fpie | -fPIE) + func_append pie_flag " $arg" + continue + ;; + + -shared | -static | -prefer-pic | -prefer-non-pic) + func_append later " $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + lastarg= + save_ifs=$IFS; IFS=, + for arg in $args; do + IFS=$save_ifs + func_append_quoted lastarg "$arg" + done + IFS=$save_ifs + func_stripname ' ' '' "$lastarg" + lastarg=$func_stripname_result + + # Add the arguments to base_compile. + func_append base_compile " $lastarg" + continue + ;; + + *) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg=$srcfile + srcfile=$arg + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + func_append_quoted base_compile "$lastarg" + done # for arg + + case $arg_mode in + arg) + func_fatal_error "you must specify an argument for -Xcompile" + ;; + target) + func_fatal_error "you must specify a target with '-o'" + ;; + *) + # Get the name of the library object. + test -z "$libobj" && { + func_basename "$srcfile" + libobj=$func_basename_result + } + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + case $libobj in + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) + func_xform "$libobj" + libobj=$func_xform_result + ;; + esac + + case $libobj in + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *) + func_fatal_error "cannot determine name of library object from '$libobj'" + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -shared) + test yes = "$build_libtool_libs" \ + || func_fatal_configuration "cannot build a shared library" + build_old_libs=no + continue + ;; + + -static) + build_libtool_libs=no + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + func_quote_for_eval "$libobj" + test "X$libobj" != "X$func_quote_for_eval_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name '$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname=$func_basename_result + xdir=$func_dirname_result + lobj=$xdir$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test yes = "$build_old_libs"; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac + if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test no = "$compiler_c_o"; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext + lockfile=$output_obj.lock + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test yes = "$need_locks"; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test warn = "$need_locks"; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + func_append removelist " $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + func_append removelist " $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 + srcfile=$func_to_tool_file_result + func_quote_for_eval "$srcfile" + qsrcfile=$func_quote_for_eval_result + + # Only build a PIC object if we are building libtool libraries. + if test yes = "$build_libtool_libs"; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test no != "$pic_mode"; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + func_append command " -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test yes = "$suppress_opt"; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test yes = "$build_old_libs"; then + if test yes != "$pic_mode"; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test yes = "$compiler_c_o"; then + func_append command " -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + func_append command "$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test no != "$need_locks"; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { + test compile = "$opt_mode" && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $opt_mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to build PIC objects only + -prefer-non-pic try to build non-PIC objects only + -shared do not build a '.o' file suitable for static linking + -static only build a '.o' file suitable for static linking + -Wc,FLAG pass FLAG directly to the compiler + +COMPILE-COMMAND is a command to be used in creating a 'standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix '.c' with the +library object suffix, '.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to '-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the '--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the 'install' or 'cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -bindir BINDIR specify path to binaries directory (for systems where + libraries must be found in the PATH setting at runtime) + -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE use a list of object files found in FILE to specify objects + -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + -Wc,FLAG + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wl,FLAG + -Xlinker FLAG pass linker-specific FLAG directly to the linker + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) + +All other options (arguments beginning with '-') are ignored. + +Every other argument is treated as a filename. Files ending in '.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in '.la', then a libtool library is created, +only library objects ('.lo' files) may be specified, and '-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created +using 'ar' and 'ranlib', or on Windows using 'lib'. + +If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode '$opt_mode'" + ;; + esac + + echo + $ECHO "Try '$progname --help' for more information about other modes." +} + +# Now that we've collected a possible --mode arg, show help if necessary +if $opt_help; then + if test : = "$opt_help"; then + func_mode_help + else + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + func_mode_help + done + } | $SED -n '1p; 2,$s/^Usage:/ or: /p' + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + echo + func_mode_help + done + } | + $SED '1d + /^When reporting/,/^Report/{ + H + d + } + $x + /information about other modes/d + /more detailed .*MODE/d + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' + fi + exit $? +fi + + +# func_mode_execute arg... +func_mode_execute () +{ + $debug_cmd + + # The first argument is the command name. + cmd=$nonopt + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $opt_dlopen; do + test -f "$file" \ + || func_fatal_help "'$file' is not a file" + + dir= + case $file in + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "'$file' was not linked with '-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir=$func_dirname_result + + if test -f "$dir/$objdir/$dlname"; then + func_append dir "/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir=$func_dirname_result + ;; + + *) + func_warning "'-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir=$absdir + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic=$magic + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -* | *.la | *.lo ) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file=$progdir/$program + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file=$progdir/$program + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_append_quoted args "$file" + done + + if $opt_dry_run; then + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + else + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd=\$cmd$args + fi +} + +test execute = "$opt_mode" && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $debug_cmd + + libs= + libdirs= + admincmds= + + for opt in "$nonopt" ${1+"$@"} + do + if test -d "$opt"; then + func_append libdirs " $opt" + + elif test -f "$opt"; then + if func_lalib_unsafe_p "$opt"; then + func_append libs " $opt" + else + func_warning "'$opt' is not a valid libtool archive" + fi + + else + func_fatal_error "invalid argument '$opt'" + fi + done + + if test -n "$libs"; then + if test -n "$lt_sysroot"; then + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" + else + sysroot_cmd= + fi + + # Remove sysroot references + if $opt_dry_run; then + for lib in $libs; do + echo "removing references to $lt_sysroot and '=' prefixes from $lib" + done + else + tmpdir=`func_mktempdir` + for lib in $libs; do + $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + > $tmpdir/tmp-la + mv -f $tmpdir/tmp-la $lib + done + ${RM}r "$tmpdir" + fi + fi + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || func_append admincmds " + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_quiet && exit $EXIT_SUCCESS + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the '-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the '$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the '$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the '$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" + fi + echo + + echo "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" + echo "pages." + ;; + *) + echo "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + echo "----------------------------------------------------------------------" + fi + exit $EXIT_SUCCESS +} + +test finish = "$opt_mode" && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $debug_cmd + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || + # Allow the use of GNU shtool's install command. + case $nonopt in *shtool*) :;; *) false;; esac + then + # Aesthetically quote it. + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_for_eval "$arg" + func_append install_prog "$func_quote_for_eval_result" + install_shared_prog=$install_prog + case " $install_prog " in + *[\\\ /]cp\ *) install_cp=: ;; + *) install_cp=false ;; + esac + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=false + stripme= + no_mode=: + for arg + do + arg2= + if test -n "$dest"; then + func_append files " $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=: ;; + -f) + if $install_cp; then :; else + prev=$arg + fi + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + if test X-m = "X$prev" && test -n "$install_override_mode"; then + arg2=$install_override_mode + no_mode=false + fi + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + func_append install_prog " $func_quote_for_eval_result" + if test -n "$arg2"; then + func_quote_for_eval "$arg2" + fi + func_append install_shared_prog " $func_quote_for_eval_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the '$prev' option requires an argument" + + if test -n "$install_override_mode" && $no_mode; then + if $install_cp; then :; else + func_quote_for_eval "$install_override_mode" + func_append install_shared_prog " -m $func_quote_for_eval_result" + fi + fi + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=: + if $isdir; then + destdir=$dest + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir=$func_dirname_result + destname=$func_basename_result + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "'$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "'$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + func_append staticlibs " $file" + ;; + + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) func_append current_libdirs " $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) func_append future_libdirs " $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir=$func_dirname_result + func_append dir "$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking '$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname=$1 + shift + + srcname=$realname + test -n "$relink_command" && srcname=${realname}T + + # Install the shared library and build the symlinks. + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme=$stripme + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme= + ;; + esac + ;; + os2*) + case $realname in + *_dll.a) + tstripme= + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try 'ln -sf' first, because the 'ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib=$destdir/$realname + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name=$func_basename_result + instname=$dir/${name}i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && func_append staticlibs " $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest=$destfile + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to '$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test yes = "$build_old_libs"; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext= + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=.exe + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script '$wrapper'" + + finalize=: + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "'$lib' has not been installed in '$libdir'" + finalize=false + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test no = "$fast_install" && test -n "$relink_command"; then + $opt_dry_run || { + if $finalize; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file=$func_basename_result + outputname=$tmpdir/$file + # Replace the output file specification. + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_quiet || { + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink '$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file=$outputname + else + func_warning "cannot relink '$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name=$func_basename_result + + # Set up the ranlib parameters. + oldlib=$destdir/$name + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run '$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test install = "$opt_mode" && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $debug_cmd + + my_outputname=$1 + my_originator=$2 + my_pic_p=${3-false} + my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms=${my_outputname}S.c + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist=$output_objdir/$my_outputname.nm + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* External symbol declarations for the compiler. */\ +" + + if test yes = "$dlself"; then + func_verbose "generating symbol list for '$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 + func_verbose "extracting global C symbols from '$func_to_tool_file_result'" + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols=$output_objdir/$outputname.exp + $opt_dry_run || { + $RM $export_symbols + eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from '$dlprefile'" + func_basename "$dlprefile" + name=$func_basename_result + case $host in + *cygwin* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" + eval "curr_lafile=\$libfile_$func_tr_sh_result" + dlprefile_dlbasename= + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then + # Use subshell, to avoid clobbering current variable values + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` + if test -n "$dlprefile_dlname"; then + func_basename "$dlprefile_dlname" + dlprefile_dlbasename=$func_basename_result + else + # no lafile. user explicitly requested -dlpreopen . + $sharedlib_from_linklib_cmd "$dlprefile" + dlprefile_dlbasename=$sharedlib_from_linklib_result + fi + fi + $opt_dry_run || { + if test -n "$dlprefile_dlbasename"; then + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' + else + func_warning "Could not compute DLL name from $name" + eval '$ECHO ": $name " >> "$nlist"' + fi + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + } + else # not an import lib + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + fi + ;; + *) + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + ;; + esac + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + func_show_eval '$RM "${nlist}I"' + if test -n "$global_symbol_to_import"; then + eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' + fi + + echo >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +extern LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[];\ +" + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ +static void lt_syminit(void) +{ + LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; + for (; symbol->name; ++symbol) + {" + $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" + echo >> "$output_objdir/$my_dlsyms" "\ + } +}" + fi + echo >> "$output_objdir/$my_dlsyms" "\ +LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{ {\"$my_originator\", (void *) 0}," + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ + {\"@INIT@\", (void *) <_syminit}," + fi + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + echo >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + $my_pic_p && pic_flag_for_symtable=" $pic_flag" + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) func_append symtab_cflags " $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' + + # Transform the symbol file into the correct name. + symfileobj=$output_objdir/${my_outputname}S.$objext + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for '$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` + fi +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +# Despite the name, also deal with 64 bit binaries. +func_win32_libid () +{ + $debug_cmd + + win32_libid_type=unknown + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + case $nm_interface in + "MS dumpbin") + if func_cygming_ms_implib_p "$1" || + func_cygming_gnu_implib_p "$1" + then + win32_nmres=import + else + win32_nmres= + fi + ;; + *) + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' + 1,100{ + / I /{ + s|.*|import| + p + q + } + }'` + ;; + esac + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + +# func_cygming_dll_for_implib ARG +# +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib () +{ + $debug_cmd + + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` +} + +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs +# +# The is the core of a fallback implementation of a +# platform-specific function to extract the name of the +# DLL associated with the specified import library LIBNAME. +# +# SECTION_NAME is either .idata$6 or .idata$7, depending +# on the platform and compiler that created the implib. +# +# Echos the name of the DLL associated with the +# specified import library. +func_cygming_dll_for_implib_fallback_core () +{ + $debug_cmd + + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | + $SED '/^Contents of section '"$match_literal"':/{ + # Place marker at beginning of archive member dllname section + s/.*/====MARK====/ + p + d + } + # These lines can sometimes be longer than 43 characters, but + # are always uninteresting + /:[ ]*file format pe[i]\{,1\}-/d + /^In archive [^:]*:/d + # Ensure marker is printed + /^====MARK====/p + # Remove all lines with less than 43 characters + /^.\{43\}/!d + # From remaining lines, remove first 43 characters + s/^.\{43\}//' | + $SED -n ' + # Join marker and all lines until next marker into a single line + /^====MARK====/ b para + H + $ b para + b + :para + x + s/\n//g + # Remove the marker + s/^====MARK====// + # Remove trailing dots and whitespace + s/[\. \t]*$// + # Print + /./p' | + # we now have a list, one entry per line, of the stringified + # contents of the appropriate section of all members of the + # archive that possess that section. Heuristic: eliminate + # all those that have a first or second character that is + # a '.' (that is, objdump's representation of an unprintable + # character.) This should work for all archives with less than + # 0x302f exports -- but will fail for DLLs whose name actually + # begins with a literal '.' or a single character followed by + # a '.'. + # + # Of those that remain, print the first one. + $SED -e '/^\./d;/^.\./d;q' +} + +# func_cygming_dll_for_implib_fallback ARG +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# +# This fallback implementation is for use when $DLLTOOL +# does not support the --identify-strict option. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib_fallback () +{ + $debug_cmd + + if func_cygming_gnu_implib_p "$1"; then + # binutils import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` + elif func_cygming_ms_implib_p "$1"; then + # ms-generated import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` + else + # unknown + sharedlib_from_linklib_result= + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $debug_cmd + + f_ex_an_ar_dir=$1; shift + f_ex_an_ar_oldlib=$1 + if test yes = "$lock_old_archive_extraction"; then + lockfile=$f_ex_an_ar_oldlib.lock + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + fi + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ + 'stat=$?; rm -f "$lockfile"; exit $stat' + if test yes = "$lock_old_archive_extraction"; then + $opt_dry_run || rm -f "$lockfile" + fi + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $debug_cmd + + my_gentop=$1; shift + my_oldlibs=${1+"$@"} + my_oldobjs= + my_xlib= + my_xabs= + my_xdir= + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib=$func_basename_result + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir=$my_gentop/$my_xlib_u + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + func_basename "$darwin_archive" + darwin_base_archive=$func_basename_result + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches; do + func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" + $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" + cd "unfat-$$/$darwin_base_archive-$darwin_arch" + func_extract_an_archive "`pwd`" "$darwin_base_archive" + cd "$darwin_curdir" + $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` + done + + func_extract_archives_result=$my_oldobjs +} + + +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory where it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=${1-no} + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + + qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + $ECHO "\ + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + ECHO=\"$qECHO\" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ that is used only on +# windows platforms, and (c) all begin with the string "--lt-" +# (application programs are unlikely to have options that match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's $0 value, followed by "$@". +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=\$0 + shift + for lt_opt + do + case \"\$lt_opt\" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` + cat \"\$lt_dump_D/\$lt_dump_F\" + exit 0 + ;; + --lt-*) + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n \"\$lt_option_debug\"; then + echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from \$@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac + func_exec_program_core \${1+\"\$@\"} +} + + # Parse options + func_parse_lt_options \"\$0\" \${1+\"\$@\"} + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test yes = "$fast_install"; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + \$ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # fixup the dll searchpath if we need to. + # + # Fix the DLL searchpath if we need to. Do this before prepending + # to shlibpath, because on Windows, both are PATH and uninstalled + # libraries must come first. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + # Export our shlibpath_var if we have one. + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` + + export $shlibpath_var +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + func_exec_program \${1+\"\$@\"} + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} + + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat < +#include +#ifdef _MSC_VER +# include +# include +# include +#else +# include +# include +# ifdef __CYGWIN__ +# include +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* declarations of non-ANSI functions */ +#if defined __MINGW32__ +# ifdef __STRICT_ANSI__ +int _putenv (const char *); +# endif +#elif defined __CYGWIN__ +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +/* #elif defined other_platform || defined ... */ +#endif + +/* portability defines, excluding path handling macros */ +#if defined _MSC_VER +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +# define S_IXUSR _S_IEXEC +#elif defined __MINGW32__ +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +#elif defined __CYGWIN__ +# define HAVE_SETENV +# define FOPEN_WB "wb" +/* #elif defined other platforms ... */ +#endif + +#if defined PATH_MAX +# define LT_PATHMAX PATH_MAX +#elif defined MAXPATHLEN +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +/* path handling portability macros */ +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ + defined __OS2__ +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free (stale); stale = 0; } \ +} while (0) + +#if defined LT_DEBUGWRAPPER +static int lt_debug = 1; +#else +static int lt_debug = 0; +#endif + +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_debugprintf (const char *file, int line, const char *fmt, ...); +void lt_fatal (const char *file, int line, const char *message, ...); +static const char *nonnull (const char *s); +static const char *nonempty (const char *s); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); +char **prepare_spawn (char **argv); +void lt_dump_script (FILE *f); +EOF + + cat <= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + size_t tmp_len; + char *concat_name; + + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", + nonempty (wrapper)); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined HAVE_DOS_BASED_FILE_SYSTEM + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined HAVE_DOS_BASED_FILE_SYSTEM + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = (size_t) (q - p); + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + lt_debugprintf (__FILE__, __LINE__, + "checking path component for symlinks: %s\n", + tmp_pathspec); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + lt_fatal (__FILE__, __LINE__, + "error accessing file \"%s\": %s", + tmp_pathspec, nonnull (strerror (errno))); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal (__FILE__, __LINE__, + "could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (STREQ (str, pat)) + *str = '\0'; + } + return str; +} + +void +lt_debugprintf (const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (lt_debug) + { + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); + } +} + +static void +lt_error_core (int exit_status, const char *file, + int line, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *file, int line, const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); + va_end (ap); +} + +static const char * +nonnull (const char *s) +{ + return s ? s : "(null)"; +} + +static const char * +nonempty (const char *s) +{ + return (s && !*s) ? "(empty)" : nonnull (s); +} + +void +lt_setenv (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_setenv) setting '%s' to '%s'\n", + nonnull (name), nonnull (value)); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + size_t len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} + +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + size_t orig_value_len = strlen (orig_value); + size_t add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + size_t len = strlen (new_value); + while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[--len] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +void +lt_update_lib_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +EOF + case $host_os in + mingw*) + cat <<"EOF" + +/* Prepares an argument vector before calling spawn(). + Note that spawn() does not by itself call the command interpreter + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&v); + v.dwPlatformId == VER_PLATFORM_WIN32_NT; + }) ? "cmd.exe" : "command.com"). + Instead it simply concatenates the arguments, separated by ' ', and calls + CreateProcess(). We must quote the arguments since Win32 CreateProcess() + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a + special way: + - Space and tab are interpreted as delimiters. They are not treated as + delimiters if they are surrounded by double quotes: "...". + - Unescaped double quotes are removed from the input. Their only effect is + that within double quotes, space and tab are treated like normal + characters. + - Backslashes not followed by double quotes are not special. + - But 2*n+1 backslashes followed by a double quote become + n backslashes followed by a double quote (n >= 0): + \" -> " + \\\" -> \" + \\\\\" -> \\" + */ +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +char ** +prepare_spawn (char **argv) +{ + size_t argc; + char **new_argv; + size_t i; + + /* Count number of arguments. */ + for (argc = 0; argv[argc] != NULL; argc++) + ; + + /* Allocate new argument vector. */ + new_argv = XMALLOC (char *, argc + 1); + + /* Put quoted arguments into the new argument vector. */ + for (i = 0; i < argc; i++) + { + const char *string = argv[i]; + + if (string[0] == '\0') + new_argv[i] = xstrdup ("\"\""); + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) + { + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); + size_t length; + unsigned int backslashes; + const char *s; + char *quoted_string; + char *p; + + length = 0; + backslashes = 0; + if (quote_around) + length++; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + length += backslashes + 1; + length++; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + length += backslashes + 1; + + quoted_string = XMALLOC (char, length + 1); + + p = quoted_string; + backslashes = 0; + if (quote_around) + *p++ = '"'; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + { + unsigned int j; + for (j = backslashes + 1; j > 0; j--) + *p++ = '\\'; + } + *p++ = c; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + { + unsigned int j; + for (j = backslashes; j > 0; j--) + *p++ = '\\'; + *p++ = '"'; + } + *p = '\0'; + + new_argv[i] = quoted_string; + } + else + new_argv[i] = (char *) string; + } + new_argv[argc] = NULL; + + return new_argv; +} +EOF + ;; + esac + + cat <<"EOF" +void lt_dump_script (FILE* f) +{ +EOF + func_emit_wrapper yes | + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' + cat <<"EOF" +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_win32_import_lib_p ARG +# True if ARG is an import lib, as indicated by $file_magic_cmd +func_win32_import_lib_p () +{ + $debug_cmd + + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in + *import*) : ;; + *) false ;; + esac +} + +# func_suncc_cstd_abi +# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! +# Several compiler flags select an ABI that is incompatible with the +# Cstd library. Avoid specifying it if any are in CXXFLAGS. +func_suncc_cstd_abi () +{ + $debug_cmd + + case " $compile_command " in + *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) + suncc_use_cstd_abi=no + ;; + *) + suncc_use_cstd_abi=yes + ;; + esac +} + +# func_mode_link arg... +func_mode_link () +{ + $debug_cmd + + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # what system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll that has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + bindir= + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + os2dllname= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=false + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module=$wl-single_module + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test yes != "$build_libtool_libs" \ + && func_fatal_configuration "cannot build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg=$1 + shift + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + bindir) + bindir=$arg + prev= + continue + ;; + dlfiles|dlprefiles) + $preload || { + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=: + } + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test no = "$dlself"; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test dlprefiles = "$prev"; then + dlself=yes + elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test dlfiles = "$prev"; then + func_append dlfiles " $arg" + else + func_append dlprefiles " $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols=$arg + test -f "$arg" \ + || func_fatal_error "symbol file '$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex=$arg + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) func_append deplibs " $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir=$arg + prev= + continue + ;; + mllvm) + # Clang does not use LLVM to link, so we can simply discard any + # '-mllvm $arg' options when doing the link step. + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# func_append moreargs " $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + if test none != "$pic_object"; then + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + fi + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file '$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + os2dllname) + os2dllname=$arg + prev= + continue + ;; + precious_regex) + precious_files_regex=$arg + prev= + continue + ;; + release) + release=-$arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test rpath = "$prev"; then + case "$rpath " in + *" $arg "*) ;; + *) func_append rpath " $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) func_append xrpath " $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds=$arg + prev= + continue + ;; + weak) + func_append weak_libs " $arg" + prev= + continue + ;; + xcclinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg=$arg + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "'-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -bindir) + prev=bindir + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test X-export-symbols = "X$arg"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname "-L" '' "$arg" + if test -z "$func_stripname_result"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between '-L' and '$1'" + else + func_fatal_error "need path for '-L' option" + fi + fi + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of '$dir'" + dir=$absdir + ;; + esac + case "$deplibs " in + *" -L$dir "* | *" $arg "*) + # Will only happen for absolute or sysroot arguments + ;; + *) + # Preserve sysroot, but never include relative directories + case $dir in + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; + *) func_append deplibs " -L$dir" ;; + esac + func_append lib_search_path " $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) func_append dllsearchpath ":$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test X-lc = "X$arg" || test X-lm = "X$arg"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test X-lc = "X$arg" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + # Do not include libc due to us having libc/libc_r. + test X-lc = "X$arg" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + func_append deplibs " System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test X-lc = "X$arg" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test X-lc = "X$arg" && continue + ;; + esac + elif test X-lc_r = "X$arg"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + func_append deplibs " $arg" + continue + ;; + + -mllvm) + prev=mllvm + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot|--sysroot) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + continue + ;; + + -multi_module) + single_module=$wl-multi_module + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "'-no-install' is ignored for $host" + func_warning "assuming '-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -os2dllname) + prev=os2dllname + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + =*) + func_stripname '=' '' "$dir" + dir=$lt_sysroot$func_stripname_result + ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_for_eval "$flag" + func_append arg " $func_quote_for_eval_result" + func_append compiler_flags " $func_quote_for_eval_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_for_eval "$flag" + func_append arg " $wl$func_quote_for_eval_result" + func_append compiler_flags " $wl$func_quote_for_eval_result" + func_append linker_flags " $func_quote_for_eval_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + ;; + + # Flags to be passed through unchanged, with rationale: + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler + # -r[0-9][0-9]* specify processor for the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler + # +DA*, +DD* enable 64-bit mode for the HP compiler + # -q* compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC + # -F/path path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # -fstack-protector* stack protector flags for GCC + # @file GCC response files + # -tp=* Portland pgcc target processor selection + # --sysroot=* for sysroot support + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -stdlib=* select c++ std lib with clang + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + func_append compile_command " $arg" + func_append finalize_command " $arg" + func_append compiler_flags " $arg" + continue + ;; + + -Z*) + if test os2 = "`expr $host : '.*\(os2\)'`"; then + # OS/2 uses -Zxxx to specify OS/2-specific options + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case $arg in + -Zlinker | -Zstack) + prev=xcompiler + ;; + esac + continue + else + # Otherwise treat like 'Some other compiler flag' below + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + fi + ;; + + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + ;; + + *.$objext) + # A standard object. + func_append objs " $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + test none = "$pic_object" || { + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + } + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + func_append deplibs " $arg" + func_append old_deplibs " $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + func_resolve_sysroot "$arg" + if test dlfiles = "$prev"; then + # This library was specified with -dlopen. + func_append dlfiles " $func_resolve_sysroot_result" + prev= + elif test dlprefiles = "$prev"; then + # The library was specified with -dlpreopen. + func_append dlprefiles " $func_resolve_sysroot_result" + prev= + else + func_append deplibs " $func_resolve_sysroot_result" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the '$prevarg' option requires an argument" + + if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname=$func_basename_result + libobjs_save=$libobjs + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + # Definition is injected by LT_CONFIG during libtool generation. + func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" + + func_dirname "$output" "/" "" + output_objdir=$func_dirname_result$objdir + func_to_tool_file "$output_objdir/" + tool_output_objdir=$func_to_tool_file_result + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_preserve_dup_deps; then + case "$libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append libs " $deplib" + done + + if test lib = "$linkmode"; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; + esac + func_append pre_post_deps " $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=false + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test lib,link = "$linkmode,$pass"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs=$tmp_deplibs + fi + + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass"; then + libs=$deplibs + deplibs= + fi + if test prog = "$linkmode"; then + case $pass in + dlopen) libs=$dlfiles ;; + dlpreopen) libs=$dlprefiles ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test lib,dlpreopen = "$linkmode,$pass"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + func_resolve_sysroot "$lib" + case $lib in + *.la) func_source "$func_resolve_sysroot_result" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + func_basename "$deplib" + deplib_base=$func_basename_result + case " $weak_libs " in + *" $deplib_base "*) ;; + *) func_append deplibs " $deplib" ;; + esac + done + done + libs=$dlprefiles + fi + if test dlopen = "$pass"; then + # Collect dlpreopened libraries + save_deplibs=$deplibs + deplibs= + fi + + for deplib in $libs; do + lib= + found=false + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append compiler_flags " $deplib" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test lib != "$linkmode" && test prog != "$linkmode"; then + func_warning "'-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test lib = "$linkmode"; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib=$searchdir/lib$name$search_ext + if test -f "$lib"; then + if test .la = "$search_ext"; then + found=: + else + found=false + fi + break 2 + fi + done + done + if $found; then + # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll=$l + done + if test "X$ll" = "X$old_library"; then # only static version available + found=false + func_dirname "$lib" "" "." + ladir=$func_dirname_result + lib=$ladir/$old_library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + else + # deplib doesn't seem to be a libtool library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + ;; # -l + *.ltframework) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test conv = "$pass" && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + prog) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + if test scan = "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + *) + func_warning "'-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test link = "$pass"; then + func_stripname '-R' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) + func_resolve_sysroot "$deplib" + lib=$func_resolve_sysroot_result + ;; + *.$libext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=false + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=: + fi + ;; + pass_all) + valid_a_lib=: + ;; + esac + if $valid_a_lib; then + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + else + echo + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not use here." + fi + ;; + esac + continue + ;; + prog) + if test link != "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + elif test prog = "$linkmode"; then + if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + func_append newdlprefiles " $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append newdlfiles " $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=: + continue + ;; + esac # case $deplib + + $found || test -f "$lib" \ + || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "'$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir=$func_dirname_result + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass" || + { test prog != "$linkmode" && test lib != "$linkmode"; }; then + test -n "$dlopen" && func_append dlfiles " $dlopen" + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" + fi + + if test conv = "$pass"; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + # It is a libtool convenience library, so add in its objects. + func_append convenience " $ladir/$objdir/$old_library" + func_append old_convenience " $ladir/$objdir/$old_library" + elif test prog != "$linkmode" && test lib != "$linkmode"; then + func_fatal_error "'$lib' is not a convenience library" + fi + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + if test -n "$old_library" && + { test yes = "$prefer_static_libs" || + test built,no = "$prefer_static_libs,$installed"; }; then + linklib=$old_library + else + for l in $old_library $library_names; do + linklib=$l + done + fi + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + + # This library was specified with -dlopen. + if test dlopen = "$pass"; then + test -z "$libdir" \ + && func_fatal_error "cannot -dlopen a convenience library: '$lib'" + if test -z "$dlname" || + test yes != "$dlopen_support" || + test no = "$build_libtool_libs" + then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + func_append dlprefiles " $lib $dependency_libs" + else + func_append newdlfiles " $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of '$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir=$ladir + fi + ;; + esac + func_basename "$lib" + laname=$func_basename_result + + # Find the relevant object directory and library name. + if test yes = "$installed"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir + else + dir=$lt_sysroot$libdir + absdir=$lt_sysroot$libdir + fi + test yes = "$hardcode_automatic" && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir=$ladir + absdir=$abs_ladir + # Remove this search path later + func_append notinst_path " $abs_ladir" + else + dir=$ladir/$objdir + absdir=$abs_ladir/$objdir + # Remove this search path later + func_append notinst_path " $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test dlpreopen = "$pass"; then + if test -z "$libdir" && test prog = "$linkmode"; then + func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" + fi + case $host in + # special handling for platforms with PE-DLLs. + *cygwin* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present + # (otherwise, the dlopen module name will be incorrect). We do + # this by putting the import library name into $newdlprefiles. + # We recover the dlopen module name by 'saving' the la file + # name in a special purpose variable, and (later) extracting the + # dlname from the la file. + if test -n "$dlname"; then + func_tr_sh "$dir/$linklib" + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" + func_append newdlprefiles " $dir/$linklib" + else + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + fi + ;; + * ) + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + func_append newdlprefiles " $dir/$dlname" + else + func_append newdlprefiles " $dir/$linklib" + fi + ;; + esac + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test lib = "$linkmode"; then + deplibs="$dir/$old_library $deplibs" + elif test prog,link = "$linkmode,$pass"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test prog = "$linkmode" && test link != "$pass"; then + func_append newlib_search_path " $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=false + if test no != "$link_all_deplibs" || test -z "$library_names" || + test no = "$build_libtool_libs"; then + linkalldeplibs=: + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + esac + # Need to link against all dependency_libs? + if $linkalldeplibs; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test prog,link = "$linkmode,$pass"; then + if test -n "$library_names" && + { { test no = "$prefer_static_libs" || + test built,yes = "$prefer_static_libs,$installed"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then + # Make sure the rpath contains only unique directories. + case $temp_rpath: in + *"$absdir:"*) ;; + *) func_append temp_rpath "$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if $alldeplibs && + { test pass_all = "$deplibs_check_method" || + { test yes = "$build_libtool_libs" && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test built = "$use_static_libs" && test yes = "$installed"; then + use_static_libs=no + fi + if test -n "$library_names" && + { test no = "$use_static_libs" || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc* | *os2*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no + ;; + *) + if test no = "$installed"; then + func_append notinst_deplibs " $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule= + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule=$dlpremoduletest + break + fi + done + if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then + echo + if test prog = "$linkmode"; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test lib = "$linkmode" && + test yes = "$hardcode_into_libs"; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname=$1 + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname=$dlname + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc* | *os2*) + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + esac + eval soname=\"$soname_spec\" + else + soname=$realname + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot=$soname + func_basename "$soroot" + soname=$func_basename_result + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from '$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for '$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test prog = "$linkmode" || test relink != "$opt_mode"; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test no = "$hardcode_direct"; then + add=$dir/$linklib + case $host in + *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; + *-*-sysv4*uw2*) add_dir=-L$dir ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir=-L$dir ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we cannot + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library"; then + echo + echo "*** And there doesn't seem to be a static archive available" + echo "*** The link will probably fail, sorry" + else + add=$dir/$old_library + fi + elif test -n "$old_library"; then + add=$dir/$old_library + fi + fi + esac + elif test no = "$hardcode_minus_L"; then + case $host in + *-*-sunos*) add_shlibpath=$dir ;; + esac + add_dir=-L$dir + add=-l$name + elif test no = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + relink) + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$dir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$absdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test yes != "$lib_linked"; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) func_append compile_shlibpath "$add_shlibpath:" ;; + esac + fi + if test prog = "$linkmode"; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test yes != "$hardcode_direct" && + test yes != "$hardcode_minus_L" && + test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + fi + fi + fi + + if test prog = "$linkmode" || test relink = "$opt_mode"; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$libdir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$libdir + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + add=-l$name + elif test yes = "$hardcode_automatic"; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib"; then + add=$inst_prefix_dir$libdir/$linklib + else + add=$libdir/$linklib + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir=-L$libdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + fi + + if test prog = "$linkmode"; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test prog = "$linkmode"; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test unsupported != "$hardcode_direct"; then + test -n "$old_library" && linklib=$old_library + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test yes = "$build_libtool_libs"; then + # Not a shared library + if test pass_all != "$deplibs_check_method"; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + $ECHO "*** Warning: This system cannot link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test yes = "$module"; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test lib = "$linkmode"; then + if test -n "$dependency_libs" && + { test yes != "$hardcode_into_libs" || + test yes = "$build_old_libs" || + test yes = "$link_static"; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) func_append xrpath " $temp_xrpath";; + esac;; + *) func_append temp_deplibs " $libdir";; + esac + done + dependency_libs=$temp_deplibs + fi + + func_append newlib_search_path " $absdir" + # Link against this library + test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; + esac + fi + func_append tmp_libs " $func_resolve_sysroot_result" + done + + if test no != "$link_all_deplibs"; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + path= + case $deplib in + -L*) path=$deplib ;; + *.la) + func_resolve_sysroot "$deplib" + deplib=$func_resolve_sysroot_result + func_dirname "$deplib" "" "." + dir=$func_dirname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of '$dir'" + absdir=$dir + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names"; then + for tmp in $deplibrary_names; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl"; then + depdepl=$absdir/$objdir/$depdepl + darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" + func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" + path= + fi + fi + ;; + *) + path=-L$absdir/$objdir + ;; + esac + else + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "'$deplib' seems to be moved" + + path=-L$absdir + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test link = "$pass"; then + if test prog = "$linkmode"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs=$newdependency_libs + if test dlpreopen = "$pass"; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test dlopen != "$pass"; then + test conv = "$pass" || { + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) func_append lib_search_path " $dir" ;; + esac + done + newlib_search_path= + } + + if test prog,link = "$linkmode,$pass"; then + vars="compile_deplibs finalize_deplibs" + else + vars=deplibs + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) func_append tmp_libs " $deplib" ;; + esac + ;; + *) func_append tmp_libs " $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + + # Add Sun CC postdeps if required: + test CXX = "$tagname" && { + case $host_os in + linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C++ 5.9 + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + + solaris*) + func_cc_basename "$CC" + case $func_cc_basename_result in + CC* | sunCC*) + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + esac + } + + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i= + ;; + esac + if test -n "$i"; then + func_append tmp_libs " $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test prog = "$linkmode"; then + dlfiles=$newdlfiles + fi + if test prog = "$linkmode" || test lib = "$linkmode"; then + dlprefiles=$newdlprefiles + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "'-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "'-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs=$output + func_append objs "$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form 'libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test no = "$module" \ + && func_fatal_help "libtool library '$output' must begin with 'lib'" + + if test no != "$need_lib_prefix"; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test pass_all != "$deplibs_check_method"; then + func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" + else + echo + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + func_append libobjs " $objs" + fi + fi + + test no = "$dlself" \ + || func_warning "'-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test 1 -lt "$#" \ + && func_warning "ignoring multiple '-rpath's for a libtool library" + + install_libdir=$1 + + oldlibs= + if test -z "$rpath"; then + if test yes = "$build_libtool_libs"; then + # Building a libtool convenience library. + # Some compilers have problems with a '.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "'-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs=$IFS; IFS=: + set dummy $vinfo 0 0 0 + shift + IFS=$save_ifs + + test -n "$7" && \ + func_fatal_help "too many parameters to '-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major=$1 + number_minor=$2 + number_revision=$3 + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # that has an extra 1 added just for fun + # + case $version_type in + # correct linux to gnu/linux during the next big refactor + darwin|freebsd-elf|linux|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_revision + ;; + freebsd-aout|qnx|sunos) + current=$number_major + revision=$number_minor + age=0 + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_minor + lt_irix_increment=no + ;; + esac + ;; + no) + current=$1 + revision=$2 + age=$3 + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT '$current' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION '$revision' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE '$age' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE '$age' is greater than the current interface number '$current'" + func_fatal_error "'$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + # On Darwin other compilers + case $CC in + nagfor*) + verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + ;; + *) + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + esac + ;; + + freebsd-aout) + major=.$current + versuffix=.$current.$revision + ;; + + freebsd-elf) + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + irix | nonstopux) + if test no = "$lt_irix_increment"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring=$verstring_prefix$major.$revision + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test 0 -ne "$loop"; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring_prefix$major.$iface:$verstring + done + + # Before this point, $major must not contain '.'. + major=.$major + versuffix=$major.$revision + ;; + + linux) # correct to gnu/linux during the next big refactor + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=.$current.$age.$revision + verstring=$current.$age.$revision + + # Add in all the interfaces that we are compatible with. + loop=$age + while test 0 -ne "$loop"; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring:$iface.0 + done + + # Make executables depend on our current version. + func_append verstring ":$current.0" + ;; + + qnx) + major=.$current + versuffix=.$current + ;; + + sco) + major=.$current + versuffix=.$current + ;; + + sunos) + major=.$current + versuffix=.$current.$revision + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 file systems. + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + + *) + func_fatal_configuration "unknown library version type '$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring=0.0 + ;; + esac + if test no = "$need_version"; then + versuffix= + else + versuffix=.0.0 + fi + fi + + # Remove version info from name if versioning should be avoided + if test yes,no = "$avoid_version,$need_version"; then + major= + versuffix= + verstring= + fi + + # Check to see if the archive will have undefined symbols. + if test yes = "$allow_undefined"; then + if test unsupported = "$allow_undefined_flag"; then + if test yes = "$build_old_libs"; then + func_warning "undefined symbols not allowed in $host shared libraries; building static only" + build_libtool_libs=no + else + func_fatal_error "can't build $host shared library unless -no-undefined is specified" + fi + fi + else + # Don't allow undefined symbols. + allow_undefined_flag=$no_undefined_flag + fi + + fi + + func_generate_dlsyms "$libname" "$libname" : + func_append libobjs " $symfileobj" + test " " = "$libobjs" && libobjs= + + if test relink != "$opt_mode"; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) + if test -n "$precious_files_regex"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + func_append removelist " $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then + func_append oldlibs " $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + func_replace_sysroot "$libdir" + func_append temp_xrpath " -R$func_replace_sysroot_result" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles=$dlfiles + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) func_append dlfiles " $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles=$dlprefiles + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) func_append dlprefiles " $lib" ;; + esac + done + + if test yes = "$build_libtool_libs"; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + func_append deplibs " System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test yes = "$build_libtool_need_lc"; then + func_append deplibs " -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release= + versuffix= + major= + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c </dev/null` + $nocaseglob + else + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + fi + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib=$potent_lib + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | $SED 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; + *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib= + ;; + esac + fi + if test -n "$a_deplib"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib=$potent_lib # see symlink-check above in file_magic test + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs= + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + for i in $predeps $postdeps; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` + done + fi + case $tmp_deplibs in + *[!\ \ ]*) + echo + if test none = "$deplibs_check_method"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + ;; + esac + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + if test yes = "$droppeddeps"; then + if test yes = "$module"; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test no = "$allow_undefined"; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + deplibs=$new_libs + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test yes = "$build_libtool_libs"; then + # Remove $wl instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac + if test yes = "$hardcode_into_libs"; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath=$finalize_rpath + test relink = "$opt_mode" || rpath=$compile_rpath$rpath + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + func_replace_sysroot "$libdir" + libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath=$finalize_shlibpath + test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname=$1 + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname=$realname + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib=$output_objdir/$realname + linknames= + for link + do + func_append linknames " $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols=$output_objdir/$libname.uexp + func_append delfiles " $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + func_dll_def_p "$export_symbols" || { + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols=$export_symbols + export_symbols= + always_export_symbols=yes + } + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs=$IFS; IFS='~' + for cmd1 in $cmds; do + IFS=$save_ifs + # Take the normal branch if the nm_file_list_spec branch + # doesn't work or if tool conversion is not needed. + case $nm_file_list_spec~$to_tool_file_cmd in + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) + try_normal_branch=yes + eval cmd=\"$cmd1\" + func_len " $cmd" + len=$func_len_result + ;; + *) + try_normal_branch=no + ;; + esac + if test yes = "$try_normal_branch" \ + && { test "$len" -lt "$max_cmd_len" \ + || test "$max_cmd_len" -le -1; } + then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + elif test -n "$nm_file_list_spec"; then + func_basename "$output" + output_la=$func_basename_result + save_libobjs=$libobjs + save_output=$output + output=$output_objdir/$output_la.nm + func_to_tool_file "$output" + libobjs=$nm_file_list_spec$func_to_tool_file_result + func_append delfiles " $output" + func_verbose "creating $NM input file list: $output" + for obj in $save_libobjs; do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > "$output" + eval cmd=\"$cmd1\" + func_show_eval "$cmd" 'exit $?' + output=$save_output + libobjs=$save_libobjs + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS=$save_ifs + if test -n "$export_symbols_regex" && test : != "$skipped_export"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test : != "$skipped_export" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + func_append tmp_deplibs " $test_deplib" + ;; + esac + done + deplibs=$tmp_deplibs + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test yes = "$compiler_needs_object" && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + func_append linker_flags " $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test : != "$skipped_export" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + func_basename "$output" + output_la=$func_basename_result + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + output=$output_objdir/$output_la.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test yes = "$compiler_needs_object"; then + firstobj="$1 " + shift + fi + for obj + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + func_append delfiles " $output" + func_to_tool_file "$output" + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-$k.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test -z "$objlist" || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test 1 -eq "$k"; then + # The first file doesn't have a previous command to add. + reload_objs=$objlist + eval concat_cmds=\"$reload_cmds\" + else + # All subsequent reloadable object files will link in + # the last one created. + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-$k.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-$k.$objext + objlist=" $obj" + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds$reload_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + func_append delfiles " $output" + + else + output= + fi + + ${skipped_export-false} && { + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + } + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs=$IFS; IFS='~' + for cmd in $concat_cmds; do + IFS=$save_ifs + $opt_quiet || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + ${skipped_export-false} && { + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + } + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs=$IFS; IFS='~' + for cmd in $cmds; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + $opt_quiet || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test yes = "$module" || test yes = "$export_dynamic"; then + # On all known operating systems, these are identical. + dlname=$soname + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "'-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object '$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj=$output + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # if reload_cmds runs $LD directly, get rid of -Wl from + # whole_archive_flag_spec and hope we can get by with turning comma + # into space. + case $reload_cmds in + *\$LD[\ \$]*) wl= ;; + esac + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags + else + gentop=$output_objdir/${obj}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # If we're not building shared, we need to use non_pic_objs + test yes = "$build_libtool_libs" || libobjs=$non_pic_objects + + # Create the old-style object. + reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs + + output=$obj + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + test yes = "$build_libtool_libs" || { + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + } + + if test -n "$pic_flag" || test default != "$pic_mode"; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output=$libobj + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "'-release' is ignored for programs" + + $preload \ + && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ + && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test CXX = "$tagname"; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + func_append compile_command " $wl-bind_at_load" + func_append finalize_command " $wl-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + compile_deplibs=$new_libs + + + func_append compile_command " $compile_deplibs" + func_append finalize_command " $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) func_append dllsearchpath ":$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath=$rpath + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) func_append finalize_perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath=$rpath + + if test -n "$libobjs" && test yes = "$build_old_libs"; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" false + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=: + case $host in + *cegcc* | *mingw32ce*) + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=false + ;; + *cygwin* | *mingw* ) + test yes = "$build_libtool_libs" || wrappers_required=false + ;; + *) + if test no = "$need_relink" || test yes != "$build_libtool_libs"; then + wrappers_required=false + fi + ;; + esac + $wrappers_required || { + # Replace the output file specification. + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + link_command=$compile_command$compile_rpath + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.$objext"; then + func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' + fi + + exit $exit_status + } + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + func_append rpath "$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test yes = "$no_install"; then + # We don't need to create a wrapper script. + link_command=$compile_var$compile_command$compile_rpath + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + exit $EXIT_SUCCESS + fi + + case $hardcode_action,$fast_install in + relink,*) + # Fast installation is not supported + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "'$output' will be relinked during installation" + ;; + *,yes) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + ;; + *,no) + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + ;; + *,needless) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command= + ;; + esac + + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output_objdir/$outputname" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource=$output_path/$objdir/lt-$output_name.c + cwrapper=$output_path/$output_name.exe + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host"; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + case $build_libtool_libs in + convenience) + oldobjs="$libobjs_save $symfileobj" + addlibs=$convenience + build_libtool_libs=no + ;; + module) + oldobjs=$libobjs_save + addlibs=$old_convenience + build_libtool_libs=no + ;; + *) + oldobjs="$old_deplibs $non_pic_objects" + $preload && test -f "$symfileobj" \ + && func_append oldobjs " $symfileobj" + addlibs=$old_convenience + ;; + esac + + if test -n "$addlibs"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $addlibs + func_append oldobjs " $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append oldobjs " $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + echo "copying selected object files to avoid basename conflicts..." + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase=$func_basename_result + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + func_append oldobjs " $gentop/$newobj" + ;; + *) func_append oldobjs " $obj" ;; + esac + done + fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + elif test -n "$archiver_list_spec"; then + func_verbose "using command file archive linking..." + for obj in $oldobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > $output_objdir/$libname.libcmd + func_to_tool_file "$output_objdir/$libname.libcmd" + oldobjs=" $archiver_list_spec$func_to_tool_file_result" + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj"; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test -z "$oldobjs"; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test yes = "$build_old_libs" && old_library=$libname.$libext + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + if test yes = "$hardcode_automatic"; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test yes = "$installed"; then + if test -z "$install_libdir"; then + break + fi + output=$output_objdir/${outputname}i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name=$func_basename_result + func_resolve_sysroot "$deplib" + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" + ;; + -L*) + func_stripname -L '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -L$func_replace_sysroot_result" + ;; + -R*) + func_stripname -R '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -R$func_replace_sysroot_result" + ;; + *) func_append newdependency_libs " $deplib" ;; + esac + done + dependency_libs=$newdependency_libs + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" + ;; + *) func_append newdlfiles " $lib" ;; + esac + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" + ;; + esac + done + dlprefiles=$newdlprefiles + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlfiles " $abs" + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlprefiles " $abs" + done + dlprefiles=$newdlprefiles + fi + $RM $output + # place dlname in correct position for cygwin + # In fact, it would be nice if we could use this code for all target + # systems that can't hard-code library paths into their executables + # and that have no shared library path variable independent of PATH, + # but it turns out we can't easily determine that from inspecting + # libtool variables, so we have to hard-code the OSs to which it + # applies here; at the moment, that means platforms that use the PE + # object format with DLL files. See the long comment at the top of + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test -n "$bindir"; then + func_relative_path "$install_libdir" "$bindir" + tdlname=$func_relative_path_result/$dlname + else + # Otherwise fall back on heuristic. + tdlname=../bin/$dlname + fi + ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test no,yes = "$installed,$need_relink"; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +if test link = "$opt_mode" || test relink = "$opt_mode"; then + func_mode_link ${1+"$@"} +fi + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $debug_cmd + + RM=$nonopt + files= + rmforce=false + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + for arg + do + case $arg in + -f) func_append RM " $arg"; rmforce=: ;; + -*) func_append RM " $arg" ;; + *) func_append files " $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + for file in $files; do + func_dirname "$file" "" "." + dir=$func_dirname_result + if test . = "$dir"; then + odir=$objdir + else + odir=$dir/$objdir + fi + func_basename "$file" + name=$func_basename_result + test uninstall = "$opt_mode" && odir=$dir + + # Remember odir for removal later, being careful to avoid duplicates + if test clean = "$opt_mode"; then + case " $rmdirs " in + *" $odir "*) ;; + *) func_append rmdirs " $odir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif $rmforce; then + continue + fi + + rmfiles=$file + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + func_append rmfiles " $odir/$n" + done + test -n "$old_library" && func_append rmfiles " $odir/$old_library" + + case $opt_mode in + clean) + case " $library_names " in + *" $dlname "*) ;; + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; + esac + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && test none != "$pic_object"; then + func_append rmfiles " $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && test none != "$non_pic_object"; then + func_append rmfiles " $dir/$non_pic_object" + fi + fi + ;; + + *) + if test clean = "$opt_mode"; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + func_append rmfiles " $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + func_append rmfiles " $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + func_append rmfiles " $odir/$name $odir/${name}S.$objext" + if test yes = "$fast_install" && test -n "$relink_command"; then + func_append rmfiles " $odir/lt-$name" + fi + if test "X$noexename" != "X$name"; then + func_append rmfiles " $odir/lt-$noexename.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + + # Try to remove the $objdir's in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then + func_mode_uninstall ${1+"$@"} +fi + +test -z "$opt_mode" && { + help=$generic_help + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode '$opt_mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# where we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/m4/libtool.m4 mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/m4/libtool.m4 --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/m4/libtool.m4 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/m4/libtool.m4 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,8369 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +]) + +# serial 58 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_PREPARE_CC_BASENAME +# ----------------------- +m4_defun([_LT_PREPARE_CC_BASENAME], [ +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} +])# _LT_PREPARE_CC_BASENAME + + +# _LT_CC_BASENAME(CC) +# ------------------- +# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, +# but that macro is also expanded into generated libtool script, which +# arranges for $SED and $ECHO to be set by different means. +m4_defun([_LT_CC_BASENAME], +[m4_require([_LT_PREPARE_CC_BASENAME])dnl +AC_REQUIRE([_LT_DECL_SED])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +func_cc_basename $1 +cc_basename=$func_cc_basename_result +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl +m4_require([_LT_CMD_TRUNCATE])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from 'configure', and 'config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# 'config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain=$ac_aux_dir/ltmain.sh +])# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the 'libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to 'config.status' so that its +# declaration there will have the same value as in 'configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags='_LT_TAGS'dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into 'config.status', and then the shell code to quote escape them in +# for loops in 'config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +_LT_OUTPUT_LIBTOOL_INIT +]) + +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# '#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test 0 = "$lt_write_fail" && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +'$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test 0 != $[#] +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try '$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try '$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test yes = "$silent" && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +_LT_COPYING +_LT_LIBTOOL_TAGS + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +_LT_PREPARE_MUNGE_PATH_LIST +_LT_PREPARE_CC_BASENAME + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS=$save_LDFLAGS + ]) + + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[[012]][[,.]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + if test yes = "$lt_cv_ld_force_load"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + m4_if([$1], [CXX], +[ if test yes != "$lt_cv_apple_cc_single_mod"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script that will find a shell with a builtin +# printf (that we can use as an echo command). +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +case $ECHO in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac + +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) + +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([$with_sysroot]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and where our libraries should be installed.])]) + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock +])# _LT_ENABLE_LOCK + + +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +: ${AR_FLAGS=cru} +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[_LT_PROG_AR + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test yes = "[$]$2"; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS +]) + +if test yes = "[$]$2"; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n "$lt_cv_sys_max_cmd_len"; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes = "$cross_compiling"; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen=shl_load], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen=dlopen], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links=nottested +if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test no = "$hard_links"; then + AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", + [Define to the sub-directory where libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then + + # We can hardcode non-existent directories. + if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && + test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || + test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_PREPARE_MUNGE_PATH_LIST +# --------------------------- +# Make sure func_munge_path_list() is defined correctly. +m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], +[[# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} +]])# _LT_PREPARE_PATH_LIST + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +AC_ARG_VAR([LT_SYS_LIBRARY_PATH], +[User-defined run-time library search path.]) + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[[4-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a[(]lib.so.V[)]' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[23]].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[[3-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], + [Detected run-time system search path for libraries]) +_LT_DECL([], [configure_time_lt_sys_library_path], [2], + [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program that can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac]) +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program that can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test no = "$withval" || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], +[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi]) +rm -f conftest.i conftest2.i conftest.out]) +])# _LT_PATH_DD + + +# _LT_CMD_TRUNCATE +# ---------------- +# find command to truncate a binary pipe +m4_defun([_LT_CMD_TRUNCATE], +[m4_require([_LT_PATH_DD]) +AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], +[printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) +_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], + [Command to truncate a binary pipe]) +])# _LT_CMD_TRUNCATE + + +# _LT_CHECK_MAGIC_METHOD +# ---------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_MAGIC_METHOD], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +AC_CACHE_CHECK([how to recognize dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[[4-9]]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[[45]]*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi]) +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# _LT_DLL_DEF_P([FILE]) +# --------------------- +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with func_dll_def_p in the libtool script +AC_DEFUN([_LT_DLL_DEF_P], +[dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +])# _LT_DLL_DEF_P + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM=-lm) + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], + [Transform the output of nm into a list of symbols to manually relocate]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], + [The name lister interface]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test yes = "$GCC"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +AC_CACHE_CHECK([for $compiler option to produce PIC], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + ;; + esac + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS=$save_LDFLAGS]) + if test yes = "$lt_cv_irix_exported_symbol"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(ld_shlibs, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + osf3*) + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting $shlibpath_var if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC=$CC +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report what library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC=$lt_save_CC +])# _LT_LANG_C_CONFIG + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + + _LT_TAGVAR(GCC, $1)=$GXX + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)=$prev$p + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)=$p + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)=$p + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test no = "$F77"; then + _lt_disable_F77=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_F77"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$G77 + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test no = "$FC"; then + _lt_disable_FC=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_FC"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_FC" + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code=$lt_simple_compile_test_code + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f "$lt_ac_sed" && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test 10 -lt "$lt_ac_count" && break + lt_ac_count=`expr $lt_ac_count + 1` + if test "$lt_ac_count" -gt "$lt_ac_max"; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine what file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +]) +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/m4/ltoptions.m4 mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/m4/ltoptions.m4 --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/m4/ltoptions.m4 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/m4/ltoptions.m4 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,437 @@ +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 8 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option '$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl 'shared' nor 'disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], + [_LT_WITH_AIX_SONAME([aix])]) + ]) +])# _LT_SET_OPTIONS + + +## --------------------------------- ## +## Macros to handle LT_INIT options. ## +## --------------------------------- ## + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [1], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the 'shared' and +# 'disable-shared' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the 'static' and +# 'disable-static' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the 'fast-install' +# and 'disable-fast-install' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_AIX_SONAME([DEFAULT]) +# ---------------------------------- +# implement the --with-aix-soname flag, and support the `aix-soname=aix' +# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT +# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. +m4_define([_LT_WITH_AIX_SONAME], +[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl +shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[[5-9]]*,yes) + AC_MSG_CHECKING([which variant of shared library versioning to provide]) + AC_ARG_WITH([aix-soname], + [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], + [case $withval in + aix|svr4|both) + ;; + *) + AC_MSG_ERROR([Unknown argument to --with-aix-soname]) + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname], + [AC_CACHE_VAL([lt_cv_with_aix_soname], + [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) + with_aix_soname=$lt_cv_with_aix_soname]) + AC_MSG_RESULT([$with_aix_soname]) + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + +_LT_DECL([], [shared_archive_member_spec], [0], + [Shared archive member basename, for filename based shared library versioning on AIX])dnl +])# _LT_WITH_AIX_SONAME + +LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' +# LT_INIT options. +# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [pic_mode=m4_default([$1], [default])]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + +## ----------------- ## +## LTDL_INIT Options ## +## ----------------- ## + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/m4/ltsugar.m4 mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/m4/ltsugar.m4 --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/m4/ltsugar.m4 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/m4/ltsugar.m4 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,124 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59, which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/m4/ltversion.m4 mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/m4/ltversion.m4 --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/m4/ltversion.m4 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/m4/ltversion.m4 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,23 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 4179 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.6]) +m4_define([LT_PACKAGE_REVISION], [2.4.6]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.6' +macro_revision='2.4.6' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/Makefile.am mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/Makefile.am --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/Makefile.am 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,13 @@ + +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +if ENABLE_EXAMPLES + EXAMPLES_DIR=examples +endif + +SUBDIRS = src $(EXAMPLES_DIR) doc + +EXTRA_DIST = libedit.pc.in +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libedit.pc diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/Makefile.in mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/Makefile.in --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/Makefile.in 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,877 @@ +# Makefile.in generated by automake 1.16.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2018 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = libedit.pc +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(pkgconfigdir)" +DATA = $(pkgconfig_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir distdir-am dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +DIST_SUBDIRS = src examples doc +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/libedit.pc.in COPYING ChangeLog INSTALL THANKS \ + compile config.guess config.sub install-sh ltmain.sh missing +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +DIST_TARGETS = dist-gzip +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +LT_VERSION = @LT_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MANTYPE = @MANTYPE@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +NROFF = @NROFF@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 +@ENABLE_EXAMPLES_TRUE@EXAMPLES_DIR = examples +SUBDIRS = src $(EXAMPLES_DIR) doc +EXTRA_DIST = libedit.pc.in +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libedit.pc +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +libedit.pc: $(top_builddir)/config.status $(srcdir)/libedit.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool config.lt +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz + $(am__post_remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-pkgconfigDATA + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-pkgconfigDATA + +.MAKE: $(am__recursive_targets) all install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-libtool cscope cscopelist-am ctags ctags-am dist \ + dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ + dist-xz dist-zip distcheck distclean distclean-generic \ + distclean-hdr distclean-libtool distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-pkgconfigDATA \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-pkgconfigDATA + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/missing mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/missing --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/missing 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/missing 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,215 @@ +#! /bin/sh +# Common wrapper for a few potentially missing GNU programs. + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try '$0 --help' for more information" + exit 1 +fi + +case $1 in + + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; + + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + +Supported PROGRAM values: + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man + +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" + exit 1 + ;; + +esac + +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi + +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/chared.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/chared.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/chared.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/chared.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,747 @@ +/* $NetBSD: chared.c,v 1.59 2019/07/23 10:18:52 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)chared.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: chared.c,v 1.59 2019/07/23 10:18:52 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * chared.c: Character editor utilities + */ +#include +#include +#include + +#include "el.h" +#include "common.h" +#include "fcns.h" + +/* value to leave unused in line buffer */ +#define EL_LEAVE 2 + +/* cv_undo(): + * Handle state for the vi undo command + */ +libedit_private void +cv_undo(EditLine *el) +{ + c_undo_t *vu = &el->el_chared.c_undo; + c_redo_t *r = &el->el_chared.c_redo; + size_t size; + + /* Save entire line for undo */ + size = (size_t)(el->el_line.lastchar - el->el_line.buffer); + vu->len = (ssize_t)size; + vu->cursor = (int)(el->el_line.cursor - el->el_line.buffer); + (void)memcpy(vu->buf, el->el_line.buffer, size * sizeof(*vu->buf)); + + /* save command info for redo */ + r->count = el->el_state.doingarg ? el->el_state.argument : 0; + r->action = el->el_chared.c_vcmd.action; + r->pos = r->buf; + r->cmd = el->el_state.thiscmd; + r->ch = el->el_state.thisch; +} + +/* cv_yank(): + * Save yank/delete data for paste + */ +libedit_private void +cv_yank(EditLine *el, const wchar_t *ptr, int size) +{ + c_kill_t *k = &el->el_chared.c_kill; + + (void)memcpy(k->buf, ptr, (size_t)size * sizeof(*k->buf)); + k->last = k->buf + size; +} + + +/* c_insert(): + * Insert num characters + */ +libedit_private void +c_insert(EditLine *el, int num) +{ + wchar_t *cp; + + if (el->el_line.lastchar + num >= el->el_line.limit) { + if (!ch_enlargebufs(el, (size_t)num)) + return; /* can't go past end of buffer */ + } + + if (el->el_line.cursor < el->el_line.lastchar) { + /* if I must move chars */ + for (cp = el->el_line.lastchar; cp >= el->el_line.cursor; cp--) + cp[num] = *cp; + } + el->el_line.lastchar += num; +} + + +/* c_delafter(): + * Delete num characters after the cursor + */ +libedit_private void +c_delafter(EditLine *el, int num) +{ + + if (el->el_line.cursor + num > el->el_line.lastchar) + num = (int)(el->el_line.lastchar - el->el_line.cursor); + + if (el->el_map.current != el->el_map.emacs) { + cv_undo(el); + cv_yank(el, el->el_line.cursor, num); + } + + if (num > 0) { + wchar_t *cp; + + for (cp = el->el_line.cursor; cp <= el->el_line.lastchar; cp++) + *cp = cp[num]; + + el->el_line.lastchar -= num; + } +} + + +/* c_delafter1(): + * Delete the character after the cursor, do not yank + */ +libedit_private void +c_delafter1(EditLine *el) +{ + wchar_t *cp; + + for (cp = el->el_line.cursor; cp <= el->el_line.lastchar; cp++) + *cp = cp[1]; + + el->el_line.lastchar--; +} + + +/* c_delbefore(): + * Delete num characters before the cursor + */ +libedit_private void +c_delbefore(EditLine *el, int num) +{ + + if (el->el_line.cursor - num < el->el_line.buffer) + num = (int)(el->el_line.cursor - el->el_line.buffer); + + if (el->el_map.current != el->el_map.emacs) { + cv_undo(el); + cv_yank(el, el->el_line.cursor - num, num); + } + + if (num > 0) { + wchar_t *cp; + + for (cp = el->el_line.cursor - num; + &cp[num] <= el->el_line.lastchar; + cp++) + *cp = cp[num]; + + el->el_line.lastchar -= num; + } +} + + +/* c_delbefore1(): + * Delete the character before the cursor, do not yank + */ +libedit_private void +c_delbefore1(EditLine *el) +{ + wchar_t *cp; + + for (cp = el->el_line.cursor - 1; cp <= el->el_line.lastchar; cp++) + *cp = cp[1]; + + el->el_line.lastchar--; +} + + +/* ce__isword(): + * Return if p is part of a word according to emacs + */ +libedit_private int +ce__isword(wint_t p) +{ + return iswalnum(p) || wcschr(L"*?_-.[]~=", p) != NULL; +} + + +/* cv__isword(): + * Return if p is part of a word according to vi + */ +libedit_private int +cv__isword(wint_t p) +{ + if (iswalnum(p) || p == L'_') + return 1; + if (iswgraph(p)) + return 2; + return 0; +} + + +/* cv__isWord(): + * Return if p is part of a big word according to vi + */ +libedit_private int +cv__isWord(wint_t p) +{ + return !iswspace(p); +} + + +/* c__prev_word(): + * Find the previous word + */ +libedit_private wchar_t * +c__prev_word(wchar_t *p, wchar_t *low, int n, int (*wtest)(wint_t)) +{ + p--; + + while (n--) { + while ((p >= low) && !(*wtest)(*p)) + p--; + while ((p >= low) && (*wtest)(*p)) + p--; + } + + /* cp now points to one character before the word */ + p++; + if (p < low) + p = low; + /* cp now points where we want it */ + return p; +} + + +/* c__next_word(): + * Find the next word + */ +libedit_private wchar_t * +c__next_word(wchar_t *p, wchar_t *high, int n, int (*wtest)(wint_t)) +{ + while (n--) { + while ((p < high) && !(*wtest)(*p)) + p++; + while ((p < high) && (*wtest)(*p)) + p++; + } + if (p > high) + p = high; + /* p now points where we want it */ + return p; +} + +/* cv_next_word(): + * Find the next word vi style + */ +libedit_private wchar_t * +cv_next_word(EditLine *el, wchar_t *p, wchar_t *high, int n, + int (*wtest)(wint_t)) +{ + int test; + + while (n--) { + test = (*wtest)(*p); + while ((p < high) && (*wtest)(*p) == test) + p++; + /* + * vi historically deletes with cw only the word preserving the + * trailing whitespace! This is not what 'w' does.. + */ + if (n || el->el_chared.c_vcmd.action != (DELETE|INSERT)) + while ((p < high) && iswspace(*p)) + p++; + } + + /* p now points where we want it */ + if (p > high) + return high; + else + return p; +} + + +/* cv_prev_word(): + * Find the previous word vi style + */ +libedit_private wchar_t * +cv_prev_word(wchar_t *p, wchar_t *low, int n, int (*wtest)(wint_t)) +{ + int test; + + p--; + while (n--) { + while ((p > low) && iswspace(*p)) + p--; + test = (*wtest)(*p); + while ((p >= low) && (*wtest)(*p) == test) + p--; + } + p++; + + /* p now points where we want it */ + if (p < low) + return low; + else + return p; +} + + +/* cv_delfini(): + * Finish vi delete action + */ +libedit_private void +cv_delfini(EditLine *el) +{ + int size; + int action = el->el_chared.c_vcmd.action; + + if (action & INSERT) + el->el_map.current = el->el_map.key; + + if (el->el_chared.c_vcmd.pos == 0) + /* sanity */ + return; + + size = (int)(el->el_line.cursor - el->el_chared.c_vcmd.pos); + if (size == 0) + size = 1; + el->el_line.cursor = el->el_chared.c_vcmd.pos; + if (action & YANK) { + if (size > 0) + cv_yank(el, el->el_line.cursor, size); + else + cv_yank(el, el->el_line.cursor + size, -size); + } else { + if (size > 0) { + c_delafter(el, size); + re_refresh_cursor(el); + } else { + c_delbefore(el, -size); + el->el_line.cursor += size; + } + } + el->el_chared.c_vcmd.action = NOP; +} + + +/* cv__endword(): + * Go to the end of this word according to vi + */ +libedit_private wchar_t * +cv__endword(wchar_t *p, wchar_t *high, int n, int (*wtest)(wint_t)) +{ + int test; + + p++; + + while (n--) { + while ((p < high) && iswspace(*p)) + p++; + + test = (*wtest)(*p); + while ((p < high) && (*wtest)(*p) == test) + p++; + } + p--; + return p; +} + +/* ch_init(): + * Initialize the character editor + */ +libedit_private int +ch_init(EditLine *el) +{ + el->el_line.buffer = el_calloc(EL_BUFSIZ, + sizeof(*el->el_line.buffer)); + if (el->el_line.buffer == NULL) + return -1; + + el->el_line.cursor = el->el_line.buffer; + el->el_line.lastchar = el->el_line.buffer; + el->el_line.limit = &el->el_line.buffer[EL_BUFSIZ - EL_LEAVE]; + + el->el_chared.c_undo.buf = el_calloc(EL_BUFSIZ, + sizeof(*el->el_chared.c_undo.buf)); + if (el->el_chared.c_undo.buf == NULL) + return -1; + el->el_chared.c_undo.len = -1; + el->el_chared.c_undo.cursor = 0; + el->el_chared.c_redo.buf = el_calloc(EL_BUFSIZ, + sizeof(*el->el_chared.c_redo.buf)); + if (el->el_chared.c_redo.buf == NULL) + return -1; + el->el_chared.c_redo.pos = el->el_chared.c_redo.buf; + el->el_chared.c_redo.lim = el->el_chared.c_redo.buf + EL_BUFSIZ; + el->el_chared.c_redo.cmd = ED_UNASSIGNED; + + el->el_chared.c_vcmd.action = NOP; + el->el_chared.c_vcmd.pos = el->el_line.buffer; + + el->el_chared.c_kill.buf = el_calloc(EL_BUFSIZ, + sizeof(*el->el_chared.c_kill.buf)); + if (el->el_chared.c_kill.buf == NULL) + return -1; + el->el_chared.c_kill.mark = el->el_line.buffer; + el->el_chared.c_kill.last = el->el_chared.c_kill.buf; + el->el_chared.c_resizefun = NULL; + el->el_chared.c_resizearg = NULL; + el->el_chared.c_aliasfun = NULL; + el->el_chared.c_aliasarg = NULL; + + el->el_map.current = el->el_map.key; + + el->el_state.inputmode = MODE_INSERT; /* XXX: save a default */ + el->el_state.doingarg = 0; + el->el_state.metanext = 0; + el->el_state.argument = 1; + el->el_state.lastcmd = ED_UNASSIGNED; + + return 0; +} + +/* ch_reset(): + * Reset the character editor + */ +libedit_private void +ch_reset(EditLine *el) +{ + el->el_line.cursor = el->el_line.buffer; + el->el_line.lastchar = el->el_line.buffer; + + el->el_chared.c_undo.len = -1; + el->el_chared.c_undo.cursor = 0; + + el->el_chared.c_vcmd.action = NOP; + el->el_chared.c_vcmd.pos = el->el_line.buffer; + + el->el_chared.c_kill.mark = el->el_line.buffer; + + el->el_map.current = el->el_map.key; + + el->el_state.inputmode = MODE_INSERT; /* XXX: save a default */ + el->el_state.doingarg = 0; + el->el_state.metanext = 0; + el->el_state.argument = 1; + el->el_state.lastcmd = ED_UNASSIGNED; + + el->el_history.eventno = 0; +} + +/* ch_enlargebufs(): + * Enlarge line buffer to be able to hold twice as much characters. + * Returns 1 if successful, 0 if not. + */ +libedit_private int +ch_enlargebufs(EditLine *el, size_t addlen) +{ + size_t sz, newsz; + wchar_t *newbuffer, *oldbuf, *oldkbuf; + + sz = (size_t)(el->el_line.limit - el->el_line.buffer + EL_LEAVE); + newsz = sz * 2; + /* + * If newly required length is longer than current buffer, we need + * to make the buffer big enough to hold both old and new stuff. + */ + if (addlen > sz) { + while(newsz - sz < addlen) + newsz *= 2; + } + + /* + * Reallocate line buffer. + */ + newbuffer = el_realloc(el->el_line.buffer, newsz * sizeof(*newbuffer)); + if (!newbuffer) + return 0; + + /* zero the newly added memory, leave old data in */ + (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); + + oldbuf = el->el_line.buffer; + + el->el_line.buffer = newbuffer; + el->el_line.cursor = newbuffer + (el->el_line.cursor - oldbuf); + el->el_line.lastchar = newbuffer + (el->el_line.lastchar - oldbuf); + /* don't set new size until all buffers are enlarged */ + el->el_line.limit = &newbuffer[sz - EL_LEAVE]; + + /* + * Reallocate kill buffer. + */ + newbuffer = el_realloc(el->el_chared.c_kill.buf, newsz * + sizeof(*newbuffer)); + if (!newbuffer) + return 0; + + /* zero the newly added memory, leave old data in */ + (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); + + oldkbuf = el->el_chared.c_kill.buf; + + el->el_chared.c_kill.buf = newbuffer; + el->el_chared.c_kill.last = newbuffer + + (el->el_chared.c_kill.last - oldkbuf); + el->el_chared.c_kill.mark = el->el_line.buffer + + (el->el_chared.c_kill.mark - oldbuf); + + /* + * Reallocate undo buffer. + */ + newbuffer = el_realloc(el->el_chared.c_undo.buf, + newsz * sizeof(*newbuffer)); + if (!newbuffer) + return 0; + + /* zero the newly added memory, leave old data in */ + (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); + el->el_chared.c_undo.buf = newbuffer; + + newbuffer = el_realloc(el->el_chared.c_redo.buf, + newsz * sizeof(*newbuffer)); + if (!newbuffer) + return 0; + el->el_chared.c_redo.pos = newbuffer + + (el->el_chared.c_redo.pos - el->el_chared.c_redo.buf); + el->el_chared.c_redo.lim = newbuffer + + (el->el_chared.c_redo.lim - el->el_chared.c_redo.buf); + el->el_chared.c_redo.buf = newbuffer; + + if (!hist_enlargebuf(el, sz, newsz)) + return 0; + + /* Safe to set enlarged buffer size */ + el->el_line.limit = &el->el_line.buffer[newsz - EL_LEAVE]; + if (el->el_chared.c_resizefun) + (*el->el_chared.c_resizefun)(el, el->el_chared.c_resizearg); + return 1; +} + +/* ch_end(): + * Free the data structures used by the editor + */ +libedit_private void +ch_end(EditLine *el) +{ + el_free(el->el_line.buffer); + el->el_line.buffer = NULL; + el->el_line.limit = NULL; + el_free(el->el_chared.c_undo.buf); + el->el_chared.c_undo.buf = NULL; + el_free(el->el_chared.c_redo.buf); + el->el_chared.c_redo.buf = NULL; + el->el_chared.c_redo.pos = NULL; + el->el_chared.c_redo.lim = NULL; + el->el_chared.c_redo.cmd = ED_UNASSIGNED; + el_free(el->el_chared.c_kill.buf); + el->el_chared.c_kill.buf = NULL; + ch_reset(el); +} + + +/* el_insertstr(): + * Insert string at cursor + */ +int +el_winsertstr(EditLine *el, const wchar_t *s) +{ + size_t len; + + if (s == NULL || (len = wcslen(s)) == 0) + return -1; + if (el->el_line.lastchar + len >= el->el_line.limit) { + if (!ch_enlargebufs(el, len)) + return -1; + } + + c_insert(el, (int)len); + while (*s) + *el->el_line.cursor++ = *s++; + return 0; +} + + +/* el_deletestr(): + * Delete num characters before the cursor + */ +void +el_deletestr(EditLine *el, int n) +{ + if (n <= 0) + return; + + if (el->el_line.cursor < &el->el_line.buffer[n]) + return; + + c_delbefore(el, n); /* delete before dot */ + el->el_line.cursor -= n; + if (el->el_line.cursor < el->el_line.buffer) + el->el_line.cursor = el->el_line.buffer; +} + +/* el_cursor(): + * Move the cursor to the left or the right of the current position + */ +int +el_cursor(EditLine *el, int n) +{ + if (n == 0) + goto out; + + el->el_line.cursor += n; + + if (el->el_line.cursor < el->el_line.buffer) + el->el_line.cursor = el->el_line.buffer; + if (el->el_line.cursor > el->el_line.lastchar) + el->el_line.cursor = el->el_line.lastchar; +out: + return (int)(el->el_line.cursor - el->el_line.buffer); +} + +/* c_gets(): + * Get a string + */ +libedit_private int +c_gets(EditLine *el, wchar_t *buf, const wchar_t *prompt) +{ + ssize_t len; + wchar_t *cp = el->el_line.buffer, ch; + + if (prompt) { + len = (ssize_t)wcslen(prompt); + (void)memcpy(cp, prompt, (size_t)len * sizeof(*cp)); + cp += len; + } + len = 0; + + for (;;) { + el->el_line.cursor = cp; + *cp = ' '; + el->el_line.lastchar = cp + 1; + re_refresh(el); + + if (el_wgetc(el, &ch) != 1) { + ed_end_of_file(el, 0); + len = -1; + break; + } + + switch (ch) { + + case L'\b': /* Delete and backspace */ + case 0177: + if (len == 0) { + len = -1; + break; + } + len--; + cp--; + continue; + + case 0033: /* ESC */ + case L'\r': /* Newline */ + case L'\n': + buf[len] = ch; + break; + + default: + if (len >= (ssize_t)(EL_BUFSIZ - 16)) + terminal_beep(el); + else { + buf[len++] = ch; + *cp++ = ch; + } + continue; + } + break; + } + + el->el_line.buffer[0] = '\0'; + el->el_line.lastchar = el->el_line.buffer; + el->el_line.cursor = el->el_line.buffer; + return (int)len; +} + + +/* c_hpos(): + * Return the current horizontal position of the cursor + */ +libedit_private int +c_hpos(EditLine *el) +{ + wchar_t *ptr; + + /* + * Find how many characters till the beginning of this line. + */ + if (el->el_line.cursor == el->el_line.buffer) + return 0; + else { + for (ptr = el->el_line.cursor - 1; + ptr >= el->el_line.buffer && *ptr != '\n'; + ptr--) + continue; + return (int)(el->el_line.cursor - ptr - 1); + } +} + +libedit_private int +ch_resizefun(EditLine *el, el_zfunc_t f, void *a) +{ + el->el_chared.c_resizefun = f; + el->el_chared.c_resizearg = a; + return 0; +} + +libedit_private int +ch_aliasfun(EditLine *el, el_afunc_t f, void *a) +{ + el->el_chared.c_aliasfun = f; + el->el_chared.c_aliasarg = a; + return 0; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/chared.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/chared.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/chared.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/chared.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,155 @@ +/* $NetBSD: chared.h,v 1.30 2016/05/22 19:44:26 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)chared.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.chared.h: Character editor interface + */ +#ifndef _h_el_chared +#define _h_el_chared + +/* + * This is an issue of basic "vi" look-and-feel. Defining VI_MOVE works + * like real vi: i.e. the transition from command<->insert modes moves + * the cursor. + * + * On the other hand we really don't want to move the cursor, because + * all the editing commands don't include the character under the cursor. + * Probably the best fix is to make all the editing commands aware of + * this fact. + */ +#define VI_MOVE + +/* + * Undo information for vi - no undo in emacs (yet) + */ +typedef struct c_undo_t { + ssize_t len; /* length of saved line */ + int cursor; /* position of saved cursor */ + wchar_t *buf; /* full saved text */ +} c_undo_t; + +/* redo for vi */ +typedef struct c_redo_t { + wchar_t *buf; /* redo insert key sequence */ + wchar_t *pos; + wchar_t *lim; + el_action_t cmd; /* command to redo */ + wchar_t ch; /* char that invoked it */ + int count; + int action; /* from cv_action() */ +} c_redo_t; + +/* + * Current action information for vi + */ +typedef struct c_vcmd_t { + int action; + wchar_t *pos; +} c_vcmd_t; + +/* + * Kill buffer for emacs + */ +typedef struct c_kill_t { + wchar_t *buf; + wchar_t *last; + wchar_t *mark; +} c_kill_t; + +typedef void (*el_zfunc_t)(EditLine *, void *); +typedef const char *(*el_afunc_t)(void *, const char *); + +/* + * Note that we use both data structures because the user can bind + * commands from both editors! + */ +typedef struct el_chared_t { + c_undo_t c_undo; + c_kill_t c_kill; + c_redo_t c_redo; + c_vcmd_t c_vcmd; + el_zfunc_t c_resizefun; + el_afunc_t c_aliasfun; + void * c_resizearg; + void * c_aliasarg; +} el_chared_t; + + +#define STRQQ "\"\"" + +#define isglob(a) (strchr("*[]?", (a)) != NULL) + +#define NOP 0x00 +#define DELETE 0x01 +#define INSERT 0x02 +#define YANK 0x04 + +#define CHAR_FWD (+1) +#define CHAR_BACK (-1) + +#define MODE_INSERT 0 +#define MODE_REPLACE 1 +#define MODE_REPLACE_1 2 + + +libedit_private int cv__isword(wint_t); +libedit_private int cv__isWord(wint_t); +libedit_private void cv_delfini(EditLine *); +libedit_private wchar_t *cv__endword(wchar_t *, wchar_t *, int, int (*)(wint_t)); +libedit_private int ce__isword(wint_t); +libedit_private void cv_undo(EditLine *); +libedit_private void cv_yank(EditLine *, const wchar_t *, int); +libedit_private wchar_t *cv_next_word(EditLine*, wchar_t *, wchar_t *, int, + int (*)(wint_t)); +libedit_private wchar_t *cv_prev_word(wchar_t *, wchar_t *, int, int (*)(wint_t)); +libedit_private wchar_t *c__next_word(wchar_t *, wchar_t *, int, int (*)(wint_t)); +libedit_private wchar_t *c__prev_word(wchar_t *, wchar_t *, int, int (*)(wint_t)); +libedit_private void c_insert(EditLine *, int); +libedit_private void c_delbefore(EditLine *, int); +libedit_private void c_delbefore1(EditLine *); +libedit_private void c_delafter(EditLine *, int); +libedit_private void c_delafter1(EditLine *); +libedit_private int c_gets(EditLine *, wchar_t *, const wchar_t *); +libedit_private int c_hpos(EditLine *); + +libedit_private int ch_init(EditLine *); +libedit_private void ch_reset(EditLine *); +libedit_private int ch_resizefun(EditLine *, el_zfunc_t, void *); +libedit_private int ch_aliasfun(EditLine *, el_afunc_t, void *); +libedit_private int ch_enlargebufs(EditLine *, size_t); +libedit_private void ch_end(EditLine *); + +#endif /* _h_el_chared */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/chartype.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/chartype.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/chartype.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/chartype.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,339 @@ +/* $NetBSD: chartype.c,v 1.35 2019/07/23 10:18:52 christos Exp $ */ + +/*- + * Copyright (c) 2009 The NetBSD Foundation, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * chartype.c: character classification and meta information + */ +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +__RCSID("$NetBSD: chartype.c,v 1.35 2019/07/23 10:18:52 christos Exp $"); +#endif /* not lint && not SCCSID */ + +#include +#include +#include +#include + +#include "el.h" + +#define CT_BUFSIZ ((size_t)1024) + +static int ct_conv_cbuff_resize(ct_buffer_t *, size_t); +static int ct_conv_wbuff_resize(ct_buffer_t *, size_t); + +static int +ct_conv_cbuff_resize(ct_buffer_t *conv, size_t csize) +{ + void *p; + + if (csize <= conv->csize) + return 0; + + conv->csize = csize; + + p = el_realloc(conv->cbuff, conv->csize * sizeof(*conv->cbuff)); + if (p == NULL) { + conv->csize = 0; + el_free(conv->cbuff); + conv->cbuff = NULL; + return -1; + } + conv->cbuff = p; + return 0; +} + +static int +ct_conv_wbuff_resize(ct_buffer_t *conv, size_t wsize) +{ + void *p; + + if (wsize <= conv->wsize) + return 0; + + conv->wsize = wsize; + + p = el_realloc(conv->wbuff, conv->wsize * sizeof(*conv->wbuff)); + if (p == NULL) { + conv->wsize = 0; + el_free(conv->wbuff); + conv->wbuff = NULL; + return -1; + } + conv->wbuff = p; + return 0; +} + + +char * +ct_encode_string(const wchar_t *s, ct_buffer_t *conv) +{ + char *dst; + ssize_t used; + + if (!s) + return NULL; + + dst = conv->cbuff; + for (;;) { + used = (ssize_t)(dst - conv->cbuff); + if ((conv->csize - (size_t)used) < 5) { + if (ct_conv_cbuff_resize(conv, + conv->csize + CT_BUFSIZ) == -1) + return NULL; + dst = conv->cbuff + used; + } + if (!*s) + break; + used = ct_encode_char(dst, (size_t)5, *s); + if (used == -1) /* failed to encode, need more buffer space */ + abort(); + ++s; + dst += used; + } + *dst = '\0'; + return conv->cbuff; +} + +wchar_t * +ct_decode_string(const char *s, ct_buffer_t *conv) +{ + size_t len; + + if (!s) + return NULL; + + len = mbstowcs(NULL, s, (size_t)0); + if (len == (size_t)-1) + return NULL; + + if (conv->wsize < ++len) + if (ct_conv_wbuff_resize(conv, len + CT_BUFSIZ) == -1) + return NULL; + + mbstowcs(conv->wbuff, s, conv->wsize); + return conv->wbuff; +} + + +libedit_private wchar_t ** +ct_decode_argv(int argc, const char *argv[], ct_buffer_t *conv) +{ + size_t bufspace; + int i; + wchar_t *p; + wchar_t **wargv; + ssize_t bytes; + + /* Make sure we have enough space in the conversion buffer to store all + * the argv strings. */ + for (i = 0, bufspace = 0; i < argc; ++i) + bufspace += argv[i] ? strlen(argv[i]) + 1 : 0; + if (conv->wsize < ++bufspace) + if (ct_conv_wbuff_resize(conv, bufspace + CT_BUFSIZ) == -1) + return NULL; + + wargv = el_calloc((size_t)(argc + 1), sizeof(*wargv)); + + for (i = 0, p = conv->wbuff; i < argc; ++i) { + if (!argv[i]) { /* don't pass null pointers to mbstowcs */ + wargv[i] = NULL; + continue; + } else { + wargv[i] = p; + bytes = (ssize_t)mbstowcs(p, argv[i], bufspace); + } + if (bytes == -1) { + el_free(wargv); + return NULL; + } else + bytes++; /* include '\0' in the count */ + bufspace -= (size_t)bytes; + p += bytes; + } + wargv[i] = NULL; + + return wargv; +} + + +libedit_private size_t +ct_enc_width(wchar_t c) +{ + mbstate_t mbs; + char buf[MB_LEN_MAX]; + size_t size; + memset(&mbs, 0, sizeof(mbs)); + + if ((size = wcrtomb(buf, c, &mbs)) == (size_t)-1) + return 0; + return size; +} + +libedit_private ssize_t +ct_encode_char(char *dst, size_t len, wchar_t c) +{ + ssize_t l = 0; + if (len < ct_enc_width(c)) + return -1; + l = wctomb(dst, c); + + if (l < 0) { + wctomb(NULL, L'\0'); + l = 0; + } + return l; +} + +libedit_private const wchar_t * +ct_visual_string(const wchar_t *s, ct_buffer_t *conv) +{ + wchar_t *dst; + ssize_t used; + + if (!s) + return NULL; + + if (ct_conv_wbuff_resize(conv, CT_BUFSIZ) == -1) + return NULL; + + used = 0; + dst = conv->wbuff; + while (*s) { + used = ct_visual_char(dst, + conv->wsize - (size_t)(dst - conv->wbuff), *s); + if (used != -1) { + ++s; + dst += used; + continue; + } + + /* failed to encode, need more buffer space */ + used = dst - conv->wbuff; + if (ct_conv_wbuff_resize(conv, conv->wsize + CT_BUFSIZ) == -1) + return NULL; + dst = conv->wbuff + used; + } + + if (dst >= (conv->wbuff + conv->wsize)) { /* sigh */ + used = dst - conv->wbuff; + if (ct_conv_wbuff_resize(conv, conv->wsize + CT_BUFSIZ) == -1) + return NULL; + dst = conv->wbuff + used; + } + + *dst = L'\0'; + return conv->wbuff; +} + + + +libedit_private int +ct_visual_width(wchar_t c) +{ + int t = ct_chr_class(c); + switch (t) { + case CHTYPE_ASCIICTL: + return 2; /* ^@ ^? etc. */ + case CHTYPE_TAB: + return 1; /* Hmm, this really need to be handled outside! */ + case CHTYPE_NL: + return 0; /* Should this be 1 instead? */ + case CHTYPE_PRINT: + return wcwidth(c); + case CHTYPE_NONPRINT: + if (c > 0xffff) /* prefer standard 4-byte display over 5-byte */ + return 8; /* \U+12345 */ + else + return 7; /* \U+1234 */ + default: + return 0; /* should not happen */ + } +} + + +libedit_private ssize_t +ct_visual_char(wchar_t *dst, size_t len, wchar_t c) +{ + int t = ct_chr_class(c); + switch (t) { + case CHTYPE_TAB: + case CHTYPE_NL: + case CHTYPE_ASCIICTL: + if (len < 2) + return -1; /* insufficient space */ + *dst++ = '^'; + if (c == '\177') + *dst = '?'; /* DEL -> ^? */ + else + *dst = c | 0100; /* uncontrolify it */ + return 2; + case CHTYPE_PRINT: + if (len < 1) + return -1; /* insufficient space */ + *dst = c; + return 1; + case CHTYPE_NONPRINT: + /* we only use single-width glyphs for display, + * so this is right */ + if ((ssize_t)len < ct_visual_width(c)) + return -1; /* insufficient space */ + *dst++ = '\\'; + *dst++ = 'U'; + *dst++ = '+'; +#define tohexdigit(v) "0123456789ABCDEF"[v] + if (c > 0xffff) /* prefer standard 4-byte display over 5-byte */ + *dst++ = tohexdigit(((unsigned int) c >> 16) & 0xf); + *dst++ = tohexdigit(((unsigned int) c >> 12) & 0xf); + *dst++ = tohexdigit(((unsigned int) c >> 8) & 0xf); + *dst++ = tohexdigit(((unsigned int) c >> 4) & 0xf); + *dst = tohexdigit(((unsigned int) c ) & 0xf); + return c > 0xffff ? 8 : 7; + /*FALLTHROUGH*/ + /* these two should be handled outside this function */ + default: /* we should never hit the default */ + return 0; + } +} + + + + +libedit_private int +ct_chr_class(wchar_t c) +{ + if (c == '\t') + return CHTYPE_TAB; + else if (c == '\n') + return CHTYPE_NL; + else if (c < 0x100 && iswcntrl(c)) + return CHTYPE_ASCIICTL; + else if (iswprint(c)) + return CHTYPE_PRINT; + else + return CHTYPE_NONPRINT; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/chartype.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/chartype.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/chartype.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/chartype.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,119 @@ +/* $NetBSD: chartype.h,v 1.36 2019/09/15 21:09:11 christos Exp $ */ + +/*- + * Copyright (c) 2009 The NetBSD Foundation, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _h_chartype_f +#define _h_chartype_f + +/* Ideally we should also test the value of the define to see if it + * supports non-BMP code points without requiring UTF-16, but nothing + * seems to actually advertise this properly, despite Unicode 3.1 having + * been around since 2001... */ +#if !defined(__NetBSD__) && \ + !defined(__sun) && \ + !(defined(__APPLE__) && defined(__MACH__)) && \ + !defined(__OpenBSD__) && \ + !defined(__FreeBSD__) && \ + !defined(__DragonFly__) +#ifndef __STDC_ISO_10646__ +/* In many places it is assumed that the first 127 code points are ASCII + * compatible, so ensure wchar_t indeed does ISO 10646 and not some other + * funky encoding that could break us in weird and wonderful ways. */ + #error wchar_t must store ISO 10646 characters +#endif +#endif + +/* Oh for a with char32_t and __STDC_UTF_32__ in it... + * ref: ISO/IEC DTR 19769 + */ +#if WCHAR_MAX < INT32_MAX +#warning Build environment does not support non-BMP characters +#endif + +/* + * Conversion buffer + */ +typedef struct ct_buffer_t { + char *cbuff; + size_t csize; + wchar_t *wbuff; + size_t wsize; +} ct_buffer_t; + +/* Encode a wide-character string and return the UTF-8 encoded result. */ +char *ct_encode_string(const wchar_t *, ct_buffer_t *); + +/* Decode a (multi)?byte string and return the wide-character string result. */ +wchar_t *ct_decode_string(const char *, ct_buffer_t *); + +/* Decode a (multi)?byte argv string array. + * The pointer returned must be free()d when done. */ +libedit_private wchar_t **ct_decode_argv(int, const char *[], ct_buffer_t *); + +/* Encode a character into the destination buffer, provided there is sufficient + * buffer space available. Returns the number of bytes used up (zero if the + * character cannot be encoded, -1 if there was not enough space available). */ +libedit_private ssize_t ct_encode_char(char *, size_t, wchar_t); +libedit_private size_t ct_enc_width(wchar_t); + +/* The maximum buffer size to hold the most unwieldy visual representation, + * in this case \U+nnnnn. */ +#define VISUAL_WIDTH_MAX ((size_t)8) + +/* The terminal is thought of in terms of X columns by Y lines. In the cases + * where a wide character takes up more than one column, the adjacent + * occupied column entries will contain this faux character. */ +#define MB_FILL_CHAR ((wint_t)-1) + +/* Visual width of character c, taking into account ^? , \0177 and \U+nnnnn + * style visual expansions. */ +libedit_private int ct_visual_width(wchar_t); + +/* Turn the given character into the appropriate visual format, matching + * the width given by ct_visual_width(). Returns the number of characters used + * up, or -1 if insufficient space. Buffer length is in count of wchar_t's. */ +libedit_private ssize_t ct_visual_char(wchar_t *, size_t, wchar_t); + +/* Convert the given string into visual format, using the ct_visual_char() + * function. Uses a static buffer, so not threadsafe. */ +libedit_private const wchar_t *ct_visual_string(const wchar_t *, ct_buffer_t *); + + +/* printable character, use ct_visual_width() to find out display width */ +#define CHTYPE_PRINT ( 0) +/* control character found inside the ASCII portion of the charset */ +#define CHTYPE_ASCIICTL (-1) +/* a \t */ +#define CHTYPE_TAB (-2) +/* a \n */ +#define CHTYPE_NL (-3) +/* non-printable character */ +#define CHTYPE_NONPRINT (-4) +/* classification of character c, as one of the above defines */ +libedit_private int ct_chr_class(wchar_t c); + +#endif /* _chartype_f */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/CMakeLists.txt mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/CMakeLists.txt --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,166 @@ +# See src/Makefile.am for original build dependencies. + +INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ) +INCLUDE(CheckIncludeFile) +include(CheckFunctionExists) + +CHECK_INCLUDE_FILES (sys/cdefs.h HAVE_SYS_CDEFS_H) +CHECK_INCLUDE_FILES(term.h HAVE_TERM_H) + +IF(SOLARIS) + #On Solaris, default awk is next to unusable while the xpg4 one is ok. + IF(EXISTS /usr/xpg4/bin/awk) + SET(AWK_EXECUTABLE /usr/xpg4/bin/awk) + ENDIF() +ENDIF() + +IF(NOT AWK_EXECUTABLE) + FIND_PROGRAM(AWK_EXECUTABLE NAMES gawk awk DOC "path to the awk executable") +ENDIF() +MESSAGE(STATUS "AWK_EXECUTABLE is ${AWK_EXECUTABLE}") + +MARK_AS_ADVANCED(AWK_EXECUTABLE) +SET(AWK ${AWK_EXECUTABLE}) +CONFIGURE_FILE(makelist.in ${CMAKE_CURRENT_BINARY_DIR}/makelist @ONLY) + +SET(MAKELIST ${CMAKE_CURRENT_BINARY_DIR}/makelist) + +CHECK_C_SOURCE_COMPILES(" + #include + #include + #include + int main() { + int ret = getpwnam_r(NULL, NULL, NULL, (size_t)0, NULL); + return ret; + }" + HAVE_GETPW_R_POSIX + ) + +# POSIX.1c Draft 6 +CHECK_C_SOURCE_COMPILES(" + #include + #include + #include + int main() { + struct passwd *pwd = getpwnam_r(NULL, NULL, NULL, 0); + return pwd != NULL; + }" + HAVE_GETPW_R_DRAFT +) + +CHECK_FUNCTION_EXISTS(getline HAVE_GETLINE) +# _FUNCTION_EXISTS(strlcpy HAVE_STRLCPY) in configure.cmake +# _FUNCTION_EXISTS(strlcat HAVE_STRLCAT) in configure.cmake +CHECK_FUNCTION_EXISTS(vis HAVE_VIS) +CHECK_FUNCTION_EXISTS(unvis HAVE_UNVIS) +CHECK_FUNCTION_EXISTS(__secure_getenv HAVE___SECURE_GETENV) +CHECK_FUNCTION_EXISTS(secure_getenv HAVE_SECURE_GETENV) + +FUNCTION(MAKELIST_TARGET target outfile options infiles) + STRING(REPLACE ";" " " infile_string "${infiles}") + LIST(REMOVE_ITEM infiles vi.h emacs.h common.h) # remove from DEPENDS + ADD_CUSTOM_COMMAND( + OUTPUT ${outfile} + COMMAND sh ${MAKELIST} ${options} ${infile_string} > ${outfile} + COMMENT "makelist ${options} ${infile_string} > ${outfile}" + DEPENDS ${infiles} + ) + ADD_CUSTOM_TARGET(${target} DEPENDS ${outfile}) +ENDFUNCTION() + +SET(BUILT_SOURCES vi.h emacs.h common.h fcns.h help.h func.h) +SET(AHDR vi.h emacs.h common.h) +SET(ASRC + ${CMAKE_CURRENT_SOURCE_DIR}/vi.c + ${CMAKE_CURRENT_SOURCE_DIR}/emacs.c + ${CMAKE_CURRENT_SOURCE_DIR}/common.c + ) + +MAKELIST_TARGET(libedit_vi vi.h -h ${CMAKE_CURRENT_SOURCE_DIR}/vi.c) +MAKELIST_TARGET(libedit_emacs emacs.h -h ${CMAKE_CURRENT_SOURCE_DIR}/emacs.c) +MAKELIST_TARGET(libedit_common common.h -h ${CMAKE_CURRENT_SOURCE_DIR}/common.c) +MAKELIST_TARGET(libedit_fcns fcns.h -fh "${AHDR}") +MAKELIST_TARGET(libedit_help help.h -bh "${ASRC}") +MAKELIST_TARGET(libedit_func func.h -fc "${AHDR}") + +# Add target dependencies, to compensate for the DEPENDS we removed above. +ADD_DEPENDENCIES(libedit_fcns libedit_vi libedit_emacs libedit_common) +ADD_DEPENDENCIES(libedit_func libedit_vi libedit_emacs libedit_common) + +INCLUDE_DIRECTORIES( + ${CMAKE_CURRENT_BINARY_DIR} + ${CURSES_INCLUDE_PATH} +) + +SET(LIBEDIT_SOURCES + chared.c + chartype.c + common.c + el.c + eln.c + emacs.c + filecomplete.c + hist.c + history.c + historyn.c + keymacro.c + literal.c + map.c + parse.c + prompt.c + read.c + readline.c + refresh.c + search.c + sig.c + terminal.c + tokenizer.c + tokenizern.c + tty.c + vi.c + ${BUILT_SOURCES} + ${LIBEDIT_EXTRA_SOURCES} + ) + +IF(NOT HAVE_STRLCPY) + LIST(APPEND LIBEDIT_SOURCES strlcpy.c) +ENDIF() +IF(NOT HAVE_STRLCAT) + LIST(APPEND LIBEDIT_SOURCES strlcat.c) +ENDIF() +IF(NOT HAVE_VIS) + LIST(APPEND LIBEDIT_SOURCES vis.c) +ENDIF() +IF(NOT HAVE_UNVIS) + LIST(APPEND LIBEDIT_SOURCES unvis.c) +ENDIF() +IF(FREEBSD AND HAVE_GETLINE) + ADD_DEFINITIONS(-D_WITH_GETLINE=1) +ENDIF() + +ADD_LIBRARY(edit STATIC ${LIBEDIT_SOURCES}) +TARGET_LINK_LIBRARIES(edit ${CURSES_LIBRARY}) +ADD_DEPENDENCIES(edit libedit_vi libedit_emacs libedit_common libedit_fcns libedit_help libedit_func) + + +# clang may complain: +# converts between pointers to integer types with different sign +MY_CHECK_C_COMPILER_FLAG("-Wpointer-sign" HAVE_POINTER_SIGN) +IF(HAVE_POINTER_SIGN) + TARGET_COMPILE_OPTIONS(edit PRIVATE "-Wno-pointer-sign") +ENDIF() + +MY_CHECK_C_COMPILER_FLAG("-Wstringop-overflow" HAVE_STRINGOP_OVERFLOW) +IF(HAVE_STRINGOP_OVERFLOW) + TARGET_COMPILE_OPTIONS(edit PRIVATE "-Wno-stringop-overflow") +ENDIF() + +MY_CHECK_C_COMPILER_FLAG("-Wunused-result" HAVE_UNUSED_RESULT) +IF(HAVE_UNUSED_RESULT) + TARGET_COMPILE_OPTIONS(edit PRIVATE "-Wno-unused-result") +ENDIF() + +MY_CHECK_C_COMPILER_FLAG("-Wstringop-truncation" HAVE_STRINGOP_TRUNCATION) +IF(HAVE_STRINGOP_TRUNCATION) + TARGET_COMPILE_OPTIONS(edit PRIVATE "-Wno-stringop-truncation") +ENDIF() diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/common.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/common.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/common.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/common.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,837 @@ +/* $NetBSD: common.c,v 1.48 2018/02/26 17:36:14 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)common.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: common.c,v 1.48 2018/02/26 17:36:14 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * common.c: Common Editor functions + */ +#include +#include + +#include "el.h" +#include "common.h" +#include "fcns.h" +#include "parse.h" +#include "vi.h" + +/* ed_end_of_file(): + * Indicate end of file + * [^D] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_end_of_file(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + re_goto_bottom(el); + *el->el_line.lastchar = '\0'; + return CC_EOF; +} + + +/* ed_insert(): + * Add character to the line + * Insert a character [bound to all insert keys] + */ +libedit_private el_action_t +ed_insert(EditLine *el, wint_t c) +{ + int count = el->el_state.argument; + + if (c == '\0') + return CC_ERROR; + + if (el->el_line.lastchar + el->el_state.argument >= + el->el_line.limit) { + /* end of buffer space, try to allocate more */ + if (!ch_enlargebufs(el, (size_t) count)) + return CC_ERROR; /* error allocating more */ + } + + if (count == 1) { + if (el->el_state.inputmode == MODE_INSERT + || el->el_line.cursor >= el->el_line.lastchar) + c_insert(el, 1); + + *el->el_line.cursor++ = c; + re_fastaddc(el); /* fast refresh for one char. */ + } else { + if (el->el_state.inputmode != MODE_REPLACE_1) + c_insert(el, el->el_state.argument); + + while (count-- && el->el_line.cursor < el->el_line.lastchar) + *el->el_line.cursor++ = c; + re_refresh(el); + } + + if (el->el_state.inputmode == MODE_REPLACE_1) + return vi_command_mode(el, 0); + + return CC_NORM; +} + + +/* ed_delete_prev_word(): + * Delete from beginning of current word to cursor + * [M-^?] [^W] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_delete_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *cp, *p, *kp; + + if (el->el_line.cursor == el->el_line.buffer) + return CC_ERROR; + + cp = c__prev_word(el->el_line.cursor, el->el_line.buffer, + el->el_state.argument, ce__isword); + + for (p = cp, kp = el->el_chared.c_kill.buf; p < el->el_line.cursor; p++) + *kp++ = *p; + el->el_chared.c_kill.last = kp; + + c_delbefore(el, (int)(el->el_line.cursor - cp));/* delete before dot */ + el->el_line.cursor = cp; + if (el->el_line.cursor < el->el_line.buffer) + el->el_line.cursor = el->el_line.buffer; /* bounds check */ + return CC_REFRESH; +} + + +/* ed_delete_next_char(): + * Delete character under cursor + * [^D] [x] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_delete_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ +#ifdef DEBUG_EDIT +#define EL el->el_line + (void) fprintf(el->el_errfile, + "\nD(b: %p(%ls) c: %p(%ls) last: %p(%ls) limit: %p(%ls)\n", + EL.buffer, EL.buffer, EL.cursor, EL.cursor, EL.lastchar, + EL.lastchar, EL.limit, EL.limit); +#endif + if (el->el_line.cursor == el->el_line.lastchar) { + /* if I'm at the end */ + if (el->el_map.type == MAP_VI) { + if (el->el_line.cursor == el->el_line.buffer) { + /* if I'm also at the beginning */ +#ifdef KSHVI + return CC_ERROR; +#else + /* then do an EOF */ + terminal_writec(el, c); + return CC_EOF; +#endif + } else { +#ifdef KSHVI + el->el_line.cursor--; +#else + return CC_ERROR; +#endif + } + } else + return CC_ERROR; + } + c_delafter(el, el->el_state.argument); /* delete after dot */ + if (el->el_map.type == MAP_VI && + el->el_line.cursor >= el->el_line.lastchar && + el->el_line.cursor > el->el_line.buffer) + /* bounds check */ + el->el_line.cursor = el->el_line.lastchar - 1; + return CC_REFRESH; +} + + +/* ed_kill_line(): + * Cut to the end of line + * [^K] [^K] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_kill_line(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *kp, *cp; + + cp = el->el_line.cursor; + kp = el->el_chared.c_kill.buf; + while (cp < el->el_line.lastchar) + *kp++ = *cp++; /* copy it */ + el->el_chared.c_kill.last = kp; + /* zap! -- delete to end */ + el->el_line.lastchar = el->el_line.cursor; + return CC_REFRESH; +} + + +/* ed_move_to_end(): + * Move cursor to the end of line + * [^E] [^E] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_move_to_end(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_line.cursor = el->el_line.lastchar; + if (el->el_map.type == MAP_VI) { + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } +#ifdef VI_MOVE + el->el_line.cursor--; +#endif + } + return CC_CURSOR; +} + + +/* ed_move_to_beg(): + * Move cursor to the beginning of line + * [^A] [^A] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_move_to_beg(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_line.cursor = el->el_line.buffer; + + if (el->el_map.type == MAP_VI) { + /* We want FIRST non space character */ + while (iswspace(*el->el_line.cursor)) + el->el_line.cursor++; + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } + } + return CC_CURSOR; +} + + +/* ed_transpose_chars(): + * Exchange the character to the left of the cursor with the one under it + * [^T] [^T] + */ +libedit_private el_action_t +ed_transpose_chars(EditLine *el, wint_t c) +{ + + if (el->el_line.cursor < el->el_line.lastchar) { + if (el->el_line.lastchar <= &el->el_line.buffer[1]) + return CC_ERROR; + else + el->el_line.cursor++; + } + if (el->el_line.cursor > &el->el_line.buffer[1]) { + /* must have at least two chars entered */ + c = el->el_line.cursor[-2]; + el->el_line.cursor[-2] = el->el_line.cursor[-1]; + el->el_line.cursor[-1] = c; + return CC_REFRESH; + } else + return CC_ERROR; +} + + +/* ed_next_char(): + * Move to the right one character + * [^F] [^F] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *lim = el->el_line.lastchar; + + if (el->el_line.cursor >= lim || + (el->el_line.cursor == lim - 1 && + el->el_map.type == MAP_VI && + el->el_chared.c_vcmd.action == NOP)) + return CC_ERROR; + + el->el_line.cursor += el->el_state.argument; + if (el->el_line.cursor > lim) + el->el_line.cursor = lim; + + if (el->el_map.type == MAP_VI) + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + + +/* ed_prev_word(): + * Move to the beginning of the current word + * [M-b] [b] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor == el->el_line.buffer) + return CC_ERROR; + + el->el_line.cursor = c__prev_word(el->el_line.cursor, + el->el_line.buffer, + el->el_state.argument, + ce__isword); + + if (el->el_map.type == MAP_VI) + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + + +/* ed_prev_char(): + * Move to the left one character + * [^B] [^B] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor > el->el_line.buffer) { + el->el_line.cursor -= el->el_state.argument; + if (el->el_line.cursor < el->el_line.buffer) + el->el_line.cursor = el->el_line.buffer; + + if (el->el_map.type == MAP_VI) + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; + } else + return CC_ERROR; +} + + +/* ed_quoted_insert(): + * Add the next character typed verbatim + * [^V] [^V] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_quoted_insert(EditLine *el, wint_t c __attribute__((__unused__))) +{ + int num; + wchar_t ch; + + tty_quotemode(el); + num = el_wgetc(el, &ch); + tty_noquotemode(el); + if (num == 1) + return ed_insert(el, ch); + else + return ed_end_of_file(el, 0); +} + + +/* ed_digit(): + * Adds to argument or enters a digit + */ +libedit_private el_action_t +ed_digit(EditLine *el, wint_t c) +{ + + if (!iswdigit(c)) + return CC_ERROR; + + if (el->el_state.doingarg) { + /* if doing an arg, add this in... */ + if (el->el_state.lastcmd == EM_UNIVERSAL_ARGUMENT) + el->el_state.argument = c - '0'; + else { + if (el->el_state.argument > 1000000) + return CC_ERROR; + el->el_state.argument = + (el->el_state.argument * 10) + (c - '0'); + } + return CC_ARGHACK; + } + + return ed_insert(el, c); +} + + +/* ed_argument_digit(): + * Digit that starts argument + * For ESC-n + */ +libedit_private el_action_t +ed_argument_digit(EditLine *el, wint_t c) +{ + + if (!iswdigit(c)) + return CC_ERROR; + + if (el->el_state.doingarg) { + if (el->el_state.argument > 1000000) + return CC_ERROR; + el->el_state.argument = (el->el_state.argument * 10) + + (c - '0'); + } else { /* else starting an argument */ + el->el_state.argument = c - '0'; + el->el_state.doingarg = 1; + } + return CC_ARGHACK; +} + + +/* ed_unassigned(): + * Indicates unbound character + * Bound to keys that are not assigned + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_unassigned(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) +{ + + return CC_ERROR; +} + + +/* ed_ignore(): + * Input characters that have no effect + * [^C ^O ^Q ^S ^Z ^\ ^]] [^C ^O ^Q ^S ^\] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_ignore(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) +{ + + return CC_NORM; +} + + +/* ed_newline(): + * Execute command + * [^J] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_newline(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + re_goto_bottom(el); + *el->el_line.lastchar++ = '\n'; + *el->el_line.lastchar = '\0'; + return CC_NEWLINE; +} + + +/* ed_delete_prev_char(): + * Delete the character to the left of the cursor + * [^?] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor <= el->el_line.buffer) + return CC_ERROR; + + c_delbefore(el, el->el_state.argument); + el->el_line.cursor -= el->el_state.argument; + if (el->el_line.cursor < el->el_line.buffer) + el->el_line.cursor = el->el_line.buffer; + return CC_REFRESH; +} + + +/* ed_clear_screen(): + * Clear screen leaving current line at the top + * [^L] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_clear_screen(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + terminal_clear_screen(el); /* clear the whole real screen */ + re_clear_display(el); /* reset everything */ + return CC_REFRESH; +} + + +/* ed_redisplay(): + * Redisplay everything + * ^R + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_redisplay(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) +{ + + return CC_REDISPLAY; +} + + +/* ed_start_over(): + * Erase current line and start from scratch + * [^G] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_start_over(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + ch_reset(el); + return CC_REFRESH; +} + + +/* ed_sequence_lead_in(): + * First character in a bound sequence + * Placeholder for external keys + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) +{ + + return CC_NORM; +} + + +/* ed_prev_history(): + * Move to the previous history line + * [^P] [k] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) +{ + char beep = 0; + int sv_event = el->el_history.eventno; + + el->el_chared.c_undo.len = -1; + *el->el_line.lastchar = '\0'; /* just in case */ + + if (el->el_history.eventno == 0) { /* save the current buffer + * away */ + (void) wcsncpy(el->el_history.buf, el->el_line.buffer, + EL_BUFSIZ); + el->el_history.last = el->el_history.buf + + (el->el_line.lastchar - el->el_line.buffer); + } + el->el_history.eventno += el->el_state.argument; + + if (hist_get(el) == CC_ERROR) { + if (el->el_map.type == MAP_VI) { + el->el_history.eventno = sv_event; + } + beep = 1; + /* el->el_history.eventno was fixed by first call */ + (void) hist_get(el); + } + if (beep) + return CC_REFRESH_BEEP; + return CC_REFRESH; +} + + +/* ed_next_history(): + * Move to the next history line + * [^N] [j] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_next_history(EditLine *el, wint_t c __attribute__((__unused__))) +{ + el_action_t beep = CC_REFRESH, rval; + + el->el_chared.c_undo.len = -1; + *el->el_line.lastchar = '\0'; /* just in case */ + + el->el_history.eventno -= el->el_state.argument; + + if (el->el_history.eventno < 0) { + el->el_history.eventno = 0; + beep = CC_REFRESH_BEEP; + } + rval = hist_get(el); + if (rval == CC_REFRESH) + return beep; + return rval; + +} + + +/* ed_search_prev_history(): + * Search previous in history for a line matching the current + * next search history [M-P] [K] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_search_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) +{ + const wchar_t *hp; + int h; + int found = 0; + + el->el_chared.c_vcmd.action = NOP; + el->el_chared.c_undo.len = -1; + *el->el_line.lastchar = '\0'; /* just in case */ + if (el->el_history.eventno < 0) { +#ifdef DEBUG_EDIT + (void) fprintf(el->el_errfile, + "e_prev_search_hist(): eventno < 0;\n"); +#endif + el->el_history.eventno = 0; + return CC_ERROR; + } + if (el->el_history.eventno == 0) { + (void) wcsncpy(el->el_history.buf, el->el_line.buffer, + EL_BUFSIZ); + el->el_history.last = el->el_history.buf + + (el->el_line.lastchar - el->el_line.buffer); + } + if (el->el_history.ref == NULL) + return CC_ERROR; + + hp = HIST_FIRST(el); + if (hp == NULL) + return CC_ERROR; + + c_setpat(el); /* Set search pattern !! */ + + for (h = 1; h <= el->el_history.eventno; h++) + hp = HIST_NEXT(el); + + while (hp != NULL) { +#ifdef SDEBUG + (void) fprintf(el->el_errfile, "Comparing with \"%s\"\n", hp); +#endif + if ((wcsncmp(hp, el->el_line.buffer, (size_t) + (el->el_line.lastchar - el->el_line.buffer)) || + hp[el->el_line.lastchar - el->el_line.buffer]) && + c_hmatch(el, hp)) { + found = 1; + break; + } + h++; + hp = HIST_NEXT(el); + } + + if (!found) { +#ifdef SDEBUG + (void) fprintf(el->el_errfile, "not found\n"); +#endif + return CC_ERROR; + } + el->el_history.eventno = h; + + return hist_get(el); +} + + +/* ed_search_next_history(): + * Search next in history for a line matching the current + * [M-N] [J] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_search_next_history(EditLine *el, wint_t c __attribute__((__unused__))) +{ + const wchar_t *hp; + int h; + int found = 0; + + el->el_chared.c_vcmd.action = NOP; + el->el_chared.c_undo.len = -1; + *el->el_line.lastchar = '\0'; /* just in case */ + + if (el->el_history.eventno == 0) + return CC_ERROR; + + if (el->el_history.ref == NULL) + return CC_ERROR; + + hp = HIST_FIRST(el); + if (hp == NULL) + return CC_ERROR; + + c_setpat(el); /* Set search pattern !! */ + + for (h = 1; h < el->el_history.eventno && hp; h++) { +#ifdef SDEBUG + (void) fprintf(el->el_errfile, "Comparing with \"%s\"\n", hp); +#endif + if ((wcsncmp(hp, el->el_line.buffer, (size_t) + (el->el_line.lastchar - el->el_line.buffer)) || + hp[el->el_line.lastchar - el->el_line.buffer]) && + c_hmatch(el, hp)) + found = h; + hp = HIST_NEXT(el); + } + + if (!found) { /* is it the current history number? */ + if (!c_hmatch(el, el->el_history.buf)) { +#ifdef SDEBUG + (void) fprintf(el->el_errfile, "not found\n"); +#endif + return CC_ERROR; + } + } + el->el_history.eventno = found; + + return hist_get(el); +} + + +/* ed_prev_line(): + * Move up one line + * Could be [k] [^p] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_prev_line(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *ptr; + int nchars = c_hpos(el); + + /* + * Move to the line requested + */ + if (*(ptr = el->el_line.cursor) == '\n') + ptr--; + + for (; ptr >= el->el_line.buffer; ptr--) + if (*ptr == '\n' && --el->el_state.argument <= 0) + break; + + if (el->el_state.argument > 0) + return CC_ERROR; + + /* + * Move to the beginning of the line + */ + for (ptr--; ptr >= el->el_line.buffer && *ptr != '\n'; ptr--) + continue; + + /* + * Move to the character requested + */ + for (ptr++; + nchars-- > 0 && ptr < el->el_line.lastchar && *ptr != '\n'; + ptr++) + continue; + + el->el_line.cursor = ptr; + return CC_CURSOR; +} + + +/* ed_next_line(): + * Move down one line + * Could be [j] [^n] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_next_line(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *ptr; + int nchars = c_hpos(el); + + /* + * Move to the line requested + */ + for (ptr = el->el_line.cursor; ptr < el->el_line.lastchar; ptr++) + if (*ptr == '\n' && --el->el_state.argument <= 0) + break; + + if (el->el_state.argument > 0) + return CC_ERROR; + + /* + * Move to the character requested + */ + for (ptr++; + nchars-- > 0 && ptr < el->el_line.lastchar && *ptr != '\n'; + ptr++) + continue; + + el->el_line.cursor = ptr; + return CC_CURSOR; +} + + +/* ed_command(): + * Editline extended command + * [M-X] [:] + */ +libedit_private el_action_t +/*ARGSUSED*/ +ed_command(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t tmpbuf[EL_BUFSIZ]; + int tmplen; + + tmplen = c_gets(el, tmpbuf, L"\n: "); + terminal__putc(el, '\n'); + + if (tmplen < 0 || (tmpbuf[tmplen] = 0, parse_line(el, tmpbuf)) == -1) + terminal_beep(el); + + el->el_map.current = el->el_map.key; + re_clear_display(el); + return CC_REFRESH; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/config.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/config.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/config.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/config.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,10 @@ +/* + To minimize source code changes, we add this source file + and forward to my_config.h instead. + See AH_BOTTOM in configure.ac for the rest. +*/ +#include "my_config.h" +#include "sys.h" +#define SCCSID +/* #undef LIBC_SCCS */ +#define lint diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/editline/readline.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/editline/readline.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/editline/readline.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/editline/readline.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,234 @@ +/* $NetBSD: readline.h,v 1.46 2019/06/07 15:19:29 christos Exp $ */ + +/*- + * Copyright (c) 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Jaromir Dolecek. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef _READLINE_H_ +#define _READLINE_H_ + +#include +#include + +/* list of readline stuff supported by editline library's readline wrapper */ + +/* typedefs */ +typedef int Function(const char *, int); +typedef char *CPFunction(const char *, int); +typedef void VFunction(void); +typedef void rl_vcpfunc_t(char *); +typedef char **rl_completion_func_t(const char *, int, int); +typedef char *rl_compentry_func_t(const char *, int); +typedef int rl_command_func_t(int, int); +typedef int rl_hook_func_t(void); + +/* only supports length */ +typedef struct { + int length; +} HISTORY_STATE; + +typedef void *histdata_t; + +typedef struct _hist_entry { + const char *line; + histdata_t data; +} HIST_ENTRY; + +typedef struct _keymap_entry { + char type; +#define ISFUNC 0 +#define ISKMAP 1 +#define ISMACR 2 + Function *function; +} KEYMAP_ENTRY; + +#define KEYMAP_SIZE 256 + +typedef KEYMAP_ENTRY KEYMAP_ENTRY_ARRAY[KEYMAP_SIZE]; +typedef KEYMAP_ENTRY *Keymap; + +#define control_character_threshold 0x20 +#define control_character_bit 0x40 + +#ifndef CTRL +#include +#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) +#include +#endif +#ifndef CTRL +#define CTRL(c) ((c) & 037) +#endif +#endif +#ifndef UNCTRL +#define UNCTRL(c) (((c) - 'a' + 'A')|control_character_bit) +#endif + +#define RUBOUT 0x7f +#define ABORT_CHAR CTRL('G') +#define RL_READLINE_VERSION 0x0402 +#define RL_PROMPT_START_IGNORE '\1' +#define RL_PROMPT_END_IGNORE '\2' + +/* global variables used by readline enabled applications */ +#ifdef __cplusplus +extern "C" { +#endif +extern const char *rl_library_version; +extern int rl_readline_version; +extern const char *rl_readline_name; +extern FILE *rl_instream; +extern FILE *rl_outstream; +extern char *rl_line_buffer; +extern int rl_point, rl_end; +extern int history_base, history_length; +extern int max_input_history; +extern const char *rl_basic_word_break_characters; +extern char *rl_completer_word_break_characters; +extern const char *rl_completer_quote_characters; +extern rl_compentry_func_t *rl_completion_entry_function; +extern char *(*rl_completion_word_break_hook)(void); +extern rl_completion_func_t *rl_attempted_completion_function; +extern int rl_attempted_completion_over; +extern int rl_completion_type; +extern int rl_completion_query_items; +extern const char *rl_special_prefixes; +extern int rl_completion_append_character; +extern int rl_inhibit_completion; +extern Function *rl_pre_input_hook; +extern Function *rl_startup_hook; +extern char *rl_terminal_name; +extern int rl_already_prompted; +extern char *rl_prompt; +extern int rl_done; +/* + * The following is not implemented + */ +extern int rl_catch_signals; +extern int rl_catch_sigwinch; +extern KEYMAP_ENTRY_ARRAY emacs_standard_keymap, + emacs_meta_keymap, + emacs_ctlx_keymap; +extern int rl_filename_completion_desired; +extern int rl_ignore_completion_duplicates; +extern int (*rl_getc_function)(FILE *); +extern VFunction *rl_redisplay_function; +extern VFunction *rl_completion_display_matches_hook; +extern VFunction *rl_prep_term_function; +extern VFunction *rl_deprep_term_function; +extern rl_hook_func_t *rl_event_hook; +extern int readline_echoing_p; +extern int _rl_print_completions_horizontally; + +/* supported functions */ +char *readline(const char *); +int rl_initialize(void); + +void using_history(void); +int add_history(const char *); +void clear_history(void); +int append_history(int, const char *); +void stifle_history(int); +int unstifle_history(void); +int history_is_stifled(void); +int where_history(void); +HIST_ENTRY *current_history(void); +HIST_ENTRY *history_get(int); +HIST_ENTRY *remove_history(int); +HIST_ENTRY *replace_history_entry(int, const char *, histdata_t); +int history_total_bytes(void); +int history_set_pos(int); +HIST_ENTRY *previous_history(void); +HIST_ENTRY *next_history(void); +HIST_ENTRY **history_list(void); +int history_search(const char *, int); +int history_search_prefix(const char *, int); +int history_search_pos(const char *, int, int); +int read_history(const char *); +int write_history(const char *); +int history_truncate_file (const char *, int); +int history_expand(char *, char **); +char **history_tokenize(const char *); +const char *get_history_event(const char *, int *, int); +char *history_arg_extract(int, int, const char *); + +char *tilde_expand(char *); +char *filename_completion_function(const char *, int); +char *username_completion_function(const char *, int); +int rl_complete(int, int); +int rl_read_key(void); +char **completion_matches(/* const */ char *, rl_compentry_func_t *); +void rl_display_match_list(char **, int, int); + +int rl_insert(int, int); +int rl_insert_text(const char *); +int rl_reset_terminal(const char *); +void rl_resize_terminal(void); +int rl_bind_key(int, rl_command_func_t *); +int rl_newline(int, int); +void rl_callback_read_char(void); +void rl_callback_handler_install(const char *, rl_vcpfunc_t *); +void rl_callback_handler_remove(void); +void rl_redisplay(void); +int rl_get_previous_history(int, int); +void rl_prep_terminal(int); +void rl_deprep_terminal(void); +int rl_read_init_file(const char *); +int rl_parse_and_bind(const char *); +int rl_variable_bind(const char *, const char *); +int rl_stuff_char(int); +int rl_add_defun(const char *, rl_command_func_t *, int); +HISTORY_STATE *history_get_history_state(void); +void rl_get_screen_size(int *, int *); +void rl_set_screen_size(int, int); +char *rl_filename_completion_function (const char *, int); +int _rl_abort_internal(void); +int _rl_qsort_string_compare(char **, char **); +char **rl_completion_matches(const char *, rl_compentry_func_t *); +void rl_forced_update_display(void); +int rl_set_prompt(const char *); +int rl_on_new_line(void); +void rl_reset_after_signal(void); +void rl_echo_signal_char(int); + +/* + * The following are not implemented + */ +int rl_kill_text(int, int); +Keymap rl_get_keymap(void); +void rl_set_keymap(Keymap); +Keymap rl_make_bare_keymap(void); +int rl_generic_bind(int, const char *, const char *, Keymap); +int rl_bind_key_in_map(int, rl_command_func_t *, Keymap); +void rl_cleanup_after_signal(void); +void rl_free_line_state(void); +int rl_set_keyboard_input_timeout(int); + +#ifdef __cplusplus +} +#endif + +#endif /* _READLINE_H_ */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/el.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/el.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/el.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/el.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,684 @@ +/* $NetBSD: el.c,v 1.99 2019/07/23 10:18:52 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)el.c 8.2 (Berkeley) 1/3/94"; +#else +__RCSID("$NetBSD: el.c,v 1.99 2019/07/23 10:18:52 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +#ifndef MAXPATHLEN +#define MAXPATHLEN 4096 +#endif + +/* + * el.c: EditLine interface functions + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "el.h" +#include "parse.h" +#include "read.h" + +#ifndef HAVE_SECURE_GETENV +# ifdef HAVE___SECURE_GETENV +# define secure_getenv __secure_getenv +# define HAVE_SECURE_GETENV 1 +# else +# ifdef HAVE_ISSETUGID +# include +# else +# undef issetugid +# define issetugid() 1 +# endif +# endif +#endif + +#ifndef HAVE_SECURE_GETENV +char *secure_getenv(char const *name) +{ + if (issetugid()) + return 0; + return getenv(name); +} +#endif + +#if defined(HAVE_GETUID) && defined(HAVE_GETEUID) && \ + defined(HAVE_GETGID) && defined(HAVE_GETEGID) +#define HAVE_IDENTITY_FUNCS 1 + +#ifndef HAVE_ISSETUGID +static int issetugid(void) { + return (getuid() != geteuid() || getgid() != getegid()); +} +#endif + +#endif + +/* el_init(): + * Initialize editline and set default parameters. + */ +EditLine * +el_init(const char *prog, FILE *fin, FILE *fout, FILE *ferr) +{ + return el_init_fd(prog, fin, fout, ferr, fileno(fin), fileno(fout), + fileno(ferr)); +} + +libedit_private EditLine * +el_init_internal(const char *prog, FILE *fin, FILE *fout, FILE *ferr, + int fdin, int fdout, int fderr, int flags) +{ + EditLine *el = el_calloc(1, sizeof(*el)); + + if (el == NULL) + return NULL; + + el->el_infile = fin; + el->el_outfile = fout; + el->el_errfile = ferr; + + el->el_infd = fdin; + el->el_outfd = fdout; + el->el_errfd = fderr; + + el->el_prog = wcsdup(ct_decode_string(prog, &el->el_scratch)); + if (el->el_prog == NULL) { + el_free(el); + return NULL; + } + + /* + * Initialize all the modules. Order is important!!! + */ + el->el_flags = flags; + + if (terminal_init(el) == -1) { + el_free(el->el_prog); + el_free(el); + return NULL; + } + (void) keymacro_init(el); + (void) map_init(el); + if (tty_init(el) == -1) + el->el_flags |= NO_TTY; + (void) ch_init(el); + (void) search_init(el); + (void) hist_init(el); + (void) prompt_init(el); + (void) sig_init(el); + (void) literal_init(el); + if (read_init(el) == -1) { + el_end(el); + return NULL; + } + return el; +} + +EditLine * +el_init_fd(const char *prog, FILE *fin, FILE *fout, FILE *ferr, + int fdin, int fdout, int fderr) +{ + return el_init_internal(prog, fin, fout, ferr, fdin, fdout, fderr, 0); +} + +/* el_end(): + * Clean up. + */ +void +el_end(EditLine *el) +{ + + if (el == NULL) + return; + + el_reset(el); + + terminal_end(el); + keymacro_end(el); + map_end(el); + if (!(el->el_flags & NO_TTY)) + tty_end(el, TCSAFLUSH); + ch_end(el); + read_end(el->el_read); + search_end(el); + hist_end(el); + prompt_end(el); + sig_end(el); + literal_end(el); + + el_free(el->el_prog); + el_free(el->el_visual.cbuff); + el_free(el->el_visual.wbuff); + el_free(el->el_scratch.cbuff); + el_free(el->el_scratch.wbuff); + el_free(el->el_lgcyconv.cbuff); + el_free(el->el_lgcyconv.wbuff); + el_free(el); +} + + +/* el_reset(): + * Reset the tty and the parser + */ +void +el_reset(EditLine *el) +{ + + tty_cookedmode(el); + ch_reset(el); /* XXX: Do we want that? */ +} + + +/* el_set(): + * set the editline parameters + */ +int +el_wset(EditLine *el, int op, ...) +{ + va_list ap; + int rv = 0; + + if (el == NULL) + return -1; + va_start(ap, op); + + switch (op) { + case EL_PROMPT: + case EL_RPROMPT: { + el_pfunc_t p = va_arg(ap, el_pfunc_t); + + rv = prompt_set(el, p, 0, op, 1); + break; + } + + case EL_RESIZE: { + el_zfunc_t p = va_arg(ap, el_zfunc_t); + void *arg = va_arg(ap, void *); + rv = ch_resizefun(el, p, arg); + break; + } + + case EL_ALIAS_TEXT: { + el_afunc_t p = va_arg(ap, el_afunc_t); + void *arg = va_arg(ap, void *); + rv = ch_aliasfun(el, p, arg); + break; + } + + case EL_PROMPT_ESC: + case EL_RPROMPT_ESC: { + el_pfunc_t p = va_arg(ap, el_pfunc_t); + int c = va_arg(ap, int); + + rv = prompt_set(el, p, (wchar_t)c, op, 1); + break; + } + + case EL_TERMINAL: + rv = terminal_set(el, va_arg(ap, char *)); + break; + + case EL_EDITOR: + rv = map_set_editor(el, va_arg(ap, wchar_t *)); + break; + + case EL_SIGNAL: + if (va_arg(ap, int)) + el->el_flags |= HANDLE_SIGNALS; + else + el->el_flags &= ~HANDLE_SIGNALS; + break; + + case EL_BIND: + case EL_TELLTC: + case EL_SETTC: + case EL_ECHOTC: + case EL_SETTY: + { + const wchar_t *argv[20]; + int i; + + for (i = 1; i < (int)__arraycount(argv); i++) + if ((argv[i] = va_arg(ap, wchar_t *)) == NULL) + break; + + switch (op) { + case EL_BIND: + argv[0] = L"bind"; + rv = map_bind(el, i, argv); + break; + + case EL_TELLTC: + argv[0] = L"telltc"; + rv = terminal_telltc(el, i, argv); + break; + + case EL_SETTC: + argv[0] = L"settc"; + rv = terminal_settc(el, i, argv); + break; + + case EL_ECHOTC: + argv[0] = L"echotc"; + rv = terminal_echotc(el, i, argv); + break; + + case EL_SETTY: + argv[0] = L"setty"; + rv = tty_stty(el, i, argv); + break; + + default: + rv = -1; + EL_ABORT((el->el_errfile, "Bad op %d\n", op)); + break; + } + break; + } + + case EL_ADDFN: + { + wchar_t *name = va_arg(ap, wchar_t *); + wchar_t *help = va_arg(ap, wchar_t *); + el_func_t func = va_arg(ap, el_func_t); + + rv = map_addfunc(el, name, help, func); + break; + } + + case EL_HIST: + { + hist_fun_t func = va_arg(ap, hist_fun_t); + void *ptr = va_arg(ap, void *); + + rv = hist_set(el, func, ptr); + if (MB_CUR_MAX == 1) + el->el_flags &= ~NARROW_HISTORY; + break; + } + + case EL_EDITMODE: + if (va_arg(ap, int)) + el->el_flags &= ~EDIT_DISABLED; + else + el->el_flags |= EDIT_DISABLED; + rv = 0; + break; + + case EL_GETCFN: + { + el_rfunc_t rc = va_arg(ap, el_rfunc_t); + rv = el_read_setfn(el->el_read, rc); + break; + } + + case EL_CLIENTDATA: + el->el_data = va_arg(ap, void *); + break; + + case EL_UNBUFFERED: + rv = va_arg(ap, int); + if (rv && !(el->el_flags & UNBUFFERED)) { + el->el_flags |= UNBUFFERED; + read_prepare(el); + } else if (!rv && (el->el_flags & UNBUFFERED)) { + el->el_flags &= ~UNBUFFERED; + read_finish(el); + } + rv = 0; + break; + + case EL_PREP_TERM: + rv = va_arg(ap, int); + if (rv) + (void) tty_rawmode(el); + else + (void) tty_cookedmode(el); + rv = 0; + break; + + case EL_SETFP: + { + FILE *fp; + int what; + + what = va_arg(ap, int); + fp = va_arg(ap, FILE *); + + rv = 0; + switch (what) { + case 0: + el->el_infile = fp; + el->el_infd = fileno(fp); + break; + case 1: + el->el_outfile = fp; + el->el_outfd = fileno(fp); + break; + case 2: + el->el_errfile = fp; + el->el_errfd = fileno(fp); + break; + default: + rv = -1; + break; + } + break; + } + + case EL_REFRESH: + re_clear_display(el); + re_refresh(el); + terminal__flush(el); + break; + + default: + rv = -1; + break; + } + + va_end(ap); + return rv; +} + + +/* el_get(): + * retrieve the editline parameters + */ +int +el_wget(EditLine *el, int op, ...) +{ + va_list ap; + int rv; + + if (el == NULL) + return -1; + + va_start(ap, op); + + switch (op) { + case EL_PROMPT: + case EL_RPROMPT: { + el_pfunc_t *p = va_arg(ap, el_pfunc_t *); + rv = prompt_get(el, p, 0, op); + break; + } + case EL_PROMPT_ESC: + case EL_RPROMPT_ESC: { + el_pfunc_t *p = va_arg(ap, el_pfunc_t *); + wchar_t *c = va_arg(ap, wchar_t *); + + rv = prompt_get(el, p, c, op); + break; + } + + case EL_EDITOR: + rv = map_get_editor(el, va_arg(ap, const wchar_t **)); + break; + + case EL_SIGNAL: + *va_arg(ap, int *) = (el->el_flags & HANDLE_SIGNALS); + rv = 0; + break; + + case EL_EDITMODE: + *va_arg(ap, int *) = !(el->el_flags & EDIT_DISABLED); + rv = 0; + break; + + case EL_TERMINAL: + terminal_get(el, va_arg(ap, const char **)); + rv = 0; + break; + + case EL_GETTC: + { + static char name[] = "gettc"; + char *argv[3]; + argv[0] = name; + argv[1] = va_arg(ap, char *); + argv[2] = va_arg(ap, void *); + rv = terminal_gettc(el, 3, argv); + break; + } + + case EL_GETCFN: + *va_arg(ap, el_rfunc_t *) = el_read_getfn(el->el_read); + rv = 0; + break; + + case EL_CLIENTDATA: + *va_arg(ap, void **) = el->el_data; + rv = 0; + break; + + case EL_UNBUFFERED: + *va_arg(ap, int *) = (el->el_flags & UNBUFFERED) != 0; + rv = 0; + break; + + case EL_GETFP: + { + int what; + FILE **fpp; + + what = va_arg(ap, int); + fpp = va_arg(ap, FILE **); + rv = 0; + switch (what) { + case 0: + *fpp = el->el_infile; + break; + case 1: + *fpp = el->el_outfile; + break; + case 2: + *fpp = el->el_errfile; + break; + default: + rv = -1; + break; + } + break; + } + default: + rv = -1; + break; + } + va_end(ap); + + return rv; +} + + +/* el_line(): + * Return editing info + */ +const LineInfoW * +el_wline(EditLine *el) +{ + + return (const LineInfoW *)(void *)&el->el_line; +} + + +/* el_source(): + * Source a file + */ +int +el_source(EditLine *el, const char *fname) +{ + FILE *fp; + size_t len; + ssize_t slen; + char *ptr; + char *path = NULL; + const wchar_t *dptr; + int error = 0; + + fp = NULL; + if (fname == NULL) { +#if defined(HAVE_ISSETUGID) || defined(HAVE_IDENTITY_FUNCS) + if (issetugid()) + return -1; + + if ((fname = getenv("EDITRC")) == NULL) { + static const char elpath[] = "/.editrc"; + size_t plen = sizeof(elpath); + + if ((ptr = getenv("HOME")) == NULL) + return -1; + plen += strlen(ptr); + if ((path = el_calloc(plen, sizeof(*path))) == NULL) + return -1; + (void)snprintf(path, plen, "%s%s", ptr, + elpath + (*ptr == '\0')); + fname = path; + } +#else + /* + * If issetugid() is missing, always return an error, in order + * to keep from inadvertently opening up the user to a security + * hole. + */ + return -1; +#endif + } + if (fname[0] == '\0') + return -1; + + if (fp == NULL) + fp = fopen(fname, "r"); + if (fp == NULL) { + el_free(path); + return -1; + } + + ptr = NULL; + len = 0; + while ((slen = getline(&ptr, &len, fp)) != -1) { + if (*ptr == '\n') + continue; /* Empty line. */ + if (slen > 0 && ptr[--slen] == '\n') + ptr[slen] = '\0'; + + dptr = ct_decode_string(ptr, &el->el_scratch); + if (!dptr) + continue; + /* loop until first non-space char or EOL */ + while (*dptr != '\0' && iswspace(*dptr)) + dptr++; + if (*dptr == '#') + continue; /* ignore, this is a comment line */ + if ((error = parse_line(el, dptr)) == -1) + break; + } + free(ptr); + + el_free(path); + (void) fclose(fp); + return error; +} + + +/* el_resize(): + * Called from program when terminal is resized + */ +void +el_resize(EditLine *el) +{ + int lins, cols; + sigset_t oset, nset; + + (void) sigemptyset(&nset); + (void) sigaddset(&nset, SIGWINCH); + (void) sigprocmask(SIG_BLOCK, &nset, &oset); + + /* get the correct window size */ + if (terminal_get_size(el, &lins, &cols)) + terminal_change_size(el, lins, cols); + + (void) sigprocmask(SIG_SETMASK, &oset, NULL); +} + + +/* el_beep(): + * Called from the program to beep + */ +void +el_beep(EditLine *el) +{ + + terminal_beep(el); +} + + +/* el_editmode() + * Set the state of EDIT_DISABLED from the `edit' command. + */ +libedit_private int +/*ARGSUSED*/ +el_editmode(EditLine *el, int argc, const wchar_t **argv) +{ + const wchar_t *how; + + if (argv == NULL || argc != 2 || argv[1] == NULL) + return -1; + + how = argv[1]; + if (wcscmp(how, L"on") == 0) { + el->el_flags &= ~EDIT_DISABLED; + tty_rawmode(el); + } else if (wcscmp(how, L"off") == 0) { + tty_cookedmode(el); + el->el_flags |= EDIT_DISABLED; + } + else { + (void) fprintf(el->el_errfile, "edit: Bad value `%ls'.\n", + how); + return -1; + } + return 0; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/el.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/el.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/el.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/el.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,158 @@ +/* $NetBSD: el.h,v 1.45 2019/07/23 10:18:52 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)el.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.h: Internal structures. + */ +#ifndef _h_el +#define _h_el +/* + * Local defaults + */ +#define KSHVI +#define VIDEFAULT +#define ANCHOR + +#include "histedit.h" +#include "chartype.h" + +#define EL_BUFSIZ ((size_t)1024) /* Maximum line size */ + +#define HANDLE_SIGNALS 0x01 +#define NO_TTY 0x02 +#define EDIT_DISABLED 0x04 +#define UNBUFFERED 0x08 +#define NARROW_HISTORY 0x40 +#define NO_RESET 0x80 + +typedef unsigned char el_action_t; /* Index to command array */ + +typedef struct coord_t { /* Position on the screen */ + int h; + int v; +} coord_t; + +typedef struct el_line_t { + wchar_t *buffer; /* Input line */ + wchar_t *cursor; /* Cursor position */ + wchar_t *lastchar; /* Last character */ + const wchar_t *limit; /* Max position */ +} el_line_t; + +/* + * Editor state + */ +typedef struct el_state_t { + int inputmode; /* What mode are we in? */ + int doingarg; /* Are we getting an argument? */ + int argument; /* Numeric argument */ + int metanext; /* Is the next char a meta char */ + el_action_t lastcmd; /* Previous command */ + el_action_t thiscmd; /* this command */ + wchar_t thisch; /* char that generated it */ +} el_state_t; + +/* + * Until we come up with something better... + */ +#define el_malloc(a) malloc(a) +#define el_calloc(a,b) calloc(a, b) +#define el_realloc(a,b) realloc(a, b) +#define el_free(a) free(a) + +#include "tty.h" +#include "prompt.h" +#include "literal.h" +#include "keymacro.h" +#include "terminal.h" +#include "refresh.h" +#include "chared.h" +#include "search.h" +#include "hist.h" +#include "map.h" +#include "sig.h" + +struct el_read_t; + +struct editline { + wchar_t *el_prog; /* the program name */ + FILE *el_infile; /* Stdio stuff */ + FILE *el_outfile; /* Stdio stuff */ + FILE *el_errfile; /* Stdio stuff */ + int el_infd; /* Input file descriptor */ + int el_outfd; /* Output file descriptor */ + int el_errfd; /* Error file descriptor */ + int el_flags; /* Various flags. */ + coord_t el_cursor; /* Cursor location */ + wint_t **el_display; /* Real screen image = what is there */ + wint_t **el_vdisplay; /* Virtual screen image = what we see */ + void *el_data; /* Client data */ + el_line_t el_line; /* The current line information */ + el_state_t el_state; /* Current editor state */ + el_terminal_t el_terminal; /* Terminal dependent stuff */ + el_tty_t el_tty; /* Tty dependent stuff */ + el_refresh_t el_refresh; /* Refresh stuff */ + el_prompt_t el_prompt; /* Prompt stuff */ + el_prompt_t el_rprompt; /* Prompt stuff */ + el_literal_t el_literal; /* prompt literal bits */ + el_chared_t el_chared; /* Characted editor stuff */ + el_map_t el_map; /* Key mapping stuff */ + el_keymacro_t el_keymacro; /* Key binding stuff */ + el_history_t el_history; /* History stuff */ + el_search_t el_search; /* Search stuff */ + el_signal_t el_signal; /* Signal handling stuff */ + struct el_read_t *el_read; /* Character reading stuff */ + ct_buffer_t el_visual; /* Buffer for displayable str */ + ct_buffer_t el_scratch; /* Scratch conversion buffer */ + ct_buffer_t el_lgcyconv; /* Buffer for legacy wrappers */ + LineInfo el_lgcylinfo; /* Legacy LineInfo buffer */ +}; + +libedit_private int el_editmode(EditLine *, int, const wchar_t **); +libedit_private EditLine *el_init_internal(const char *, FILE *, FILE *, + FILE *, int, int, int, int); + +#ifdef DEBUG +#define EL_ABORT(a) do { \ + fprintf(el->el_errfile, "%s, %d: ", \ + __FILE__, __LINE__); \ + fprintf a; \ + abort(); \ + } while( /*CONSTCOND*/0); +#else +#define EL_ABORT(a) abort() +#endif +#endif /* _h_el */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/eln.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/eln.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/eln.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/eln.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,386 @@ +/* $NetBSD: eln.c,v 1.35 2019/04/26 16:56:57 christos Exp $ */ + +/*- + * Copyright (c) 2009 The NetBSD Foundation, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +__RCSID("$NetBSD: eln.c,v 1.35 2019/04/26 16:56:57 christos Exp $"); +#endif /* not lint && not SCCSID */ + +#include +#include +#include +#include + +#include "el.h" + +int +el_getc(EditLine *el, char *cp) +{ + int num_read; + wchar_t wc = 0; + + num_read = el_wgetc(el, &wc); + *cp = '\0'; + if (num_read <= 0) + return num_read; + num_read = wctob(wc); + if (num_read == EOF) { + errno = ERANGE; + return -1; + } else { + *cp = (char)num_read; + return 1; + } +} + + +void +el_push(EditLine *el, const char *str) +{ + /* Using multibyte->wide string decoding works fine under single-byte + * character sets too, and Does The Right Thing. */ + el_wpush(el, ct_decode_string(str, &el->el_lgcyconv)); +} + + +const char * +el_gets(EditLine *el, int *nread) +{ + const wchar_t *tmp; + + tmp = el_wgets(el, nread); + if (tmp != NULL) { + int i; + size_t nwread = 0; + + for (i = 0; i < *nread; i++) + nwread += ct_enc_width(tmp[i]); + *nread = (int)nwread; + } + return ct_encode_string(tmp, &el->el_lgcyconv); +} + + +int +el_parse(EditLine *el, int argc, const char *argv[]) +{ + int ret; + const wchar_t **wargv; + + wargv = (void *)ct_decode_argv(argc, argv, &el->el_lgcyconv); + if (!wargv) + return -1; + ret = el_wparse(el, argc, wargv); + el_free(wargv); + + return ret; +} + + +int +el_set(EditLine *el, int op, ...) +{ + va_list ap; + int ret; + + if (!el) + return -1; + va_start(ap, op); + + switch (op) { + case EL_PROMPT: /* el_pfunc_t */ + case EL_RPROMPT: { + el_pfunc_t p = va_arg(ap, el_pfunc_t); + ret = prompt_set(el, p, 0, op, 0); + break; + } + + case EL_RESIZE: { + el_zfunc_t p = va_arg(ap, el_zfunc_t); + void *arg = va_arg(ap, void *); + ret = ch_resizefun(el, p, arg); + break; + } + + case EL_ALIAS_TEXT: { + el_afunc_t p = va_arg(ap, el_afunc_t); + void *arg = va_arg(ap, void *); + ret = ch_aliasfun(el, p, arg); + break; + } + + case EL_PROMPT_ESC: + case EL_RPROMPT_ESC: { + el_pfunc_t p = va_arg(ap, el_pfunc_t); + int c = va_arg(ap, int); + + ret = prompt_set(el, p, c, op, 0); + break; + } + + case EL_TERMINAL: /* const char * */ + ret = el_wset(el, op, va_arg(ap, char *)); + break; + + case EL_EDITOR: /* const wchar_t * */ + ret = el_wset(el, op, ct_decode_string(va_arg(ap, char *), + &el->el_lgcyconv)); + break; + + case EL_SIGNAL: /* int */ + case EL_EDITMODE: + case EL_UNBUFFERED: + case EL_PREP_TERM: + ret = el_wset(el, op, va_arg(ap, int)); + break; + + case EL_BIND: /* const char * list -> const wchar_t * list */ + case EL_TELLTC: + case EL_SETTC: + case EL_ECHOTC: + case EL_SETTY: { + const char *argv[20]; + int i; + const wchar_t **wargv; + for (i = 1; i < (int)__arraycount(argv) - 1; ++i) + if ((argv[i] = va_arg(ap, const char *)) == NULL) + break; + argv[0] = argv[i] = NULL; + wargv = (void *)ct_decode_argv(i + 1, argv, &el->el_lgcyconv); + if (!wargv) { + ret = -1; + goto out; + } + /* + * AFAIK we can't portably pass through our new wargv to + * el_wset(), so we have to reimplement the body of + * el_wset() for these ops. + */ + switch (op) { + case EL_BIND: + wargv[0] = L"bind"; + ret = map_bind(el, i, wargv); + break; + case EL_TELLTC: + wargv[0] = L"telltc"; + ret = terminal_telltc(el, i, wargv); + break; + case EL_SETTC: + wargv[0] = L"settc"; + ret = terminal_settc(el, i, wargv); + break; + case EL_ECHOTC: + wargv[0] = L"echotc"; + ret = terminal_echotc(el, i, wargv); + break; + case EL_SETTY: + wargv[0] = L"setty"; + ret = tty_stty(el, i, wargv); + break; + default: + ret = -1; + } + el_free(wargv); + break; + } + + /* XXX: do we need to change el_func_t too? */ + case EL_ADDFN: { /* const char *, const char *, el_func_t */ + const char *args[2]; + el_func_t func; + wchar_t **wargv; + + args[0] = va_arg(ap, const char *); + args[1] = va_arg(ap, const char *); + func = va_arg(ap, el_func_t); + + wargv = ct_decode_argv(2, args, &el->el_lgcyconv); + if (!wargv) { + ret = -1; + goto out; + } + /* XXX: The two strdup's leak */ + ret = map_addfunc(el, wcsdup(wargv[0]), wcsdup(wargv[1]), + func); + el_free(wargv); + break; + } + case EL_HIST: { /* hist_fun_t, const char * */ + hist_fun_t fun = va_arg(ap, hist_fun_t); + void *ptr = va_arg(ap, void *); + ret = hist_set(el, fun, ptr); + el->el_flags |= NARROW_HISTORY; + break; + } + + case EL_GETCFN: /* el_rfunc_t */ + ret = el_wset(el, op, va_arg(ap, el_rfunc_t)); + break; + + case EL_CLIENTDATA: /* void * */ + ret = el_wset(el, op, va_arg(ap, void *)); + break; + + case EL_SETFP: { /* int, FILE * */ + int what = va_arg(ap, int); + FILE *fp = va_arg(ap, FILE *); + ret = el_wset(el, op, what, fp); + break; + } + + case EL_REFRESH: + re_clear_display(el); + re_refresh(el); + terminal__flush(el); + ret = 0; + break; + + default: + ret = -1; + break; + } + +out: + va_end(ap); + return ret; +} + + +int +el_get(EditLine *el, int op, ...) +{ + va_list ap; + int ret; + + if (!el) + return -1; + + va_start(ap, op); + + switch (op) { + case EL_PROMPT: /* el_pfunc_t * */ + case EL_RPROMPT: { + el_pfunc_t *p = va_arg(ap, el_pfunc_t *); + ret = prompt_get(el, p, 0, op); + break; + } + + case EL_PROMPT_ESC: /* el_pfunc_t *, char **/ + case EL_RPROMPT_ESC: { + el_pfunc_t *p = va_arg(ap, el_pfunc_t *); + char *c = va_arg(ap, char *); + wchar_t wc = 0; + ret = prompt_get(el, p, &wc, op); + *c = (char)wc; + break; + } + + case EL_EDITOR: { + const char **p = va_arg(ap, const char **); + const wchar_t *pw; + ret = el_wget(el, op, &pw); + *p = ct_encode_string(pw, &el->el_lgcyconv); + if (!el->el_lgcyconv.csize) + ret = -1; + break; + } + + case EL_TERMINAL: /* const char ** */ + ret = el_wget(el, op, va_arg(ap, const char **)); + break; + + case EL_SIGNAL: /* int * */ + case EL_EDITMODE: + case EL_UNBUFFERED: + case EL_PREP_TERM: + ret = el_wget(el, op, va_arg(ap, int *)); + break; + + case EL_GETTC: { + char *argv[3]; + static char gettc[] = "gettc"; + argv[0] = gettc; + argv[1] = va_arg(ap, char *); + argv[2] = va_arg(ap, void *); + ret = terminal_gettc(el, 3, argv); + break; + } + + case EL_GETCFN: /* el_rfunc_t */ + ret = el_wget(el, op, va_arg(ap, el_rfunc_t *)); + break; + + case EL_CLIENTDATA: /* void ** */ + ret = el_wget(el, op, va_arg(ap, void **)); + break; + + case EL_GETFP: { /* int, FILE ** */ + int what = va_arg(ap, int); + FILE **fpp = va_arg(ap, FILE **); + ret = el_wget(el, op, what, fpp); + break; + } + + default: + ret = -1; + break; + } + + va_end(ap); + return ret; +} + + +const LineInfo * +el_line(EditLine *el) +{ + const LineInfoW *winfo = el_wline(el); + LineInfo *info = &el->el_lgcylinfo; + size_t offset; + const wchar_t *p; + + info->buffer = ct_encode_string(winfo->buffer, &el->el_lgcyconv); + + offset = 0; + for (p = winfo->buffer; p < winfo->cursor; p++) + offset += ct_enc_width(*p); + info->cursor = info->buffer + offset; + + offset = 0; + for (p = winfo->buffer; p < winfo->lastchar; p++) + offset += ct_enc_width(*p); + info->lastchar = info->buffer + offset; + + return info; +} + + +int +el_insertstr(EditLine *el, const char *str) +{ + return el_winsertstr(el, ct_decode_string(str, &el->el_lgcyconv)); +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/emacs.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/emacs.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/emacs.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/emacs.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,512 @@ +/* $NetBSD: emacs.c,v 1.36 2016/05/09 21:46:56 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)emacs.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: emacs.c,v 1.36 2016/05/09 21:46:56 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * emacs.c: Emacs functions + */ +#include + +#include "el.h" +#include "emacs.h" +#include "fcns.h" + +/* em_delete_or_list(): + * Delete character under cursor or list completions if at end of line + * [^D] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_delete_or_list(EditLine *el, wint_t c) +{ + + if (el->el_line.cursor == el->el_line.lastchar) { + /* if I'm at the end */ + if (el->el_line.cursor == el->el_line.buffer) { + /* and the beginning */ + terminal_writec(el, c); /* then do an EOF */ + return CC_EOF; + } else { + /* + * Here we could list completions, but it is an + * error right now + */ + terminal_beep(el); + return CC_ERROR; + } + } else { + if (el->el_state.doingarg) + c_delafter(el, el->el_state.argument); + else + c_delafter1(el); + if (el->el_line.cursor > el->el_line.lastchar) + el->el_line.cursor = el->el_line.lastchar; + /* bounds check */ + return CC_REFRESH; + } +} + + +/* em_delete_next_word(): + * Cut from cursor to end of current word + * [M-d] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_delete_next_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *cp, *p, *kp; + + if (el->el_line.cursor == el->el_line.lastchar) + return CC_ERROR; + + cp = c__next_word(el->el_line.cursor, el->el_line.lastchar, + el->el_state.argument, ce__isword); + + for (p = el->el_line.cursor, kp = el->el_chared.c_kill.buf; p < cp; p++) + /* save the text */ + *kp++ = *p; + el->el_chared.c_kill.last = kp; + + c_delafter(el, (int)(cp - el->el_line.cursor)); /* delete after dot */ + if (el->el_line.cursor > el->el_line.lastchar) + el->el_line.cursor = el->el_line.lastchar; + /* bounds check */ + return CC_REFRESH; +} + + +/* em_yank(): + * Paste cut buffer at cursor position + * [^Y] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_yank(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *kp, *cp; + + if (el->el_chared.c_kill.last == el->el_chared.c_kill.buf) + return CC_NORM; + + if (el->el_line.lastchar + + (el->el_chared.c_kill.last - el->el_chared.c_kill.buf) >= + el->el_line.limit) + return CC_ERROR; + + el->el_chared.c_kill.mark = el->el_line.cursor; + cp = el->el_line.cursor; + + /* open the space, */ + c_insert(el, + (int)(el->el_chared.c_kill.last - el->el_chared.c_kill.buf)); + /* copy the chars */ + for (kp = el->el_chared.c_kill.buf; kp < el->el_chared.c_kill.last; kp++) + *cp++ = *kp; + + /* if an arg, cursor at beginning else cursor at end */ + if (el->el_state.argument == 1) + el->el_line.cursor = cp; + + return CC_REFRESH; +} + + +/* em_kill_line(): + * Cut the entire line and save in cut buffer + * [^U] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_kill_line(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *kp, *cp; + + cp = el->el_line.buffer; + kp = el->el_chared.c_kill.buf; + while (cp < el->el_line.lastchar) + *kp++ = *cp++; /* copy it */ + el->el_chared.c_kill.last = kp; + /* zap! -- delete all of it */ + el->el_line.lastchar = el->el_line.buffer; + el->el_line.cursor = el->el_line.buffer; + return CC_REFRESH; +} + + +/* em_kill_region(): + * Cut area between mark and cursor and save in cut buffer + * [^W] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_kill_region(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *kp, *cp; + + if (!el->el_chared.c_kill.mark) + return CC_ERROR; + + if (el->el_chared.c_kill.mark > el->el_line.cursor) { + cp = el->el_line.cursor; + kp = el->el_chared.c_kill.buf; + while (cp < el->el_chared.c_kill.mark) + *kp++ = *cp++; /* copy it */ + el->el_chared.c_kill.last = kp; + c_delafter(el, (int)(cp - el->el_line.cursor)); + } else { /* mark is before cursor */ + cp = el->el_chared.c_kill.mark; + kp = el->el_chared.c_kill.buf; + while (cp < el->el_line.cursor) + *kp++ = *cp++; /* copy it */ + el->el_chared.c_kill.last = kp; + c_delbefore(el, (int)(cp - el->el_chared.c_kill.mark)); + el->el_line.cursor = el->el_chared.c_kill.mark; + } + return CC_REFRESH; +} + + +/* em_copy_region(): + * Copy area between mark and cursor to cut buffer + * [M-W] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_copy_region(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *kp, *cp; + + if (!el->el_chared.c_kill.mark) + return CC_ERROR; + + if (el->el_chared.c_kill.mark > el->el_line.cursor) { + cp = el->el_line.cursor; + kp = el->el_chared.c_kill.buf; + while (cp < el->el_chared.c_kill.mark) + *kp++ = *cp++; /* copy it */ + el->el_chared.c_kill.last = kp; + } else { + cp = el->el_chared.c_kill.mark; + kp = el->el_chared.c_kill.buf; + while (cp < el->el_line.cursor) + *kp++ = *cp++; /* copy it */ + el->el_chared.c_kill.last = kp; + } + return CC_NORM; +} + + +/* em_gosmacs_transpose(): + * Exchange the two characters before the cursor + * Gosling emacs transpose chars [^T] + */ +libedit_private el_action_t +em_gosmacs_transpose(EditLine *el, wint_t c) +{ + + if (el->el_line.cursor > &el->el_line.buffer[1]) { + /* must have at least two chars entered */ + c = el->el_line.cursor[-2]; + el->el_line.cursor[-2] = el->el_line.cursor[-1]; + el->el_line.cursor[-1] = c; + return CC_REFRESH; + } else + return CC_ERROR; +} + + +/* em_next_word(): + * Move next to end of current word + * [M-f] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_next_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + if (el->el_line.cursor == el->el_line.lastchar) + return CC_ERROR; + + el->el_line.cursor = c__next_word(el->el_line.cursor, + el->el_line.lastchar, + el->el_state.argument, + ce__isword); + + if (el->el_map.type == MAP_VI) + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + + +/* em_upper_case(): + * Uppercase the characters from cursor to end of current word + * [M-u] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_upper_case(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *cp, *ep; + + ep = c__next_word(el->el_line.cursor, el->el_line.lastchar, + el->el_state.argument, ce__isword); + + for (cp = el->el_line.cursor; cp < ep; cp++) + if (iswlower(*cp)) + *cp = towupper(*cp); + + el->el_line.cursor = ep; + if (el->el_line.cursor > el->el_line.lastchar) + el->el_line.cursor = el->el_line.lastchar; + return CC_REFRESH; +} + + +/* em_capitol_case(): + * Capitalize the characters from cursor to end of current word + * [M-c] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_capitol_case(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *cp, *ep; + + ep = c__next_word(el->el_line.cursor, el->el_line.lastchar, + el->el_state.argument, ce__isword); + + for (cp = el->el_line.cursor; cp < ep; cp++) { + if (iswalpha(*cp)) { + if (iswlower(*cp)) + *cp = towupper(*cp); + cp++; + break; + } + } + for (; cp < ep; cp++) + if (iswupper(*cp)) + *cp = towlower(*cp); + + el->el_line.cursor = ep; + if (el->el_line.cursor > el->el_line.lastchar) + el->el_line.cursor = el->el_line.lastchar; + return CC_REFRESH; +} + + +/* em_lower_case(): + * Lowercase the characters from cursor to end of current word + * [M-l] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_lower_case(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *cp, *ep; + + ep = c__next_word(el->el_line.cursor, el->el_line.lastchar, + el->el_state.argument, ce__isword); + + for (cp = el->el_line.cursor; cp < ep; cp++) + if (iswupper(*cp)) + *cp = towlower(*cp); + + el->el_line.cursor = ep; + if (el->el_line.cursor > el->el_line.lastchar) + el->el_line.cursor = el->el_line.lastchar; + return CC_REFRESH; +} + + +/* em_set_mark(): + * Set the mark at cursor + * [^@] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_set_mark(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_chared.c_kill.mark = el->el_line.cursor; + return CC_NORM; +} + + +/* em_exchange_mark(): + * Exchange the cursor and mark + * [^X^X] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_exchange_mark(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *cp; + + cp = el->el_line.cursor; + el->el_line.cursor = el->el_chared.c_kill.mark; + el->el_chared.c_kill.mark = cp; + return CC_CURSOR; +} + + +/* em_universal_argument(): + * Universal argument (argument times 4) + * [^U] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_universal_argument(EditLine *el, wint_t c __attribute__((__unused__))) +{ /* multiply current argument by 4 */ + + if (el->el_state.argument > 1000000) + return CC_ERROR; + el->el_state.doingarg = 1; + el->el_state.argument *= 4; + return CC_ARGHACK; +} + + +/* em_meta_next(): + * Add 8th bit to next character typed + * [] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_meta_next(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_state.metanext = 1; + return CC_ARGHACK; +} + + +/* em_toggle_overwrite(): + * Switch from insert to overwrite mode or vice versa + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_toggle_overwrite(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_state.inputmode = (el->el_state.inputmode == MODE_INSERT) ? + MODE_REPLACE : MODE_INSERT; + return CC_NORM; +} + + +/* em_copy_prev_word(): + * Copy current word to cursor + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_copy_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *cp, *oldc, *dp; + + if (el->el_line.cursor == el->el_line.buffer) + return CC_ERROR; + + oldc = el->el_line.cursor; + /* does a bounds check */ + cp = c__prev_word(el->el_line.cursor, el->el_line.buffer, + el->el_state.argument, ce__isword); + + c_insert(el, (int)(oldc - cp)); + for (dp = oldc; cp < oldc && dp < el->el_line.lastchar; cp++) + *dp++ = *cp; + + el->el_line.cursor = dp;/* put cursor at end */ + + return CC_REFRESH; +} + + +/* em_inc_search_next(): + * Emacs incremental next search + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_inc_search_next(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_search.patlen = 0; + return ce_inc_search(el, ED_SEARCH_NEXT_HISTORY); +} + + +/* em_inc_search_prev(): + * Emacs incremental reverse search + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_inc_search_prev(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_search.patlen = 0; + return ce_inc_search(el, ED_SEARCH_PREV_HISTORY); +} + + +/* em_delete_prev_char(): + * Delete the character to the left of the cursor + * [^?] + */ +libedit_private el_action_t +/*ARGSUSED*/ +em_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor <= el->el_line.buffer) + return CC_ERROR; + + if (el->el_state.doingarg) + c_delbefore(el, el->el_state.argument); + else + c_delbefore1(el); + el->el_line.cursor -= el->el_state.argument; + if (el->el_line.cursor < el->el_line.buffer) + el->el_line.cursor = el->el_line.buffer; + return CC_REFRESH; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/filecomplete.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/filecomplete.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/filecomplete.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/filecomplete.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,820 @@ +/* $NetBSD: filecomplete.c,v 1.62 2019/12/10 19:42:09 christos Exp $ */ + +/*- + * Copyright (c) 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Jaromir Dolecek. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" + +#if !defined(lint) && !defined(SCCSID) +__RCSID("$NetBSD: filecomplete.c,v 1.62 2019/12/10 19:42:09 christos Exp $"); +#endif /* not lint && not SCCSID */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "el.h" +#include "filecomplete.h" + +static const wchar_t break_chars[] = L" \t\n\"\\'`@$><=;|&{("; + +/********************************/ +/* completion functions */ + +/* + * does tilde expansion of strings of type ``~user/foo'' + * if ``user'' isn't valid user name or ``txt'' doesn't start + * w/ '~', returns pointer to strdup()ed copy of ``txt'' + * + * it's the caller's responsibility to free() the returned string + */ +char * +fn_tilde_expand(const char *txt) +{ +#if defined(HAVE_GETPW_R_POSIX) || defined(HAVE_GETPW_R_DRAFT) + struct passwd pwres; + char pwbuf[1024]; +#endif + struct passwd *pass; + char *temp; + size_t len = 0; + + if (txt[0] != '~') + return strdup(txt); + + temp = strchr(txt + 1, '/'); + if (temp == NULL) { + temp = strdup(txt + 1); + if (temp == NULL) + return NULL; + } else { + /* text until string after slash */ + len = (size_t)(temp - txt + 1); + temp = el_calloc(len, sizeof(*temp)); + if (temp == NULL) + return NULL; + (void)strlcpy(temp, txt + 1, len - 1); + } + if (temp[0] == 0) { +#ifdef HAVE_GETPW_R_POSIX + if (getpwuid_r(getuid(), &pwres, pwbuf, sizeof(pwbuf), + &pass) != 0) + pass = NULL; +#elif HAVE_GETPW_R_DRAFT + pass = getpwuid_r(getuid(), &pwres, pwbuf, sizeof(pwbuf)); +#else + pass = getpwuid(getuid()); +#endif + } else { +#ifdef HAVE_GETPW_R_POSIX + if (getpwnam_r(temp, &pwres, pwbuf, sizeof(pwbuf), &pass) != 0) + pass = NULL; +#elif HAVE_GETPW_R_DRAFT + pass = getpwnam_r(temp, &pwres, pwbuf, sizeof(pwbuf)); +#else + pass = getpwnam(temp); +#endif + } + el_free(temp); /* value no more needed */ + if (pass == NULL) + return strdup(txt); + + /* update pointer txt to point at string immedially following */ + /* first slash */ + txt += len; + + len = strlen(pass->pw_dir) + 1 + strlen(txt) + 1; + temp = el_calloc(len, sizeof(*temp)); + if (temp == NULL) + return NULL; + (void)snprintf(temp, len, "%s/%s", pass->pw_dir, txt); + + return temp; +} + +static int +needs_escaping(char c) +{ + switch (c) { + case '\'': + case '"': + case '(': + case ')': + case '\\': + case '<': + case '>': + case '$': + case '#': + case ' ': + case '\n': + case '\t': + case '?': + case ';': + case '`': + case '@': + case '=': + case '|': + case '{': + case '}': + case '&': + case '*': + case '[': + return 1; + default: + return 0; + } +} + +static int +needs_dquote_escaping(char c) +{ + switch (c) { + case '"': + case '\\': + case '`': + case '$': + return 1; + default: + return 0; + } +} + + +static wchar_t * +unescape_string(const wchar_t *string, size_t length) +{ + size_t i; + size_t j = 0; + wchar_t *unescaped = el_calloc(length + 1, sizeof(*string)); + if (unescaped == NULL) + return NULL; + for (i = 0; i < length ; i++) { + if (string[i] == '\\') + continue; + unescaped[j++] = string[i]; + } + unescaped[j] = 0; + return unescaped; +} + +static char * +escape_filename(EditLine * el, const char *filename, int single_match, + const char *(*app_func)(const char *)) +{ + size_t original_len = 0; + size_t escaped_character_count = 0; + size_t offset = 0; + size_t newlen; + const char *s; + char c; + size_t s_quoted = 0; /* does the input contain a single quote */ + size_t d_quoted = 0; /* does the input contain a double quote */ + char *escaped_str; + wchar_t *temp = el->el_line.buffer; + const char *append_char = NULL; + + if (filename == NULL) + return NULL; + + while (temp != el->el_line.cursor) { + /* + * If we see a single quote but have not seen a double quote + * so far set/unset s_quote + */ + if (temp[0] == '\'' && !d_quoted) + s_quoted = !s_quoted; + /* + * vice versa to the above condition + */ + else if (temp[0] == '"' && !s_quoted) + d_quoted = !d_quoted; + temp++; + } + + /* Count number of special characters so that we can calculate + * number of extra bytes needed in the new string + */ + for (s = filename; *s; s++, original_len++) { + c = *s; + /* Inside a single quote only single quotes need escaping */ + if (s_quoted && c == '\'') { + escaped_character_count += 3; + continue; + } + /* Inside double quotes only ", \, ` and $ need escaping */ + if (d_quoted && needs_dquote_escaping(c)) { + escaped_character_count++; + continue; + } + if (!s_quoted && !d_quoted && needs_escaping(c)) + escaped_character_count++; + } + + newlen = original_len + escaped_character_count + 1; + if (s_quoted || d_quoted) + newlen++; + + if (single_match && app_func) + newlen++; + + if ((escaped_str = el_malloc(newlen)) == NULL) + return NULL; + + for (s = filename; *s; s++) { + c = *s; + if (!needs_escaping(c)) { + /* no escaping is required continue as usual */ + escaped_str[offset++] = c; + continue; + } + + /* single quotes inside single quotes require special handling */ + if (c == '\'' && s_quoted) { + escaped_str[offset++] = '\''; + escaped_str[offset++] = '\\'; + escaped_str[offset++] = '\''; + escaped_str[offset++] = '\''; + continue; + } + + /* Otherwise no escaping needed inside single quotes */ + if (s_quoted) { + escaped_str[offset++] = c; + continue; + } + + /* No escaping needed inside a double quoted string either + * unless we see a '$', '\', '`', or '"' (itself) + */ + if (d_quoted && !needs_dquote_escaping(c)) { + escaped_str[offset++] = c; + continue; + } + + /* If we reach here that means escaping is actually needed */ + escaped_str[offset++] = '\\'; + escaped_str[offset++] = c; + } + + if (single_match && app_func) { + escaped_str[offset] = 0; + append_char = app_func(escaped_str); + /* we want to append space only if we are not inside quotes */ + if (append_char[0] == ' ') { + if (!s_quoted && !d_quoted) + escaped_str[offset++] = append_char[0]; + } else + escaped_str[offset++] = append_char[0]; + } + + /* close the quotes if single match and the match is not a directory */ + if (single_match && (append_char && append_char[0] == ' ')) { + if (s_quoted) + escaped_str[offset++] = '\''; + else if (d_quoted) + escaped_str[offset++] = '"'; + } + + escaped_str[offset] = 0; + return escaped_str; +} + +/* + * return first found file name starting by the ``text'' or NULL if no + * such file can be found + * value of ``state'' is ignored + * + * it's the caller's responsibility to free the returned string + */ +char * +fn_filename_completion_function(const char *text, int state) +{ + static DIR *dir = NULL; + static char *filename = NULL, *dirname = NULL, *dirpath = NULL; + static size_t filename_len = 0; + struct dirent *entry; + char *temp; + size_t len; + + if (state == 0 || dir == NULL) { + temp = strrchr(text, '/'); + if (temp) { + char *nptr; + temp++; + nptr = el_realloc(filename, (strlen(temp) + 1) * + sizeof(*nptr)); + if (nptr == NULL) { + el_free(filename); + filename = NULL; + return NULL; + } + filename = nptr; + (void)strcpy(filename, temp); + len = (size_t)(temp - text); /* including last slash */ + + nptr = el_realloc(dirname, (len + 1) * + sizeof(*nptr)); + if (nptr == NULL) { + el_free(dirname); + dirname = NULL; + return NULL; + } + dirname = nptr; + (void)strlcpy(dirname, text, len + 1); + } else { + el_free(filename); + if (*text == 0) + filename = NULL; + else { + filename = strdup(text); + if (filename == NULL) + return NULL; + } + el_free(dirname); + dirname = NULL; + } + + if (dir != NULL) { + (void)closedir(dir); + dir = NULL; + } + + /* support for ``~user'' syntax */ + + el_free(dirpath); + dirpath = NULL; + if (dirname == NULL) { + if ((dirname = strdup("")) == NULL) + return NULL; + dirpath = strdup("./"); + } else if (*dirname == '~') + dirpath = fn_tilde_expand(dirname); + else + dirpath = strdup(dirname); + + if (dirpath == NULL) + return NULL; + + dir = opendir(dirpath); + if (!dir) + return NULL; /* cannot open the directory */ + + /* will be used in cycle */ + filename_len = filename ? strlen(filename) : 0; + } + + /* find the match */ + while ((entry = readdir(dir)) != NULL) { + /* skip . and .. */ + if (entry->d_name[0] == '.' && (!entry->d_name[1] + || (entry->d_name[1] == '.' && !entry->d_name[2]))) + continue; + if (filename_len == 0) + break; + /* otherwise, get first entry where first */ + /* filename_len characters are equal */ + if (entry->d_name[0] == filename[0] + /* Some dirents have d_namlen, but it is not portable. */ + && strlen(entry->d_name) >= filename_len + && strncmp(entry->d_name, filename, + filename_len) == 0) + break; + } + + if (entry) { /* match found */ + + /* Some dirents have d_namlen, but it is not portable. */ + len = strlen(entry->d_name); + + len = strlen(dirname) + len + 1; + temp = el_calloc(len, sizeof(*temp)); + if (temp == NULL) + return NULL; + (void)snprintf(temp, len, "%s%s", dirname, entry->d_name); + } else { + (void)closedir(dir); + dir = NULL; + temp = NULL; + } + + return temp; +} + + +static const char * +append_char_function(const char *name) +{ + struct stat stbuf; + char *expname = *name == '~' ? fn_tilde_expand(name) : NULL; + const char *rs = " "; + + if (stat(expname ? expname : name, &stbuf) == -1) + goto out; + if (S_ISDIR(stbuf.st_mode)) + rs = "/"; +out: + if (expname) + el_free(expname); + return rs; +} +/* + * returns list of completions for text given + * non-static for readline. + */ +char ** completion_matches(const char *, char *(*)(const char *, int)); +char ** +completion_matches(const char *text, char *(*genfunc)(const char *, int)) +{ + char **match_list = NULL, *retstr, *prevstr; + size_t match_list_len, max_equal, which, i; + size_t matches; + + matches = 0; + match_list_len = 1; + while ((retstr = (*genfunc) (text, (int)matches)) != NULL) { + /* allow for list terminator here */ + if (matches + 3 >= match_list_len) { + char **nmatch_list; + while (matches + 3 >= match_list_len) + match_list_len <<= 1; + nmatch_list = el_realloc(match_list, + match_list_len * sizeof(*nmatch_list)); + if (nmatch_list == NULL) { + el_free(match_list); + return NULL; + } + match_list = nmatch_list; + + } + match_list[++matches] = retstr; + } + + if (!match_list) + return NULL; /* nothing found */ + + /* find least denominator and insert it to match_list[0] */ + which = 2; + prevstr = match_list[1]; + max_equal = strlen(prevstr); + for (; which <= matches; which++) { + for (i = 0; i < max_equal && + prevstr[i] == match_list[which][i]; i++) + continue; + max_equal = i; + } + + retstr = el_calloc(max_equal + 1, sizeof(*retstr)); + if (retstr == NULL) { + el_free(match_list); + return NULL; + } + (void)strlcpy(retstr, match_list[1], max_equal + 1); + match_list[0] = retstr; + + /* add NULL as last pointer to the array */ + match_list[matches + 1] = NULL; + + return match_list; +} + +/* + * Sort function for qsort(). Just wrapper around strcasecmp(). + */ +static int +_fn_qsort_string_compare(const void *i1, const void *i2) +{ + const char *s1 = ((const char * const *)i1)[0]; + const char *s2 = ((const char * const *)i2)[0]; + + return strcasecmp(s1, s2); +} + +/* + * Display list of strings in columnar format on readline's output stream. + * 'matches' is list of strings, 'num' is number of strings in 'matches', + * 'width' is maximum length of string in 'matches'. + * + * matches[0] is not one of the match strings, but it is counted in + * num, so the strings are matches[1] *through* matches[num-1]. + */ +void +fn_display_match_list(EditLine * el, char **matches, size_t num, size_t width, + const char *(*app_func) (const char *)) +{ + size_t line, lines, col, cols, thisguy; + int screenwidth = el->el_terminal.t_size.h; + if (app_func == NULL) + app_func = append_char_function; + + /* Ignore matches[0]. Avoid 1-based array logic below. */ + matches++; + num--; + + /* + * Find out how many entries can be put on one line; count + * with one space between strings the same way it's printed. + */ + cols = (size_t)screenwidth / (width + 2); + if (cols == 0) + cols = 1; + + /* how many lines of output, rounded up */ + lines = (num + cols - 1) / cols; + + /* Sort the items. */ + qsort(matches, num, sizeof(char *), _fn_qsort_string_compare); + + /* + * On the ith line print elements i, i+lines, i+lines*2, etc. + */ + for (line = 0; line < lines; line++) { + for (col = 0; col < cols; col++) { + thisguy = line + col * lines; + if (thisguy >= num) + break; + (void)fprintf(el->el_outfile, "%s%s%s", + col == 0 ? "" : " ", matches[thisguy], + (*app_func)(matches[thisguy])); + (void)fprintf(el->el_outfile, "%-*s", + (int) (width - strlen(matches[thisguy])), ""); + } + (void)fprintf(el->el_outfile, "\n"); + } +} + +static wchar_t * +find_word_to_complete(const wchar_t * cursor, const wchar_t * buffer, + const wchar_t * word_break, const wchar_t * special_prefixes, size_t * length) +{ + /* We now look backwards for the start of a filename/variable word */ + const wchar_t *ctemp = cursor; + size_t len; + + /* if the cursor is placed at a slash or a quote, we need to find the + * word before it + */ + if (ctemp > buffer) { + switch (ctemp[-1]) { + case '\\': + case '\'': + case '"': + ctemp--; + break; + default: + break; + } + } + + for (;;) { + if (ctemp <= buffer) + break; + if (wcschr(word_break, ctemp[-1])) { + if (ctemp - buffer >= 2 && ctemp[-2] == '\\') { + ctemp -= 2; + continue; + } else if (ctemp - buffer >= 2 && + (ctemp[-2] == '\'' || ctemp[-2] == '"')) { + ctemp--; + continue; + } else + break; + } + if (special_prefixes && wcschr(special_prefixes, ctemp[-1])) + break; + ctemp--; + } + + len = (size_t) (cursor - ctemp); + if (len == 1 && (ctemp[0] == '\'' || ctemp[0] == '"')) { + len = 0; + ctemp++; + } + *length = len; + wchar_t *unescaped_word = unescape_string(ctemp, len); + if (unescaped_word == NULL) + return NULL; + return unescaped_word; +} + +/* + * Complete the word at or before point, + * 'what_to_do' says what to do with the completion. + * \t means do standard completion. + * `?' means list the possible completions. + * `*' means insert all of the possible completions. + * `!' means to do standard completion, and list all possible completions if + * there is more than one. + * + * Note: '*' support is not implemented + * '!' could never be invoked + */ +int +fn_complete(EditLine *el, + char *(*complet_func)(const char *, int), + char **(*attempted_completion_function)(const char *, int, int), + const wchar_t *word_break, const wchar_t *special_prefixes, + const char *(*app_func)(const char *), size_t query_items, + int *completion_type, int *over, int *point, int *end) +{ + const LineInfoW *li; + wchar_t *temp; + char **matches; + char *completion; + size_t len; + int what_to_do = '\t'; + int retval = CC_NORM; + + if (el->el_state.lastcmd == el->el_state.thiscmd) + what_to_do = '?'; + + /* readline's rl_complete() has to be told what we did... */ + if (completion_type != NULL) + *completion_type = what_to_do; + + if (!complet_func) + complet_func = fn_filename_completion_function; + if (!app_func) + app_func = append_char_function; + + li = el_wline(el); + temp = find_word_to_complete(li->cursor, + li->buffer, word_break, special_prefixes, &len); + if (temp == NULL) + goto out; + + /* these can be used by function called in completion_matches() */ + /* or (*attempted_completion_function)() */ + if (point != NULL) + *point = (int)(li->cursor - li->buffer); + if (end != NULL) + *end = (int)(li->lastchar - li->buffer); + + if (attempted_completion_function) { + int cur_off = (int)(li->cursor - li->buffer); + matches = (*attempted_completion_function)( + ct_encode_string(temp, &el->el_scratch), + cur_off - (int)len, cur_off); + } else + matches = NULL; + if (!attempted_completion_function || + (over != NULL && !*over && !matches)) + matches = completion_matches( + ct_encode_string(temp, &el->el_scratch), complet_func); + + if (over != NULL) + *over = 0; + + if (matches == NULL) { + goto out; + } + int i; + size_t matches_num, maxlen, match_len, match_display=1; + int single_match = matches[2] == NULL && + (matches[1] == NULL || strcmp(matches[0], matches[1]) == 0); + + retval = CC_REFRESH; + + if (matches[0][0] != '\0') { + el_deletestr(el, (int)len); + if (!attempted_completion_function) + completion = escape_filename(el, matches[0], + single_match, app_func); + else + completion = strdup(matches[0]); + if (completion == NULL) + goto out; + + /* + * Replace the completed string with the common part of + * all possible matches if there is a possible completion. + */ + el_winsertstr(el, + ct_decode_string(completion, &el->el_scratch)); + + if (single_match && attempted_completion_function) { + /* + * We found an exact match. Add a space after + * it, unless we do filename completion and the + * object is a directory. Also do necessary + * escape quoting + */ + el_winsertstr(el, ct_decode_string( + (*app_func)(completion), &el->el_scratch)); + } + free(completion); + } + + + if (!single_match && (what_to_do == '!' || what_to_do == '?')) { + /* + * More than one match and requested to list possible + * matches. + */ + + for(i = 1, maxlen = 0; matches[i]; i++) { + match_len = strlen(matches[i]); + if (match_len > maxlen) + maxlen = match_len; + } + /* matches[1] through matches[i-1] are available */ + matches_num = (size_t)(i - 1); + + /* newline to get on next line from command line */ + (void)fprintf(el->el_outfile, "\n"); + + /* + * If there are too many items, ask user for display + * confirmation. + */ + if (matches_num > query_items) { + (void)fprintf(el->el_outfile, + "Display all %zu possibilities? (y or n) ", + matches_num); + (void)fflush(el->el_outfile); + if (getc(stdin) != 'y') + match_display = 0; + (void)fprintf(el->el_outfile, "\n"); + } + + if (match_display) { + /* + * Interface of this function requires the + * strings be matches[1..num-1] for compat. + * We have matches_num strings not counting + * the prefix in matches[0], so we need to + * add 1 to matches_num for the call. + */ + fn_display_match_list(el, matches, + matches_num+1, maxlen, app_func); + } + retval = CC_REDISPLAY; + } else if (matches[0][0]) { + /* + * There was some common match, but the name was + * not complete enough. Next tab will print possible + * completions. + */ + el_beep(el); + } else { + /* lcd is not a valid object - further specification */ + /* is needed */ + el_beep(el); + retval = CC_NORM; + } + + /* free elements of array and the array itself */ + for (i = 0; matches[i]; i++) + el_free(matches[i]); + el_free(matches); + matches = NULL; + +out: + el_free(temp); + return retval; +} + +/* + * el-compatible wrapper around rl_complete; needed for key binding + */ +/* ARGSUSED */ +unsigned char +_el_fn_complete(EditLine *el, int ch __attribute__((__unused__))) +{ + return (unsigned char)fn_complete(el, NULL, NULL, + break_chars, NULL, NULL, (size_t)100, + NULL, NULL, NULL, NULL); +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/filecomplete.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/filecomplete.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/filecomplete.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/filecomplete.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,45 @@ +/* $NetBSD: filecomplete.h,v 1.11 2017/04/21 05:38:03 abhinav Exp $ */ + +/*- + * Copyright (c) 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Jaromir Dolecek. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef _FILECOMPLETE_H_ +#define _FILECOMPLETE_H_ + +int fn_complete(EditLine *, + char *(*)(const char *, int), + char **(*)(const char *, int, int), + const wchar_t *, const wchar_t *, const char *(*)(const char *), size_t, + int *, int *, int *, int *); + +void fn_display_match_list(EditLine *, char **, size_t, size_t, + const char *(*)(const char *)); +char *fn_tilde_expand(const char *); +char *fn_filename_completion_function(const char *, int); + +#endif diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/hist.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/hist.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/hist.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/hist.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,252 @@ +/* $NetBSD: hist.c,v 1.34 2019/07/23 10:19:35 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)hist.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: hist.c,v 1.34 2019/07/23 10:19:35 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * hist.c: History access functions + */ +#include +#include +#include + +#include "el.h" + +/* hist_init(): + * Initialization function. + */ +libedit_private int +hist_init(EditLine *el) +{ + + el->el_history.fun = NULL; + el->el_history.ref = NULL; + el->el_history.buf = el_calloc(EL_BUFSIZ, sizeof(*el->el_history.buf)); + if (el->el_history.buf == NULL) + return -1; + el->el_history.sz = EL_BUFSIZ; + el->el_history.last = el->el_history.buf; + return 0; +} + + +/* hist_end(): + * clean up history; + */ +libedit_private void +hist_end(EditLine *el) +{ + + el_free(el->el_history.buf); + el->el_history.buf = NULL; +} + + +/* hist_set(): + * Set new history interface + */ +libedit_private int +hist_set(EditLine *el, hist_fun_t fun, void *ptr) +{ + + el->el_history.ref = ptr; + el->el_history.fun = fun; + return 0; +} + + +/* hist_get(): + * Get a history line and update it in the buffer. + * eventno tells us the event to get. + */ +libedit_private el_action_t +hist_get(EditLine *el) +{ + const wchar_t *hp; + int h; + size_t blen, hlen; + + if (el->el_history.eventno == 0) { /* if really the current line */ + (void) wcsncpy(el->el_line.buffer, el->el_history.buf, + el->el_history.sz); + el->el_line.lastchar = el->el_line.buffer + + (el->el_history.last - el->el_history.buf); + +#ifdef KSHVI + if (el->el_map.type == MAP_VI) + el->el_line.cursor = el->el_line.buffer; + else +#endif /* KSHVI */ + el->el_line.cursor = el->el_line.lastchar; + + return CC_REFRESH; + } + if (el->el_history.ref == NULL) + return CC_ERROR; + + hp = HIST_FIRST(el); + + if (hp == NULL) + return CC_ERROR; + + for (h = 1; h < el->el_history.eventno; h++) + if ((hp = HIST_NEXT(el)) == NULL) + goto out; + + hlen = wcslen(hp) + 1; + blen = (size_t)(el->el_line.limit - el->el_line.buffer); + if (hlen > blen && !ch_enlargebufs(el, hlen)) + goto out; + + memcpy(el->el_line.buffer, hp, hlen * sizeof(*hp)); + el->el_line.lastchar = el->el_line.buffer + hlen - 1; + + if (el->el_line.lastchar > el->el_line.buffer + && el->el_line.lastchar[-1] == '\n') + el->el_line.lastchar--; + if (el->el_line.lastchar > el->el_line.buffer + && el->el_line.lastchar[-1] == ' ') + el->el_line.lastchar--; +#ifdef KSHVI + if (el->el_map.type == MAP_VI) + el->el_line.cursor = el->el_line.buffer; + else +#endif /* KSHVI */ + el->el_line.cursor = el->el_line.lastchar; + + return CC_REFRESH; +out: + el->el_history.eventno = h; + return CC_ERROR; + +} + + +/* hist_command() + * process a history command + */ +libedit_private int +hist_command(EditLine *el, int argc, const wchar_t **argv) +{ + const wchar_t *str; + int num; + HistEventW ev; + + if (el->el_history.ref == NULL) + return -1; + + if (argc == 1 || wcscmp(argv[1], L"list") == 0) { + size_t maxlen = 0; + char *buf = NULL; + int hno = 1; + /* List history entries */ + + for (str = HIST_LAST(el); str != NULL; str = HIST_PREV(el)) { + char *ptr = + ct_encode_string(str, &el->el_scratch); + size_t len = strlen(ptr); + if (len > 0 && ptr[len - 1] == '\n') + ptr[--len] = '\0'; + len = len * 4 + 1; + if (len >= maxlen) { + maxlen = len + 1024; + char *nbuf = el_realloc(buf, maxlen); + if (nbuf == NULL) { + el_free(buf); + return -1; + } + buf = nbuf; + } + strvis(buf, ptr, VIS_NL); + (void) fprintf(el->el_outfile, "%d\t%s\n", + hno++, buf); + } + el_free(buf); + return 0; + } + + if (argc != 3) + return -1; + + num = (int)wcstol(argv[2], NULL, 0); + + if (wcscmp(argv[1], L"size") == 0) + return history_w(el->el_history.ref, &ev, H_SETSIZE, num); + + if (wcscmp(argv[1], L"unique") == 0) + return history_w(el->el_history.ref, &ev, H_SETUNIQUE, num); + + return -1; +} + +/* hist_enlargebuf() + * Enlarge history buffer to specified value. Called from el_enlargebufs(). + * Return 0 for failure, 1 for success. + */ +libedit_private int +/*ARGSUSED*/ +hist_enlargebuf(EditLine *el, size_t oldsz, size_t newsz) +{ + wchar_t *newbuf; + + newbuf = el_realloc(el->el_history.buf, newsz * sizeof(*newbuf)); + if (!newbuf) + return 0; + + (void) memset(&newbuf[oldsz], '\0', (newsz - oldsz) * sizeof(*newbuf)); + + el->el_history.last = newbuf + + (el->el_history.last - el->el_history.buf); + el->el_history.buf = newbuf; + el->el_history.sz = newsz; + + return 1; +} + +libedit_private wchar_t * +hist_convert(EditLine *el, int fn, void *arg) +{ + HistEventW ev; + if ((*(el)->el_history.fun)((el)->el_history.ref, &ev, fn, arg) == -1) + return NULL; + return ct_decode_string((const char *)(const void *)ev.str, + &el->el_scratch); +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/histedit.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/histedit.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/histedit.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/histedit.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,314 @@ +/* $NetBSD: histedit.h,v 1.57 2017/09/01 10:19:10 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)histedit.h 8.2 (Berkeley) 1/3/94 + */ + +/* + * histedit.h: Line editor and history interface. + */ +#ifndef _HISTEDIT_H_ +#define _HISTEDIT_H_ + +#define LIBEDIT_MAJOR 2 +#define LIBEDIT_MINOR 11 + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * ==== Editing ==== + */ + +typedef struct editline EditLine; + +/* + * For user-defined function interface + */ +typedef struct lineinfo { + const char *buffer; + const char *cursor; + const char *lastchar; +} LineInfo; + +/* + * EditLine editor function return codes. + * For user-defined function interface + */ +#define CC_NORM 0 +#define CC_NEWLINE 1 +#define CC_EOF 2 +#define CC_ARGHACK 3 +#define CC_REFRESH 4 +#define CC_CURSOR 5 +#define CC_ERROR 6 +#define CC_FATAL 7 +#define CC_REDISPLAY 8 +#define CC_REFRESH_BEEP 9 + +/* + * Initialization, cleanup, and resetting + */ +EditLine *el_init(const char *, FILE *, FILE *, FILE *); +EditLine *el_init_fd(const char *, FILE *, FILE *, FILE *, + int, int, int); +void el_end(EditLine *); +void el_reset(EditLine *); + +/* + * Get a line, a character or push a string back in the input queue + */ +const char *el_gets(EditLine *, int *); +int el_getc(EditLine *, char *); +void el_push(EditLine *, const char *); + +/* + * Beep! + */ +void el_beep(EditLine *); + +/* + * High level function internals control + * Parses argc, argv array and executes builtin editline commands + */ +int el_parse(EditLine *, int, const char **); + +/* + * Low level editline access functions + */ +int el_set(EditLine *, int, ...); +int el_get(EditLine *, int, ...); +unsigned char _el_fn_complete(EditLine *, int); + +/* + * el_set/el_get parameters + * + * When using el_wset/el_wget (as opposed to el_set/el_get): + * Char is wchar_t, otherwise it is char. + * prompt_func is el_wpfunc_t, otherwise it is el_pfunc_t . + + * Prompt function prototypes are: + * typedef char *(*el_pfunct_t) (EditLine *); + * typedef wchar_t *(*el_wpfunct_t) (EditLine *); + * + * For operations that support set or set/get, the argument types listed are for + * the "set" operation. For "get", each listed type must be a pointer. + * E.g. EL_EDITMODE takes an int when set, but an int* when get. + * + * Operations that only support "get" have the correct argument types listed. + */ +#define EL_PROMPT 0 /* , prompt_func); set/get */ +#define EL_TERMINAL 1 /* , const char *); set/get */ +#define EL_EDITOR 2 /* , const Char *); set/get */ +#define EL_SIGNAL 3 /* , int); set/get */ +#define EL_BIND 4 /* , const Char *, ..., NULL); set */ +#define EL_TELLTC 5 /* , const Char *, ..., NULL); set */ +#define EL_SETTC 6 /* , const Char *, ..., NULL); set */ +#define EL_ECHOTC 7 /* , const Char *, ..., NULL); set */ +#define EL_SETTY 8 /* , const Char *, ..., NULL); set */ +#define EL_ADDFN 9 /* , const Char *, const Char, set */ + /* el_func_t); */ +#define EL_HIST 10 /* , hist_fun_t, const void *); set */ +#define EL_EDITMODE 11 /* , int); set/get */ +#define EL_RPROMPT 12 /* , prompt_func); set/get */ +#define EL_GETCFN 13 /* , el_rfunc_t); set/get */ +#define EL_CLIENTDATA 14 /* , void *); set/get */ +#define EL_UNBUFFERED 15 /* , int); set/get */ +#define EL_PREP_TERM 16 /* , int); set */ +#define EL_GETTC 17 /* , const Char *, ..., NULL); get */ +#define EL_GETFP 18 /* , int, FILE **); get */ +#define EL_SETFP 19 /* , int, FILE *); set */ +#define EL_REFRESH 20 /* , void); set */ +#define EL_PROMPT_ESC 21 /* , prompt_func, Char); set/get */ +#define EL_RPROMPT_ESC 22 /* , prompt_func, Char); set/get */ +#define EL_RESIZE 23 /* , el_zfunc_t, void *); set */ +#define EL_ALIAS_TEXT 24 /* , el_afunc_t, void *); set */ + +#define EL_BUILTIN_GETCFN (NULL) + +/* + * Source named file or $PWD/.editrc or $HOME/.editrc + */ +int el_source(EditLine *, const char *); + +/* + * Must be called when the terminal changes size; If EL_SIGNAL + * is set this is done automatically otherwise it is the responsibility + * of the application + */ +void el_resize(EditLine *); + +/* + * User-defined function interface. + */ +const LineInfo *el_line(EditLine *); +int el_insertstr(EditLine *, const char *); +void el_deletestr(EditLine *, int); + + +/* + * ==== History ==== + */ + +typedef struct history History; + +typedef struct HistEvent { + int num; + const char *str; +} HistEvent; + +/* + * History access functions. + */ +History * history_init(void); +void history_end(History *); + +int history(History *, HistEvent *, int, ...); + +#define H_FUNC 0 /* , UTSL */ +#define H_SETSIZE 1 /* , const int); */ +#define H_GETSIZE 2 /* , void); */ +#define H_FIRST 3 /* , void); */ +#define H_LAST 4 /* , void); */ +#define H_PREV 5 /* , void); */ +#define H_NEXT 6 /* , void); */ +#define H_CURR 8 /* , const int); */ +#define H_SET 7 /* , int); */ +#define H_ADD 9 /* , const wchar_t *); */ +#define H_ENTER 10 /* , const wchar_t *); */ +#define H_APPEND 11 /* , const wchar_t *); */ +#define H_END 12 /* , void); */ +#define H_NEXT_STR 13 /* , const wchar_t *); */ +#define H_PREV_STR 14 /* , const wchar_t *); */ +#define H_NEXT_EVENT 15 /* , const int); */ +#define H_PREV_EVENT 16 /* , const int); */ +#define H_LOAD 17 /* , const char *); */ +#define H_SAVE 18 /* , const char *); */ +#define H_CLEAR 19 /* , void); */ +#define H_SETUNIQUE 20 /* , int); */ +#define H_GETUNIQUE 21 /* , void); */ +#define H_DEL 22 /* , int); */ +#define H_NEXT_EVDATA 23 /* , const int, histdata_t *); */ +#define H_DELDATA 24 /* , int, histdata_t *);*/ +#define H_REPLACE 25 /* , const char *, histdata_t); */ +#define H_SAVE_FP 26 /* , FILE *); */ +#define H_NSAVE_FP 27 /* , size_t, FILE *); */ + + + +/* + * ==== Tokenization ==== + */ + +typedef struct tokenizer Tokenizer; + +/* + * String tokenization functions, using simplified sh(1) quoting rules + */ +Tokenizer *tok_init(const char *); +void tok_end(Tokenizer *); +void tok_reset(Tokenizer *); +int tok_line(Tokenizer *, const LineInfo *, + int *, const char ***, int *, int *); +int tok_str(Tokenizer *, const char *, + int *, const char ***); + +/* + * Begin Wide Character Support + */ +#include +#include + +/* + * ==== Editing ==== + */ +typedef struct lineinfow { + const wchar_t *buffer; + const wchar_t *cursor; + const wchar_t *lastchar; +} LineInfoW; + +typedef int (*el_rfunc_t)(EditLine *, wchar_t *); + +const wchar_t *el_wgets(EditLine *, int *); +int el_wgetc(EditLine *, wchar_t *); +void el_wpush(EditLine *, const wchar_t *); + +int el_wparse(EditLine *, int, const wchar_t **); + +int el_wset(EditLine *, int, ...); +int el_wget(EditLine *, int, ...); + +int el_cursor(EditLine *, int); +const LineInfoW *el_wline(EditLine *); +int el_winsertstr(EditLine *, const wchar_t *); +#define el_wdeletestr el_deletestr + +/* + * ==== History ==== + */ +typedef struct histeventW { + int num; + const wchar_t *str; +} HistEventW; + +typedef struct historyW HistoryW; + +HistoryW * history_winit(void); +void history_wend(HistoryW *); + +int history_w(HistoryW *, HistEventW *, int, ...); + +/* + * ==== Tokenization ==== + */ +typedef struct tokenizerW TokenizerW; + +/* Wide character tokenizer support */ +TokenizerW *tok_winit(const wchar_t *); +void tok_wend(TokenizerW *); +void tok_wreset(TokenizerW *); +int tok_wline(TokenizerW *, const LineInfoW *, + int *, const wchar_t ***, int *, int *); +int tok_wstr(TokenizerW *, const wchar_t *, + int *, const wchar_t ***); + +#ifdef __cplusplus +} +#endif + +#endif /* _HISTEDIT_H_ */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/hist.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/hist.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/hist.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/hist.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,80 @@ +/* $NetBSD: hist.h,v 1.23 2017/09/01 10:19:10 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)hist.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.hist.c: History functions + */ +#ifndef _h_el_hist +#define _h_el_hist + +typedef int (*hist_fun_t)(void *, HistEventW *, int, ...); + +typedef struct el_history_t { + wchar_t *buf; /* The history buffer */ + size_t sz; /* Size of history buffer */ + wchar_t *last; /* The last character */ + int eventno; /* Event we are looking for */ + void *ref; /* Argument for history fcns */ + hist_fun_t fun; /* Event access */ + HistEventW ev; /* Event cookie */ +} el_history_t; + +#define HIST_FUN_INTERNAL(el, fn, arg) \ + ((((*(el)->el_history.fun) ((el)->el_history.ref, &(el)->el_history.ev, \ + fn, arg)) == -1) ? NULL : (el)->el_history.ev.str) +#define HIST_FUN(el, fn, arg) \ + (((el)->el_flags & NARROW_HISTORY) ? hist_convert(el, fn, arg) : \ + HIST_FUN_INTERNAL(el, fn, arg)) + +#define HIST_NEXT(el) HIST_FUN(el, H_NEXT, NULL) +#define HIST_FIRST(el) HIST_FUN(el, H_FIRST, NULL) +#define HIST_LAST(el) HIST_FUN(el, H_LAST, NULL) +#define HIST_PREV(el) HIST_FUN(el, H_PREV, NULL) +#define HIST_SET(el, num) HIST_FUN(el, H_SET, num) +#define HIST_LOAD(el, fname) HIST_FUN(el, H_LOAD fname) +#define HIST_SAVE(el, fname) HIST_FUN(el, H_SAVE fname) +#define HIST_SAVE_FP(el, fp) HIST_FUN(el, H_SAVE_FP, fp) +#define HIST_NSAVE_FP(el, n, fp) HIST_FUN(el, H_NSAVE_FP, n, fp) + +libedit_private int hist_init(EditLine *); +libedit_private void hist_end(EditLine *); +libedit_private el_action_t hist_get(EditLine *); +libedit_private int hist_set(EditLine *, hist_fun_t, void *); +libedit_private int hist_command(EditLine *, int, const wchar_t **); +libedit_private int hist_enlargebuf(EditLine *, size_t, size_t); +libedit_private wchar_t *hist_convert(EditLine *, int, void *); + +#endif /* _h_el_hist */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/history.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/history.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/history.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/history.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,1183 @@ +/* $NetBSD: history.c,v 1.63 2019/10/08 19:17:57 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef NARROWCHAR +#include "config.h" +#endif + +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)history.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: history.c,v 1.63 2019/10/08 19:17:57 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * hist.c: TYPE(History) access functions + */ +#include +#include +#include +#include +#include + +static const char hist_cookie[] = "_HiStOrY_V2_\n"; + +#include "histedit.h" + + +#ifdef NARROWCHAR + +#define Char char +#define FUN(prefix, rest) prefix ## _ ## rest +#define FUNW(type) type +#define TYPE(type) type +#define STR(x) x + +#define Strlen(s) strlen(s) +#define Strdup(s) strdup(s) +#define Strcmp(d, s) strcmp(d, s) +#define Strncmp(d, s, n) strncmp(d, s, n) +#define Strncpy(d, s, n) strncpy(d, s, n) +#define Strncat(d, s, n) strncat(d, s, n) +#define ct_decode_string(s, b) (s) +#define ct_encode_string(s, b) (s) + +#else +#include "chartype.h" + +#define Char wchar_t +#define FUN(prefix, rest) prefix ## _w ## rest +#define FUNW(type) type ## _w +#define TYPE(type) type ## W +#define STR(x) L ## x + +#define Strlen(s) wcslen(s) +#define Strdup(s) wcsdup(s) +#define Strcmp(d, s) wcscmp(d, s) +#define Strncmp(d, s, n) wcsncmp(d, s, n) +#define Strncpy(d, s, n) wcsncpy(d, s, n) +#define Strncat(d, s, n) wcsncat(d, s, n) + +#endif + + +typedef int (*history_gfun_t)(void *, TYPE(HistEvent) *); +typedef int (*history_efun_t)(void *, TYPE(HistEvent) *, const Char *); +typedef void (*history_vfun_t)(void *, TYPE(HistEvent) *); +typedef int (*history_sfun_t)(void *, TYPE(HistEvent) *, const int); + +struct TYPE(history) { + void *h_ref; /* Argument for history fcns */ + int h_ent; /* Last entry point for history */ + history_gfun_t h_first; /* Get the first element */ + history_gfun_t h_next; /* Get the next element */ + history_gfun_t h_last; /* Get the last element */ + history_gfun_t h_prev; /* Get the previous element */ + history_gfun_t h_curr; /* Get the current element */ + history_sfun_t h_set; /* Set the current element */ + history_sfun_t h_del; /* Set the given element */ + history_vfun_t h_clear; /* Clear the history list */ + history_efun_t h_enter; /* Add an element */ + history_efun_t h_add; /* Append to an element */ +}; + +#define HNEXT(h, ev) (*(h)->h_next)((h)->h_ref, ev) +#define HFIRST(h, ev) (*(h)->h_first)((h)->h_ref, ev) +#define HPREV(h, ev) (*(h)->h_prev)((h)->h_ref, ev) +#define HLAST(h, ev) (*(h)->h_last)((h)->h_ref, ev) +#define HCURR(h, ev) (*(h)->h_curr)((h)->h_ref, ev) +#define HSET(h, ev, n) (*(h)->h_set)((h)->h_ref, ev, n) +#define HCLEAR(h, ev) (*(h)->h_clear)((h)->h_ref, ev) +#define HENTER(h, ev, str) (*(h)->h_enter)((h)->h_ref, ev, str) +#define HADD(h, ev, str) (*(h)->h_add)((h)->h_ref, ev, str) +#define HDEL(h, ev, n) (*(h)->h_del)((h)->h_ref, ev, n) + +#define h_strdup(a) Strdup(a) +#define h_malloc(a) malloc(a) +#define h_realloc(a, b) realloc((a), (b)) +#define h_free(a) free(a) + +typedef struct { + int num; + Char *str; +} HistEventPrivate; + + +static int history_setsize(TYPE(History) *, TYPE(HistEvent) *, int); +static int history_getsize(TYPE(History) *, TYPE(HistEvent) *); +static int history_setunique(TYPE(History) *, TYPE(HistEvent) *, int); +static int history_getunique(TYPE(History) *, TYPE(HistEvent) *); +static int history_set_fun(TYPE(History) *, TYPE(History) *); +static int history_load(TYPE(History) *, const char *); +static int history_save(TYPE(History) *, const char *); +static int history_save_fp(TYPE(History) *, size_t, FILE *); +static int history_prev_event(TYPE(History) *, TYPE(HistEvent) *, int); +static int history_next_event(TYPE(History) *, TYPE(HistEvent) *, int); +static int history_next_string(TYPE(History) *, TYPE(HistEvent) *, + const Char *); +static int history_prev_string(TYPE(History) *, TYPE(HistEvent) *, + const Char *); + + +/***********************************************************************/ + +/* + * Builtin- history implementation + */ +typedef struct hentry_t { + TYPE(HistEvent) ev; /* What we return */ + void *data; /* data */ + struct hentry_t *next; /* Next entry */ + struct hentry_t *prev; /* Previous entry */ +} hentry_t; + +typedef struct history_t { + hentry_t list; /* Fake list header element */ + hentry_t *cursor; /* Current element in the list */ + int max; /* Maximum number of events */ + int cur; /* Current number of events */ + int eventid; /* For generation of unique event id */ + int flags; /* TYPE(History) flags */ +#define H_UNIQUE 1 /* Store only unique elements */ +} history_t; + +static int history_def_next(void *, TYPE(HistEvent) *); +static int history_def_first(void *, TYPE(HistEvent) *); +static int history_def_prev(void *, TYPE(HistEvent) *); +static int history_def_last(void *, TYPE(HistEvent) *); +static int history_def_curr(void *, TYPE(HistEvent) *); +static int history_def_set(void *, TYPE(HistEvent) *, const int); +static void history_def_clear(void *, TYPE(HistEvent) *); +static int history_def_enter(void *, TYPE(HistEvent) *, const Char *); +static int history_def_add(void *, TYPE(HistEvent) *, const Char *); +static int history_def_del(void *, TYPE(HistEvent) *, const int); + +static int history_def_init(void **, TYPE(HistEvent) *, int); +static int history_def_insert(history_t *, TYPE(HistEvent) *, const Char *); +static void history_def_delete(history_t *, TYPE(HistEvent) *, hentry_t *); + +static int history_deldata_nth(history_t *, TYPE(HistEvent) *, int, void **); +static int history_set_nth(void *, TYPE(HistEvent) *, int); + +#define history_def_setsize(p, num)(void) (((history_t *)p)->max = (num)) +#define history_def_getsize(p) (((history_t *)p)->cur) +#define history_def_getunique(p) (((((history_t *)p)->flags) & H_UNIQUE) != 0) +#define history_def_setunique(p, uni) \ + if (uni) \ + (((history_t *)p)->flags) |= H_UNIQUE; \ + else \ + (((history_t *)p)->flags) &= ~H_UNIQUE + +#define he_strerror(code) he_errlist[code] +#define he_seterrev(evp, code) {\ + evp->num = code;\ + evp->str = he_strerror(code);\ + } + +/* error messages */ +static const Char *const he_errlist[] = { + STR("OK"), + STR("unknown error"), + STR("malloc() failed"), + STR("first event not found"), + STR("last event not found"), + STR("empty list"), + STR("no next event"), + STR("no previous event"), + STR("current event is invalid"), + STR("event not found"), + STR("can't read history from file"), + STR("can't write history"), + STR("required parameter(s) not supplied"), + STR("history size negative"), + STR("function not allowed with other history-functions-set the default"), + STR("bad parameters") +}; +/* error codes */ +#define _HE_OK 0 +#define _HE_UNKNOWN 1 +#define _HE_MALLOC_FAILED 2 +#define _HE_FIRST_NOTFOUND 3 +#define _HE_LAST_NOTFOUND 4 +#define _HE_EMPTY_LIST 5 +#define _HE_END_REACHED 6 +#define _HE_START_REACHED 7 +#define _HE_CURR_INVALID 8 +#define _HE_NOT_FOUND 9 +#define _HE_HIST_READ 10 +#define _HE_HIST_WRITE 11 +#define _HE_PARAM_MISSING 12 +#define _HE_SIZE_NEGATIVE 13 +#define _HE_NOT_ALLOWED 14 +#define _HE_BAD_PARAM 15 + +/* history_def_first(): + * Default function to return the first event in the history. + */ +static int +history_def_first(void *p, TYPE(HistEvent) *ev) +{ + history_t *h = (history_t *) p; + + h->cursor = h->list.next; + if (h->cursor != &h->list) + *ev = h->cursor->ev; + else { + he_seterrev(ev, _HE_FIRST_NOTFOUND); + return -1; + } + + return 0; +} + + +/* history_def_last(): + * Default function to return the last event in the history. + */ +static int +history_def_last(void *p, TYPE(HistEvent) *ev) +{ + history_t *h = (history_t *) p; + + h->cursor = h->list.prev; + if (h->cursor != &h->list) + *ev = h->cursor->ev; + else { + he_seterrev(ev, _HE_LAST_NOTFOUND); + return -1; + } + + return 0; +} + + +/* history_def_next(): + * Default function to return the next event in the history. + */ +static int +history_def_next(void *p, TYPE(HistEvent) *ev) +{ + history_t *h = (history_t *) p; + + if (h->cursor == &h->list) { + he_seterrev(ev, _HE_EMPTY_LIST); + return -1; + } + + if (h->cursor->next == &h->list) { + he_seterrev(ev, _HE_END_REACHED); + return -1; + } + + h->cursor = h->cursor->next; + *ev = h->cursor->ev; + + return 0; +} + + +/* history_def_prev(): + * Default function to return the previous event in the history. + */ +static int +history_def_prev(void *p, TYPE(HistEvent) *ev) +{ + history_t *h = (history_t *) p; + + if (h->cursor == &h->list) { + he_seterrev(ev, + (h->cur > 0) ? _HE_END_REACHED : _HE_EMPTY_LIST); + return -1; + } + + if (h->cursor->prev == &h->list) { + he_seterrev(ev, _HE_START_REACHED); + return -1; + } + + h->cursor = h->cursor->prev; + *ev = h->cursor->ev; + + return 0; +} + + +/* history_def_curr(): + * Default function to return the current event in the history. + */ +static int +history_def_curr(void *p, TYPE(HistEvent) *ev) +{ + history_t *h = (history_t *) p; + + if (h->cursor != &h->list) + *ev = h->cursor->ev; + else { + he_seterrev(ev, + (h->cur > 0) ? _HE_CURR_INVALID : _HE_EMPTY_LIST); + return -1; + } + + return 0; +} + + +/* history_def_set(): + * Default function to set the current event in the history to the + * given one. + */ +static int +history_def_set(void *p, TYPE(HistEvent) *ev, const int n) +{ + history_t *h = (history_t *) p; + + if (h->cur == 0) { + he_seterrev(ev, _HE_EMPTY_LIST); + return -1; + } + if (h->cursor == &h->list || h->cursor->ev.num != n) { + for (h->cursor = h->list.next; h->cursor != &h->list; + h->cursor = h->cursor->next) + if (h->cursor->ev.num == n) + break; + } + if (h->cursor == &h->list) { + he_seterrev(ev, _HE_NOT_FOUND); + return -1; + } + return 0; +} + + +/* history_set_nth(): + * Default function to set the current event in the history to the + * n-th one. + */ +static int +history_set_nth(void *p, TYPE(HistEvent) *ev, int n) +{ + history_t *h = (history_t *) p; + + if (h->cur == 0) { + he_seterrev(ev, _HE_EMPTY_LIST); + return -1; + } + for (h->cursor = h->list.prev; h->cursor != &h->list; + h->cursor = h->cursor->prev) + if (n-- <= 0) + break; + if (h->cursor == &h->list) { + he_seterrev(ev, _HE_NOT_FOUND); + return -1; + } + return 0; +} + + +/* history_def_add(): + * Append string to element + */ +static int +history_def_add(void *p, TYPE(HistEvent) *ev, const Char *str) +{ + history_t *h = (history_t *) p; + size_t len, elen, slen; + Char *s; + HistEventPrivate *evp = (void *)&h->cursor->ev; + + if (h->cursor == &h->list) + return history_def_enter(p, ev, str); + elen = Strlen(evp->str); + slen = Strlen(str); + len = elen + slen + 1; + s = h_malloc(len * sizeof(*s)); + if (s == NULL) { + he_seterrev(ev, _HE_MALLOC_FAILED); + return -1; + } + memcpy(s, evp->str, elen * sizeof(*s)); + memcpy(s + elen, str, slen * sizeof(*s)); + s[len - 1] = '\0'; + h_free(evp->str); + evp->str = s; + *ev = h->cursor->ev; + return 0; +} + + +static int +history_deldata_nth(history_t *h, TYPE(HistEvent) *ev, + int num, void **data) +{ + if (history_set_nth(h, ev, num) != 0) + return -1; + /* magic value to skip delete (just set to n-th history) */ + if (data == (void **)-1) + return 0; + ev->str = Strdup(h->cursor->ev.str); + ev->num = h->cursor->ev.num; + if (data) + *data = h->cursor->data; + history_def_delete(h, ev, h->cursor); + return 0; +} + + +/* history_def_del(): + * Delete element hp of the h list + */ +/* ARGSUSED */ +static int +history_def_del(void *p, TYPE(HistEvent) *ev __attribute__((__unused__)), + const int num) +{ + history_t *h = (history_t *) p; + if (history_def_set(h, ev, num) != 0) + return -1; + ev->str = Strdup(h->cursor->ev.str); + ev->num = h->cursor->ev.num; + history_def_delete(h, ev, h->cursor); + return 0; +} + + +/* history_def_delete(): + * Delete element hp of the h list + */ +/* ARGSUSED */ +static void +history_def_delete(history_t *h, + TYPE(HistEvent) *ev __attribute__((__unused__)), hentry_t *hp) +{ + HistEventPrivate *evp = (void *)&hp->ev; + if (hp == &h->list) + abort(); + if (h->cursor == hp) { + h->cursor = hp->prev; + if (h->cursor == &h->list) + h->cursor = hp->next; + } + hp->prev->next = hp->next; + hp->next->prev = hp->prev; + h_free(evp->str); + h_free(hp); + h->cur--; +} + + +/* history_def_insert(): + * Insert element with string str in the h list + */ +static int +history_def_insert(history_t *h, TYPE(HistEvent) *ev, const Char *str) +{ + hentry_t *c; + + c = h_malloc(sizeof(*c)); + if (c == NULL) + goto oomem; + if ((c->ev.str = h_strdup(str)) == NULL) { + h_free(c); + goto oomem; + } + c->data = NULL; + c->ev.num = ++h->eventid; + c->next = h->list.next; + c->prev = &h->list; + h->list.next->prev = c; + h->list.next = c; + h->cur++; + h->cursor = c; + + *ev = c->ev; + return 0; +oomem: + he_seterrev(ev, _HE_MALLOC_FAILED); + return -1; +} + + +/* history_def_enter(): + * Default function to enter an item in the history + */ +static int +history_def_enter(void *p, TYPE(HistEvent) *ev, const Char *str) +{ + history_t *h = (history_t *) p; + + if ((h->flags & H_UNIQUE) != 0 && h->list.next != &h->list && + Strcmp(h->list.next->ev.str, str) == 0) + return 0; + + if (history_def_insert(h, ev, str) == -1) + return -1; /* error, keep error message */ + + /* + * Always keep at least one entry. + * This way we don't have to check for the empty list. + */ + while (h->cur > h->max && h->cur > 0) + history_def_delete(h, ev, h->list.prev); + + return 1; +} + + +/* history_def_init(): + * Default history initialization function + */ +/* ARGSUSED */ +static int +history_def_init(void **p, TYPE(HistEvent) *ev __attribute__((__unused__)), int n) +{ + history_t *h = (history_t *) h_malloc(sizeof(*h)); + if (h == NULL) + return -1; + + if (n <= 0) + n = 0; + h->eventid = 0; + h->cur = 0; + h->max = n; + h->list.next = h->list.prev = &h->list; + h->list.ev.str = NULL; + h->list.ev.num = 0; + h->cursor = &h->list; + h->flags = 0; + *p = h; + return 0; +} + + +/* history_def_clear(): + * Default history cleanup function + */ +static void +history_def_clear(void *p, TYPE(HistEvent) *ev) +{ + history_t *h = (history_t *) p; + + while (h->list.prev != &h->list) + history_def_delete(h, ev, h->list.prev); + h->cursor = &h->list; + h->eventid = 0; + h->cur = 0; +} + + + + +/************************************************************************/ + +/* history_init(): + * Initialization function. + */ +TYPE(History) * +FUN(history,init)(void) +{ + TYPE(HistEvent) ev; + TYPE(History) *h = (TYPE(History) *) h_malloc(sizeof(*h)); + if (h == NULL) + return NULL; + + if (history_def_init(&h->h_ref, &ev, 0) == -1) { + h_free(h); + return NULL; + } + h->h_ent = -1; + h->h_next = history_def_next; + h->h_first = history_def_first; + h->h_last = history_def_last; + h->h_prev = history_def_prev; + h->h_curr = history_def_curr; + h->h_set = history_def_set; + h->h_clear = history_def_clear; + h->h_enter = history_def_enter; + h->h_add = history_def_add; + h->h_del = history_def_del; + + return h; +} + + +/* history_end(): + * clean up history; + */ +void +FUN(history,end)(TYPE(History) *h) +{ + TYPE(HistEvent) ev; + + if (h->h_next == history_def_next) + history_def_clear(h->h_ref, &ev); + h_free(h->h_ref); + h_free(h); +} + + + +/* history_setsize(): + * Set history number of events + */ +static int +history_setsize(TYPE(History) *h, TYPE(HistEvent) *ev, int num) +{ + + if (h->h_next != history_def_next) { + he_seterrev(ev, _HE_NOT_ALLOWED); + return -1; + } + if (num < 0) { + he_seterrev(ev, _HE_BAD_PARAM); + return -1; + } + history_def_setsize(h->h_ref, num); + return 0; +} + + +/* history_getsize(): + * Get number of events currently in history + */ +static int +history_getsize(TYPE(History) *h, TYPE(HistEvent) *ev) +{ + if (h->h_next != history_def_next) { + he_seterrev(ev, _HE_NOT_ALLOWED); + return -1; + } + ev->num = history_def_getsize(h->h_ref); + if (ev->num < -1) { + he_seterrev(ev, _HE_SIZE_NEGATIVE); + return -1; + } + return 0; +} + + +/* history_setunique(): + * Set if adjacent equal events should not be entered in history. + */ +static int +history_setunique(TYPE(History) *h, TYPE(HistEvent) *ev, int uni) +{ + + if (h->h_next != history_def_next) { + he_seterrev(ev, _HE_NOT_ALLOWED); + return -1; + } + history_def_setunique(h->h_ref, uni); + return 0; +} + + +/* history_getunique(): + * Get if adjacent equal events should not be entered in history. + */ +static int +history_getunique(TYPE(History) *h, TYPE(HistEvent) *ev) +{ + if (h->h_next != history_def_next) { + he_seterrev(ev, _HE_NOT_ALLOWED); + return -1; + } + ev->num = history_def_getunique(h->h_ref); + return 0; +} + + +/* history_set_fun(): + * Set history functions + */ +static int +history_set_fun(TYPE(History) *h, TYPE(History) *nh) +{ + TYPE(HistEvent) ev; + + if (nh->h_first == NULL || nh->h_next == NULL || nh->h_last == NULL || + nh->h_prev == NULL || nh->h_curr == NULL || nh->h_set == NULL || + nh->h_enter == NULL || nh->h_add == NULL || nh->h_clear == NULL || + nh->h_del == NULL || nh->h_ref == NULL) { + if (h->h_next != history_def_next) { + if (history_def_init(&h->h_ref, &ev, 0) == -1) + return -1; + h->h_first = history_def_first; + h->h_next = history_def_next; + h->h_last = history_def_last; + h->h_prev = history_def_prev; + h->h_curr = history_def_curr; + h->h_set = history_def_set; + h->h_clear = history_def_clear; + h->h_enter = history_def_enter; + h->h_add = history_def_add; + h->h_del = history_def_del; + } + return -1; + } + if (h->h_next == history_def_next) + history_def_clear(h->h_ref, &ev); + + h->h_ent = -1; + h->h_first = nh->h_first; + h->h_next = nh->h_next; + h->h_last = nh->h_last; + h->h_prev = nh->h_prev; + h->h_curr = nh->h_curr; + h->h_set = nh->h_set; + h->h_clear = nh->h_clear; + h->h_enter = nh->h_enter; + h->h_add = nh->h_add; + h->h_del = nh->h_del; + + return 0; +} + + +/* history_load(): + * TYPE(History) load function + */ +static int +history_load(TYPE(History) *h, const char *fname) +{ + FILE *fp; + char *line; + size_t llen; + ssize_t sz; + size_t max_size; + char *ptr; + int i = -1; + TYPE(HistEvent) ev; + Char *decode_result; +#ifndef NARROWCHAR + static ct_buffer_t conv; +#endif + + if ((fp = fopen(fname, "r")) == NULL) + return i; + + line = NULL; + llen = 0; + if ((sz = getline(&line, &llen, fp)) == -1) + goto done; + + if (strncmp(line, hist_cookie, (size_t)sz) != 0) + goto done; + + ptr = h_malloc((max_size = 1024) * sizeof(*ptr)); + if (ptr == NULL) + goto done; + for (i = 0; (sz = getline(&line, &llen, fp)) != -1; i++) { + if (sz > 0 && line[sz - 1] == '\n') + line[--sz] = '\0'; + if (max_size < (size_t)sz) { + char *nptr; + max_size = ((size_t)sz + 1024) & (size_t)~1023; + nptr = h_realloc(ptr, max_size * sizeof(*ptr)); + if (nptr == NULL) { + i = -1; + goto oomem; + } + ptr = nptr; + } + (void) strunvis(ptr, line); + decode_result = ct_decode_string(ptr, &conv); + if (decode_result == NULL) + continue; + if (HENTER(h, &ev, decode_result) == -1) { + i = -1; + goto oomem; + } + } +oomem: + h_free(ptr); +done: + free(line); + (void) fclose(fp); + return i; +} + + +/* history_save_fp(): + * TYPE(History) save function + */ +static int +history_save_fp(TYPE(History) *h, size_t nelem, FILE *fp) +{ + TYPE(HistEvent) ev; + int i = -1, retval; + size_t len, max_size; + char *ptr; + const char *str; +#ifndef NARROWCHAR + static ct_buffer_t conv; +#endif + + if (fchmod(fileno(fp), S_IRUSR|S_IWUSR) == -1) + goto done; + if (ftell(fp) == 0 && fputs(hist_cookie, fp) == EOF) + goto done; + ptr = h_malloc((max_size = 1024) * sizeof(*ptr)); + if (ptr == NULL) + goto done; + if (nelem != (size_t)-1) { + for (retval = HFIRST(h, &ev); retval != -1 && nelem-- > 0; + retval = HNEXT(h, &ev)) + continue; + } else + retval = -1; + + if (retval == -1) + retval = HLAST(h, &ev); + + for (i = 0; retval != -1; retval = HPREV(h, &ev), i++) { + str = ct_encode_string(ev.str, &conv); + len = strlen(str) * 4 + 1; + if (len > max_size) { + char *nptr; + max_size = (len + 1024) & (size_t)~1023; + nptr = h_realloc(ptr, max_size * sizeof(*ptr)); + if (nptr == NULL) { + i = -1; + goto oomem; + } + ptr = nptr; + } + (void) strvis(ptr, str, VIS_WHITE); + (void) fprintf(fp, "%s\n", ptr); + } +oomem: + h_free(ptr); +done: + return i; +} + + +/* history_save(): + * History save function + */ +static int +history_save(TYPE(History) *h, const char *fname) +{ + FILE *fp; + int i; + + if ((fp = fopen(fname, "w")) == NULL) + return -1; + + i = history_save_fp(h, (size_t)-1, fp); + + (void) fclose(fp); + return i; +} + + +/* history_prev_event(): + * Find the previous event, with number given + */ +static int +history_prev_event(TYPE(History) *h, TYPE(HistEvent) *ev, int num) +{ + int retval; + + for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev)) + if (ev->num == num) + return 0; + + he_seterrev(ev, _HE_NOT_FOUND); + return -1; +} + + +static int +history_next_evdata(TYPE(History) *h, TYPE(HistEvent) *ev, int num, void **d) +{ + int retval; + + for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev)) + if (ev->num == num) { + if (d) + *d = ((history_t *)h->h_ref)->cursor->data; + return 0; + } + + he_seterrev(ev, _HE_NOT_FOUND); + return -1; +} + + +/* history_next_event(): + * Find the next event, with number given + */ +static int +history_next_event(TYPE(History) *h, TYPE(HistEvent) *ev, int num) +{ + int retval; + + for (retval = HCURR(h, ev); retval != -1; retval = HNEXT(h, ev)) + if (ev->num == num) + return 0; + + he_seterrev(ev, _HE_NOT_FOUND); + return -1; +} + + +/* history_prev_string(): + * Find the previous event beginning with string + */ +static int +history_prev_string(TYPE(History) *h, TYPE(HistEvent) *ev, const Char *str) +{ + size_t len = Strlen(str); + int retval; + + for (retval = HCURR(h, ev); retval != -1; retval = HNEXT(h, ev)) + if (Strncmp(str, ev->str, len) == 0) + return 0; + + he_seterrev(ev, _HE_NOT_FOUND); + return -1; +} + + +/* history_next_string(): + * Find the next event beginning with string + */ +static int +history_next_string(TYPE(History) *h, TYPE(HistEvent) *ev, const Char *str) +{ + size_t len = Strlen(str); + int retval; + + for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev)) + if (Strncmp(str, ev->str, len) == 0) + return 0; + + he_seterrev(ev, _HE_NOT_FOUND); + return -1; +} + + +/* history(): + * User interface to history functions. + */ +int +FUNW(history)(TYPE(History) *h, TYPE(HistEvent) *ev, int fun, ...) +{ + va_list va; + const Char *str; + int retval; + + va_start(va, fun); + + he_seterrev(ev, _HE_OK); + + switch (fun) { + case H_GETSIZE: + retval = history_getsize(h, ev); + break; + + case H_SETSIZE: + retval = history_setsize(h, ev, va_arg(va, int)); + break; + + case H_GETUNIQUE: + retval = history_getunique(h, ev); + break; + + case H_SETUNIQUE: + retval = history_setunique(h, ev, va_arg(va, int)); + break; + + case H_ADD: + str = va_arg(va, const Char *); + retval = HADD(h, ev, str); + break; + + case H_DEL: + retval = HDEL(h, ev, va_arg(va, const int)); + break; + + case H_ENTER: + str = va_arg(va, const Char *); + if ((retval = HENTER(h, ev, str)) != -1) + h->h_ent = ev->num; + break; + + case H_APPEND: + str = va_arg(va, const Char *); + if ((retval = HSET(h, ev, h->h_ent)) != -1) + retval = HADD(h, ev, str); + break; + + case H_FIRST: + retval = HFIRST(h, ev); + break; + + case H_NEXT: + retval = HNEXT(h, ev); + break; + + case H_LAST: + retval = HLAST(h, ev); + break; + + case H_PREV: + retval = HPREV(h, ev); + break; + + case H_CURR: + retval = HCURR(h, ev); + break; + + case H_SET: + retval = HSET(h, ev, va_arg(va, const int)); + break; + + case H_CLEAR: + HCLEAR(h, ev); + retval = 0; + break; + + case H_LOAD: + retval = history_load(h, va_arg(va, const char *)); + if (retval == -1) + he_seterrev(ev, _HE_HIST_READ); + break; + + case H_SAVE: + retval = history_save(h, va_arg(va, const char *)); + if (retval == -1) + he_seterrev(ev, _HE_HIST_WRITE); + break; + + case H_SAVE_FP: + retval = history_save_fp(h, (size_t)-1, va_arg(va, FILE *)); + if (retval == -1) + he_seterrev(ev, _HE_HIST_WRITE); + break; + + case H_NSAVE_FP: + { + size_t sz = va_arg(va, size_t); + retval = history_save_fp(h, sz, va_arg(va, FILE *)); + if (retval == -1) + he_seterrev(ev, _HE_HIST_WRITE); + break; + } + + case H_PREV_EVENT: + retval = history_prev_event(h, ev, va_arg(va, int)); + break; + + case H_NEXT_EVENT: + retval = history_next_event(h, ev, va_arg(va, int)); + break; + + case H_PREV_STR: + retval = history_prev_string(h, ev, va_arg(va, const Char *)); + break; + + case H_NEXT_STR: + retval = history_next_string(h, ev, va_arg(va, const Char *)); + break; + + case H_FUNC: + { + TYPE(History) hf; + + hf.h_ref = va_arg(va, void *); + h->h_ent = -1; + hf.h_first = va_arg(va, history_gfun_t); + hf.h_next = va_arg(va, history_gfun_t); + hf.h_last = va_arg(va, history_gfun_t); + hf.h_prev = va_arg(va, history_gfun_t); + hf.h_curr = va_arg(va, history_gfun_t); + hf.h_set = va_arg(va, history_sfun_t); + hf.h_clear = va_arg(va, history_vfun_t); + hf.h_enter = va_arg(va, history_efun_t); + hf.h_add = va_arg(va, history_efun_t); + hf.h_del = va_arg(va, history_sfun_t); + + if ((retval = history_set_fun(h, &hf)) == -1) + he_seterrev(ev, _HE_PARAM_MISSING); + break; + } + + case H_END: + FUN(history,end)(h); + retval = 0; + break; + + case H_NEXT_EVDATA: + { + int num = va_arg(va, int); + void **d = va_arg(va, void **); + retval = history_next_evdata(h, ev, num, d); + break; + } + + case H_DELDATA: + { + int num = va_arg(va, int); + void **d = va_arg(va, void **); + retval = history_deldata_nth((history_t *)h->h_ref, ev, num, d); + break; + } + + case H_REPLACE: /* only use after H_NEXT_EVDATA */ + { + const Char *line = va_arg(va, const Char *); + void *d = va_arg(va, void *); + const Char *s; + if(!line || !(s = Strdup(line))) { + retval = -1; + break; + } + ((history_t *)h->h_ref)->cursor->ev.str = s; + ((history_t *)h->h_ref)->cursor->data = d; + retval = 0; + break; + } + + default: + retval = -1; + he_seterrev(ev, _HE_UNKNOWN); + break; + } + va_end(va); + return retval; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/historyn.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/historyn.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/historyn.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/historyn.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,3 @@ +#include "config.h" +#define NARROWCHAR +#include "history.c" diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/keymacro.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/keymacro.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/keymacro.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/keymacro.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,669 @@ +/* $NetBSD: keymacro.c,v 1.24 2019/07/23 10:18:52 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)key.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: keymacro.c,v 1.24 2019/07/23 10:18:52 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * keymacro.c: This module contains the procedures for maintaining + * the extended-key map. + * + * An extended-key (key) is a sequence of keystrokes introduced + * with a sequence introducer and consisting of an arbitrary + * number of characters. This module maintains a map (the + * el->el_keymacro.map) + * to convert these extended-key sequences into input strs + * (XK_STR) or editor functions (XK_CMD). + * + * Warning: + * If key is a substr of some other keys, then the longer + * keys are lost!! That is, if the keys "abcd" and "abcef" + * are in el->el_keymacro.map, adding the key "abc" will cause + * the first two definitions to be lost. + * + * Restrictions: + * ------------- + * 1) It is not possible to have one key that is a + * substr of another. + */ +#include +#include + +#include "el.h" +#include "fcns.h" + +/* + * The Nodes of the el->el_keymacro.map. The el->el_keymacro.map is a + * linked list of these node elements + */ +struct keymacro_node_t { + wchar_t ch; /* single character of key */ + int type; /* node type */ + keymacro_value_t val; /* command code or pointer to str, */ + /* if this is a leaf */ + struct keymacro_node_t *next; /* ptr to next char of this key */ + struct keymacro_node_t *sibling;/* ptr to another key with same prefix*/ +}; + +static int node_trav(EditLine *, keymacro_node_t *, wchar_t *, + keymacro_value_t *); +static int node__try(EditLine *, keymacro_node_t *, + const wchar_t *, keymacro_value_t *, int); +static keymacro_node_t *node__get(wint_t); +static void node__free(keymacro_node_t *); +static void node__put(EditLine *, keymacro_node_t *); +static int node__delete(EditLine *, keymacro_node_t **, + const wchar_t *); +static int node_lookup(EditLine *, const wchar_t *, + keymacro_node_t *, size_t); +static int node_enum(EditLine *, keymacro_node_t *, size_t); + +#define KEY_BUFSIZ EL_BUFSIZ + + +/* keymacro_init(): + * Initialize the key maps + */ +libedit_private int +keymacro_init(EditLine *el) +{ + + el->el_keymacro.buf = el_calloc(KEY_BUFSIZ, + sizeof(*el->el_keymacro.buf)); + if (el->el_keymacro.buf == NULL) + return -1; + el->el_keymacro.map = NULL; + keymacro_reset(el); + return 0; +} + +/* keymacro_end(): + * Free the key maps + */ +libedit_private void +keymacro_end(EditLine *el) +{ + + el_free(el->el_keymacro.buf); + el->el_keymacro.buf = NULL; + node__free(el->el_keymacro.map); +} + + +/* keymacro_map_cmd(): + * Associate cmd with a key value + */ +libedit_private keymacro_value_t * +keymacro_map_cmd(EditLine *el, int cmd) +{ + + el->el_keymacro.val.cmd = (el_action_t) cmd; + return &el->el_keymacro.val; +} + + +/* keymacro_map_str(): + * Associate str with a key value + */ +libedit_private keymacro_value_t * +keymacro_map_str(EditLine *el, wchar_t *str) +{ + + el->el_keymacro.val.str = str; + return &el->el_keymacro.val; +} + + +/* keymacro_reset(): + * Takes all nodes on el->el_keymacro.map and puts them on free list. + * Then initializes el->el_keymacro.map with arrow keys + * [Always bind the ansi arrow keys?] + */ +libedit_private void +keymacro_reset(EditLine *el) +{ + + node__put(el, el->el_keymacro.map); + el->el_keymacro.map = NULL; + return; +} + + +/* keymacro_get(): + * Calls the recursive function with entry point el->el_keymacro.map + * Looks up *ch in map and then reads characters until a + * complete match is found or a mismatch occurs. Returns the + * type of the match found (XK_STR or XK_CMD). + * Returns NULL in val.str and XK_STR for no match. + * Returns XK_NOD for end of file or read error. + * The last character read is returned in *ch. + */ +libedit_private int +keymacro_get(EditLine *el, wchar_t *ch, keymacro_value_t *val) +{ + + return node_trav(el, el->el_keymacro.map, ch, val); +} + + +/* keymacro_add(): + * Adds key to the el->el_keymacro.map and associates the value in + * val with it. If key is already is in el->el_keymacro.map, the new + * code is applied to the existing key. Ntype specifies if code is a + * command, an out str or a unix command. + */ +libedit_private void +keymacro_add(EditLine *el, const wchar_t *key, keymacro_value_t *val, + int ntype) +{ + + if (key[0] == '\0') { + (void) fprintf(el->el_errfile, + "keymacro_add: Null extended-key not allowed.\n"); + return; + } + if (ntype == XK_CMD && val->cmd == ED_SEQUENCE_LEAD_IN) { + (void) fprintf(el->el_errfile, + "keymacro_add: sequence-lead-in command not allowed\n"); + return; + } + if (el->el_keymacro.map == NULL) + /* tree is initially empty. Set up new node to match key[0] */ + el->el_keymacro.map = node__get(key[0]); + /* it is properly initialized */ + + /* Now recurse through el->el_keymacro.map */ + (void) node__try(el, el->el_keymacro.map, key, val, ntype); + return; +} + + +/* keymacro_clear(): + * + */ +libedit_private void +keymacro_clear(EditLine *el, el_action_t *map, const wchar_t *in) +{ + if (*in > N_KEYS) /* can't be in the map */ + return; + if ((map[(unsigned char)*in] == ED_SEQUENCE_LEAD_IN) && + ((map == el->el_map.key && + el->el_map.alt[(unsigned char)*in] != ED_SEQUENCE_LEAD_IN) || + (map == el->el_map.alt && + el->el_map.key[(unsigned char)*in] != ED_SEQUENCE_LEAD_IN))) + (void) keymacro_delete(el, in); +} + + +/* keymacro_delete(): + * Delete the key and all longer keys staring with key, if + * they exists. + */ +libedit_private int +keymacro_delete(EditLine *el, const wchar_t *key) +{ + + if (key[0] == '\0') { + (void) fprintf(el->el_errfile, + "keymacro_delete: Null extended-key not allowed.\n"); + return -1; + } + if (el->el_keymacro.map == NULL) + return 0; + + (void) node__delete(el, &el->el_keymacro.map, key); + return 0; +} + + +/* keymacro_print(): + * Print the binding associated with key key. + * Print entire el->el_keymacro.map if null + */ +libedit_private void +keymacro_print(EditLine *el, const wchar_t *key) +{ + + /* do nothing if el->el_keymacro.map is empty and null key specified */ + if (el->el_keymacro.map == NULL && *key == 0) + return; + + el->el_keymacro.buf[0] = '"'; + if (node_lookup(el, key, el->el_keymacro.map, (size_t)1) <= -1) + /* key is not bound */ + (void) fprintf(el->el_errfile, "Unbound extended key \"%ls" + "\"\n", key); + return; +} + + +/* node_trav(): + * recursively traverses node in tree until match or mismatch is + * found. May read in more characters. + */ +static int +node_trav(EditLine *el, keymacro_node_t *ptr, wchar_t *ch, + keymacro_value_t *val) +{ + + if (ptr->ch == *ch) { + /* match found */ + if (ptr->next) { + /* key not complete so get next char */ + if (el_wgetc(el, ch) != 1) + return XK_NOD; + return node_trav(el, ptr->next, ch, val); + } else { + *val = ptr->val; + if (ptr->type != XK_CMD) + *ch = '\0'; + return ptr->type; + } + } else { + /* no match found here */ + if (ptr->sibling) { + /* try next sibling */ + return node_trav(el, ptr->sibling, ch, val); + } else { + /* no next sibling -- mismatch */ + val->str = NULL; + return XK_STR; + } + } +} + + +/* node__try(): + * Find a node that matches *str or allocate a new one + */ +static int +node__try(EditLine *el, keymacro_node_t *ptr, const wchar_t *str, + keymacro_value_t *val, int ntype) +{ + + if (ptr->ch != *str) { + keymacro_node_t *xm; + + for (xm = ptr; xm->sibling != NULL; xm = xm->sibling) + if (xm->sibling->ch == *str) + break; + if (xm->sibling == NULL) + xm->sibling = node__get(*str); /* setup new node */ + ptr = xm->sibling; + } + if (*++str == '\0') { + /* we're there */ + if (ptr->next != NULL) { + node__put(el, ptr->next); + /* lose longer keys with this prefix */ + ptr->next = NULL; + } + switch (ptr->type) { + case XK_CMD: + case XK_NOD: + break; + case XK_STR: + if (ptr->val.str) + el_free(ptr->val.str); + break; + default: + EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", + ptr->type)); + break; + } + + switch (ptr->type = ntype) { + case XK_CMD: + ptr->val = *val; + break; + case XK_STR: + if ((ptr->val.str = wcsdup(val->str)) == NULL) + return -1; + break; + default: + EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", ntype)); + break; + } + } else { + /* still more chars to go */ + if (ptr->next == NULL) + ptr->next = node__get(*str); /* setup new node */ + (void) node__try(el, ptr->next, str, val, ntype); + } + return 0; +} + + +/* node__delete(): + * Delete node that matches str + */ +static int +node__delete(EditLine *el, keymacro_node_t **inptr, const wchar_t *str) +{ + keymacro_node_t *ptr; + keymacro_node_t *prev_ptr = NULL; + + ptr = *inptr; + + if (ptr->ch != *str) { + keymacro_node_t *xm; + + for (xm = ptr; xm->sibling != NULL; xm = xm->sibling) + if (xm->sibling->ch == *str) + break; + if (xm->sibling == NULL) + return 0; + prev_ptr = xm; + ptr = xm->sibling; + } + if (*++str == '\0') { + /* we're there */ + if (prev_ptr == NULL) + *inptr = ptr->sibling; + else + prev_ptr->sibling = ptr->sibling; + ptr->sibling = NULL; + node__put(el, ptr); + return 1; + } else if (ptr->next != NULL && + node__delete(el, &ptr->next, str) == 1) { + if (ptr->next != NULL) + return 0; + if (prev_ptr == NULL) + *inptr = ptr->sibling; + else + prev_ptr->sibling = ptr->sibling; + ptr->sibling = NULL; + node__put(el, ptr); + return 1; + } else { + return 0; + } +} + + +/* node__put(): + * Puts a tree of nodes onto free list using free(3). + */ +static void +node__put(EditLine *el, keymacro_node_t *ptr) +{ + if (ptr == NULL) + return; + + if (ptr->next != NULL) { + node__put(el, ptr->next); + ptr->next = NULL; + } + node__put(el, ptr->sibling); + + switch (ptr->type) { + case XK_CMD: + case XK_NOD: + break; + case XK_STR: + if (ptr->val.str != NULL) + el_free(ptr->val.str); + break; + default: + EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", ptr->type)); + break; + } + el_free(ptr); +} + + +/* node__get(): + * Returns pointer to a keymacro_node_t for ch. + */ +static keymacro_node_t * +node__get(wint_t ch) +{ + keymacro_node_t *ptr; + + ptr = el_malloc(sizeof(*ptr)); + if (ptr == NULL) + return NULL; + ptr->ch = ch; + ptr->type = XK_NOD; + ptr->val.str = NULL; + ptr->next = NULL; + ptr->sibling = NULL; + return ptr; +} + +static void +node__free(keymacro_node_t *k) +{ + if (k == NULL) + return; + node__free(k->sibling); + node__free(k->next); + el_free(k); +} + +/* node_lookup(): + * look for the str starting at node ptr. + * Print if last node + */ +static int +node_lookup(EditLine *el, const wchar_t *str, keymacro_node_t *ptr, + size_t cnt) +{ + ssize_t used; + + if (ptr == NULL) + return -1; /* cannot have null ptr */ + + if (!str || *str == 0) { + /* no more chars in str. node_enum from here. */ + (void) node_enum(el, ptr, cnt); + return 0; + } else { + /* If match put this char into el->el_keymacro.buf. Recurse */ + if (ptr->ch == *str) { + /* match found */ + used = ct_visual_char(el->el_keymacro.buf + cnt, + KEY_BUFSIZ - cnt, ptr->ch); + if (used == -1) + return -1; /* ran out of buffer space */ + if (ptr->next != NULL) + /* not yet at leaf */ + return (node_lookup(el, str + 1, ptr->next, + (size_t)used + cnt)); + else { + /* next node is null so key should be complete */ + if (str[1] == 0) { + size_t px = cnt + (size_t)used; + el->el_keymacro.buf[px] = '"'; + el->el_keymacro.buf[px + 1] = '\0'; + keymacro_kprint(el, el->el_keymacro.buf, + &ptr->val, ptr->type); + return 0; + } else + return -1; + /* mismatch -- str still has chars */ + } + } else { + /* no match found try sibling */ + if (ptr->sibling) + return (node_lookup(el, str, ptr->sibling, + cnt)); + else + return -1; + } + } +} + + +/* node_enum(): + * Traverse the node printing the characters it is bound in buffer + */ +static int +node_enum(EditLine *el, keymacro_node_t *ptr, size_t cnt) +{ + ssize_t used; + + if (cnt >= KEY_BUFSIZ - 5) { /* buffer too small */ + el->el_keymacro.buf[++cnt] = '"'; + el->el_keymacro.buf[++cnt] = '\0'; + (void) fprintf(el->el_errfile, + "Some extended keys too long for internal print buffer"); + (void) fprintf(el->el_errfile, " \"%ls...\"\n", + el->el_keymacro.buf); + return 0; + } + if (ptr == NULL) { +#ifdef DEBUG_EDIT + (void) fprintf(el->el_errfile, + "node_enum: BUG!! Null ptr passed\n!"); +#endif + return -1; + } + /* put this char at end of str */ + used = ct_visual_char(el->el_keymacro.buf + cnt, KEY_BUFSIZ - cnt, + ptr->ch); + if (ptr->next == NULL) { + /* print this key and function */ + el->el_keymacro.buf[cnt + (size_t)used ] = '"'; + el->el_keymacro.buf[cnt + (size_t)used + 1] = '\0'; + keymacro_kprint(el, el->el_keymacro.buf, &ptr->val, ptr->type); + } else + (void) node_enum(el, ptr->next, cnt + (size_t)used); + + /* go to sibling if there is one */ + if (ptr->sibling) + (void) node_enum(el, ptr->sibling, cnt); + return 0; +} + + +/* keymacro_kprint(): + * Print the specified key and its associated + * function specified by val + */ +libedit_private void +keymacro_kprint(EditLine *el, const wchar_t *key, keymacro_value_t *val, + int ntype) +{ + el_bindings_t *fp; + char unparsbuf[EL_BUFSIZ]; + static const char fmt[] = "%-15s-> %s\n"; + + if (val != NULL) + switch (ntype) { + case XK_STR: + (void) keymacro__decode_str(val->str, unparsbuf, + sizeof(unparsbuf), + ntype == XK_STR ? "\"\"" : "[]"); + (void) fprintf(el->el_outfile, fmt, + ct_encode_string(key, &el->el_scratch), unparsbuf); + break; + case XK_CMD: + for (fp = el->el_map.help; fp->name; fp++) + if (val->cmd == fp->func) { + wcstombs(unparsbuf, fp->name, sizeof(unparsbuf)); + unparsbuf[sizeof(unparsbuf) -1] = '\0'; + (void) fprintf(el->el_outfile, fmt, + ct_encode_string(key, &el->el_scratch), unparsbuf); + break; + } +#ifdef DEBUG_KEY + if (fp->name == NULL) + (void) fprintf(el->el_outfile, + "BUG! Command not found.\n"); +#endif + + break; + default: + EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", ntype)); + break; + } + else + (void) fprintf(el->el_outfile, fmt, ct_encode_string(key, + &el->el_scratch), "no input"); +} + + +#define ADDC(c) \ + if (b < eb) \ + *b++ = c; \ + else \ + b++ +/* keymacro__decode_str(): + * Make a printable version of the ey + */ +libedit_private size_t +keymacro__decode_str(const wchar_t *str, char *buf, size_t len, + const char *sep) +{ + char *b = buf, *eb = b + len; + const wchar_t *p; + + b = buf; + if (sep[0] != '\0') { + ADDC(sep[0]); + } + if (*str == '\0') { + ADDC('^'); + ADDC('@'); + goto add_endsep; + } + for (p = str; *p != 0; p++) { + wchar_t dbuf[VISUAL_WIDTH_MAX]; + wchar_t *p2 = dbuf; + ssize_t l = ct_visual_char(dbuf, VISUAL_WIDTH_MAX, *p); + while (l-- > 0) { + ssize_t n = ct_encode_char(b, (size_t)(eb - b), *p2++); + if (n == -1) /* ran out of space */ + goto add_endsep; + else + b += n; + } + } +add_endsep: + if (sep[0] != '\0' && sep[1] != '\0') { + ADDC(sep[1]); + } + ADDC('\0'); + if ((size_t)(b - buf) >= len) + buf[len - 1] = '\0'; + return (size_t)(b - buf); +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/keymacro.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/keymacro.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/keymacro.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/keymacro.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,76 @@ +/* $NetBSD: keymacro.h,v 1.6 2016/05/09 21:46:56 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)key.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.keymacro.h: Key macro header + */ +#ifndef _h_el_keymacro +#define _h_el_keymacro + +typedef union keymacro_value_t { + el_action_t cmd; /* If it is a command the # */ + wchar_t *str; /* If it is a string... */ +} keymacro_value_t; + +typedef struct keymacro_node_t keymacro_node_t; + +typedef struct el_keymacro_t { + wchar_t *buf; /* Key print buffer */ + keymacro_node_t *map; /* Key map */ + keymacro_value_t val; /* Local conversion buffer */ +} el_keymacro_t; + +#define XK_CMD 0 +#define XK_STR 1 +#define XK_NOD 2 + +libedit_private int keymacro_init(EditLine *); +libedit_private void keymacro_end(EditLine *); +libedit_private keymacro_value_t *keymacro_map_cmd(EditLine *, int); +libedit_private keymacro_value_t *keymacro_map_str(EditLine *, wchar_t *); +libedit_private void keymacro_reset(EditLine *); +libedit_private int keymacro_get(EditLine *, wchar_t *, keymacro_value_t *); +libedit_private void keymacro_add(EditLine *, const wchar_t *, + keymacro_value_t *, int); +libedit_private void keymacro_clear(EditLine *, el_action_t *, const wchar_t *); +libedit_private int keymacro_delete(EditLine *, const wchar_t *); +libedit_private void keymacro_print(EditLine *, const wchar_t *); +libedit_private void keymacro_kprint(EditLine *, const wchar_t *, + keymacro_value_t *, int); +libedit_private size_t keymacro__decode_str(const wchar_t *, char *, size_t, + const char *); + +#endif /* _h_el_keymacro */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/literal.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/literal.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/literal.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/literal.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,138 @@ +/* $NetBSD: literal.c,v 1.5 2019/07/23 13:10:11 christos Exp $ */ + +/*- + * Copyright (c) 2017 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +__RCSID("$NetBSD: literal.c,v 1.5 2019/07/23 13:10:11 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * literal.c: Literal sequences handling. + */ +#include +#include +#include +#include +#include "el.h" + +libedit_private void +literal_init(EditLine *el) +{ + el_literal_t *l = &el->el_literal; + + memset(l, 0, sizeof(*l)); +} + +libedit_private void +literal_end(EditLine *el) +{ + literal_clear(el); +} + +libedit_private void +literal_clear(EditLine *el) +{ + el_literal_t *l = &el->el_literal; + size_t i; + + if (l->l_len == 0) + return; + + for (i = 0; i < l->l_idx; i++) + el_free(l->l_buf[i]); + el_free(l->l_buf); + l->l_buf = NULL; + l->l_len = 0; + l->l_idx = 0; +} + +libedit_private wint_t +literal_add(EditLine *el, const wchar_t *buf, const wchar_t *end, int *wp) +{ + el_literal_t *l = &el->el_literal; + size_t i, len; + ssize_t w, n; + char *b; + + w = wcwidth(end[1]); /* column width of the visible char */ + *wp = (int)w; + + if (w <= 0) /* we require something to be printed */ + return 0; + + len = (size_t)(end - buf); + for (w = 0, i = 0; i < len; i++) + w += ct_enc_width(buf[i]); + w += ct_enc_width(end[1]); + + b = el_malloc((size_t)(w + 1)); + if (b == NULL) + return 0; + + for (n = 0, i = 0; i < len; i++) + n += ct_encode_char(b + n, (size_t)(w - n), buf[i]); + n += ct_encode_char(b + n, (size_t)(w - n), end[1]); + b[n] = '\0'; + + /* + * Then save this literal string in the list of such strings, + * and return a "magic character" to put into the terminal buffer. + * When that magic char is 'printed' the saved string (which includes + * the char that belongs in that position) gets sent instead. + */ + if (l->l_idx == l->l_len) { + char **bp; + + l->l_len += 4; + bp = el_realloc(l->l_buf, sizeof(*l->l_buf) * l->l_len); + if (bp == NULL) { + free(b); + l->l_len -= 4; + return 0; + } + l->l_buf = bp; + } + l->l_buf[l->l_idx++] = b; + return EL_LITERAL | (wint_t)(l->l_idx - 1); +} + +libedit_private const char * +literal_get(EditLine *el, wint_t idx) +{ + el_literal_t *l = &el->el_literal; + + assert(idx & EL_LITERAL); + idx &= ~EL_LITERAL; + assert(l->l_idx > (size_t)idx); + return l->l_buf[idx]; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/literal.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/literal.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/literal.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/literal.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,53 @@ +/* $NetBSD: literal.h,v 1.2 2017/06/30 20:26:52 kre Exp $ */ + +/*- + * Copyright (c) 2017 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * el.literal.h: Literal character + */ +#ifndef _h_el_literal +#define _h_el_literal + +#define EL_LITERAL ((wint_t)0x80000000) + +typedef struct el_literal_t { + char **l_buf; /* array of buffers */ + size_t l_idx; /* max in use */ + size_t l_len; /* max allocated */ +} el_literal_t; + +libedit_private void literal_init(EditLine *); +libedit_private void literal_end(EditLine *); +libedit_private void literal_clear(EditLine *); +libedit_private wint_t literal_add(EditLine *, const wchar_t *, + const wchar_t *, int *); +libedit_private const char *literal_get(EditLine *, wint_t); + +#endif /* _h_el_literal */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/Makefile.am mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/Makefile.am --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/Makefile.am 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,57 @@ + +BUILT_SOURCES = vi.h emacs.h common.h fcns.h help.h func.h + +AHDR= vi.h emacs.h common.h +ASRC= $(srcdir)/vi.c $(srcdir)/emacs.c $(srcdir)/common.c + +vi.h: Makefile $(srcdir)/vi.c + AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/vi.c > $@ + +emacs.h: Makefile $(srcdir)/emacs.c + AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/emacs.c > $@ + +common.h: Makefile $(srcdir)/common.c + AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/common.c > $@ + +fcns.h: Makefile $(AHDR) + AWK=$(AWK) sh $(srcdir)/makelist -fh $(AHDR) > $@ + +help.h: Makefile $(ASRC) + AWK=$(AWK) sh $(srcdir)/makelist -bh $(ASRC) > $@ + +func.h: Makefile $(AHDR) + AWK=$(AWK) sh $(srcdir)/makelist -fc $(AHDR) > $@ + +CLEANFILES = $(BUILT_SOURCES) + +lib_LTLIBRARIES = libedit.la +libedit_la_SOURCES = chared.c common.c el.c eln.c emacs.c hist.c keymacro.c map.c chartype.c parse.c \ + prompt.c read.c refresh.c search.c sig.c terminal.c tty.c vi.c \ + wcsdup.c \ + tokenizer.c tokenizern.c \ + history.c historyn.c \ + filecomplete.c readline.c chared.h literal.c el.h hist.h \ + histedit.h keymacro.h map.h chartype.h parse.h prompt.h read.h refresh.h \ + search.h sig.h sys.h terminal.h tty.h vis.h filecomplete.h \ + editline/readline.h literal.h + +if !HAVE_STRLCPY +libedit_la_SOURCES += strlcpy.c +endif +if !HAVE_STRLCAT +libedit_la_SOURCES += strlcat.c +endif +if !HAVE_VIS +libedit_la_SOURCES += vis.c +endif +if !HAVE_UNVIS +libedit_la_SOURCES += unvis.c +endif + +EXTRA_DIST = makelist shlib_version +nobase_include_HEADERS = histedit.h editline/readline.h + +nodist_libedit_la_SOURCES = $(BUILT_SOURCES) + +libedit_la_LDFLAGS = -no-undefined -version-info $(LT_VERSION) + diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/Makefile.in mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/Makefile.in --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/Makefile.in 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,846 @@ +# Makefile.in generated by automake 1.16.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2018 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@HAVE_STRLCPY_FALSE@am__append_1 = strlcpy.c +@HAVE_STRLCAT_FALSE@am__append_2 = strlcat.c +@HAVE_VIS_FALSE@am__append_3 = vis.c +@HAVE_UNVIS_FALSE@am__append_4 = unvis.c +subdir = src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(nobase_include_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libedit_la_LIBADD = +am__libedit_la_SOURCES_DIST = chared.c common.c el.c eln.c emacs.c \ + hist.c keymacro.c map.c chartype.c parse.c prompt.c read.c \ + refresh.c search.c sig.c terminal.c tty.c vi.c wcsdup.c \ + tokenizer.c tokenizern.c history.c historyn.c filecomplete.c \ + readline.c chared.h literal.c el.h hist.h histedit.h \ + keymacro.h map.h chartype.h parse.h prompt.h read.h refresh.h \ + search.h sig.h sys.h terminal.h tty.h vis.h filecomplete.h \ + editline/readline.h literal.h strlcpy.c strlcat.c vis.c \ + unvis.c +@HAVE_STRLCPY_FALSE@am__objects_1 = strlcpy.lo +@HAVE_STRLCAT_FALSE@am__objects_2 = strlcat.lo +@HAVE_VIS_FALSE@am__objects_3 = vis.lo +@HAVE_UNVIS_FALSE@am__objects_4 = unvis.lo +am_libedit_la_OBJECTS = chared.lo common.lo el.lo eln.lo emacs.lo \ + hist.lo keymacro.lo map.lo chartype.lo parse.lo prompt.lo \ + read.lo refresh.lo search.lo sig.lo terminal.lo tty.lo vi.lo \ + wcsdup.lo tokenizer.lo tokenizern.lo history.lo historyn.lo \ + filecomplete.lo readline.lo literal.lo $(am__objects_1) \ + $(am__objects_2) $(am__objects_3) $(am__objects_4) +am__objects_5 = +nodist_libedit_la_OBJECTS = $(am__objects_5) +libedit_la_OBJECTS = $(am_libedit_la_OBJECTS) \ + $(nodist_libedit_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libedit_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libedit_la_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/chared.Plo ./$(DEPDIR)/chartype.Plo \ + ./$(DEPDIR)/common.Plo ./$(DEPDIR)/el.Plo ./$(DEPDIR)/eln.Plo \ + ./$(DEPDIR)/emacs.Plo ./$(DEPDIR)/filecomplete.Plo \ + ./$(DEPDIR)/hist.Plo ./$(DEPDIR)/history.Plo \ + ./$(DEPDIR)/historyn.Plo ./$(DEPDIR)/keymacro.Plo \ + ./$(DEPDIR)/literal.Plo ./$(DEPDIR)/map.Plo \ + ./$(DEPDIR)/parse.Plo ./$(DEPDIR)/prompt.Plo \ + ./$(DEPDIR)/read.Plo ./$(DEPDIR)/readline.Plo \ + ./$(DEPDIR)/refresh.Plo ./$(DEPDIR)/search.Plo \ + ./$(DEPDIR)/sig.Plo ./$(DEPDIR)/strlcat.Plo \ + ./$(DEPDIR)/strlcpy.Plo ./$(DEPDIR)/terminal.Plo \ + ./$(DEPDIR)/tokenizer.Plo ./$(DEPDIR)/tokenizern.Plo \ + ./$(DEPDIR)/tty.Plo ./$(DEPDIR)/unvis.Plo ./$(DEPDIR)/vi.Plo \ + ./$(DEPDIR)/vis.Plo ./$(DEPDIR)/wcsdup.Plo +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libedit_la_SOURCES) $(nodist_libedit_la_SOURCES) +DIST_SOURCES = $(am__libedit_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(nobase_include_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +LT_VERSION = @LT_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MANTYPE = @MANTYPE@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +NROFF = @NROFF@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +BUILT_SOURCES = vi.h emacs.h common.h fcns.h help.h func.h +AHDR = vi.h emacs.h common.h +ASRC = $(srcdir)/vi.c $(srcdir)/emacs.c $(srcdir)/common.c +CLEANFILES = $(BUILT_SOURCES) +lib_LTLIBRARIES = libedit.la +libedit_la_SOURCES = chared.c common.c el.c eln.c emacs.c hist.c \ + keymacro.c map.c chartype.c parse.c prompt.c read.c refresh.c \ + search.c sig.c terminal.c tty.c vi.c wcsdup.c tokenizer.c \ + tokenizern.c history.c historyn.c filecomplete.c readline.c \ + chared.h literal.c el.h hist.h histedit.h keymacro.h map.h \ + chartype.h parse.h prompt.h read.h refresh.h search.h sig.h \ + sys.h terminal.h tty.h vis.h filecomplete.h \ + editline/readline.h literal.h $(am__append_1) $(am__append_2) \ + $(am__append_3) $(am__append_4) +EXTRA_DIST = makelist shlib_version +nobase_include_HEADERS = histedit.h editline/readline.h +nodist_libedit_la_SOURCES = $(BUILT_SOURCES) +libedit_la_LDFLAGS = -no-undefined -version-info $(LT_VERSION) +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libedit.la: $(libedit_la_OBJECTS) $(libedit_la_DEPENDENCIES) $(EXTRA_libedit_la_DEPENDENCIES) + $(AM_V_CCLD)$(libedit_la_LINK) -rpath $(libdir) $(libedit_la_OBJECTS) $(libedit_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chared.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chartype.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/el.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eln.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emacs.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filecomplete.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hist.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/history.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/historyn.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keymacro.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/literal.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prompt.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readline.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/refresh.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/search.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlcat.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlcpy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terminal.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tokenizer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tokenizern.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tty.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unvis.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vi.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vis.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcsdup.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-nobase_includeHEADERS: $(nobase_include_HEADERS) + @$(NORMAL_INSTALL) + @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ + fi; \ + $(am__nobase_list) | while read dir files; do \ + xfiles=; for file in $$files; do \ + if test -f "$$file"; then xfiles="$$xfiles $$file"; \ + else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ + test -z "$$xfiles" || { \ + test "x$$dir" = x. || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \ + $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \ + echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \ + $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \ + done + +uninstall-nobase_includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ + $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ + dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/chared.Plo + -rm -f ./$(DEPDIR)/chartype.Plo + -rm -f ./$(DEPDIR)/common.Plo + -rm -f ./$(DEPDIR)/el.Plo + -rm -f ./$(DEPDIR)/eln.Plo + -rm -f ./$(DEPDIR)/emacs.Plo + -rm -f ./$(DEPDIR)/filecomplete.Plo + -rm -f ./$(DEPDIR)/hist.Plo + -rm -f ./$(DEPDIR)/history.Plo + -rm -f ./$(DEPDIR)/historyn.Plo + -rm -f ./$(DEPDIR)/keymacro.Plo + -rm -f ./$(DEPDIR)/literal.Plo + -rm -f ./$(DEPDIR)/map.Plo + -rm -f ./$(DEPDIR)/parse.Plo + -rm -f ./$(DEPDIR)/prompt.Plo + -rm -f ./$(DEPDIR)/read.Plo + -rm -f ./$(DEPDIR)/readline.Plo + -rm -f ./$(DEPDIR)/refresh.Plo + -rm -f ./$(DEPDIR)/search.Plo + -rm -f ./$(DEPDIR)/sig.Plo + -rm -f ./$(DEPDIR)/strlcat.Plo + -rm -f ./$(DEPDIR)/strlcpy.Plo + -rm -f ./$(DEPDIR)/terminal.Plo + -rm -f ./$(DEPDIR)/tokenizer.Plo + -rm -f ./$(DEPDIR)/tokenizern.Plo + -rm -f ./$(DEPDIR)/tty.Plo + -rm -f ./$(DEPDIR)/unvis.Plo + -rm -f ./$(DEPDIR)/vi.Plo + -rm -f ./$(DEPDIR)/vis.Plo + -rm -f ./$(DEPDIR)/wcsdup.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-nobase_includeHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/chared.Plo + -rm -f ./$(DEPDIR)/chartype.Plo + -rm -f ./$(DEPDIR)/common.Plo + -rm -f ./$(DEPDIR)/el.Plo + -rm -f ./$(DEPDIR)/eln.Plo + -rm -f ./$(DEPDIR)/emacs.Plo + -rm -f ./$(DEPDIR)/filecomplete.Plo + -rm -f ./$(DEPDIR)/hist.Plo + -rm -f ./$(DEPDIR)/history.Plo + -rm -f ./$(DEPDIR)/historyn.Plo + -rm -f ./$(DEPDIR)/keymacro.Plo + -rm -f ./$(DEPDIR)/literal.Plo + -rm -f ./$(DEPDIR)/map.Plo + -rm -f ./$(DEPDIR)/parse.Plo + -rm -f ./$(DEPDIR)/prompt.Plo + -rm -f ./$(DEPDIR)/read.Plo + -rm -f ./$(DEPDIR)/readline.Plo + -rm -f ./$(DEPDIR)/refresh.Plo + -rm -f ./$(DEPDIR)/search.Plo + -rm -f ./$(DEPDIR)/sig.Plo + -rm -f ./$(DEPDIR)/strlcat.Plo + -rm -f ./$(DEPDIR)/strlcpy.Plo + -rm -f ./$(DEPDIR)/terminal.Plo + -rm -f ./$(DEPDIR)/tokenizer.Plo + -rm -f ./$(DEPDIR)/tokenizern.Plo + -rm -f ./$(DEPDIR)/tty.Plo + -rm -f ./$(DEPDIR)/unvis.Plo + -rm -f ./$(DEPDIR)/vi.Plo + -rm -f ./$(DEPDIR)/vis.Plo + -rm -f ./$(DEPDIR)/wcsdup.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-nobase_includeHEADERS + +.MAKE: all check install install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-nobase_includeHEADERS install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES \ + uninstall-nobase_includeHEADERS + +.PRECIOUS: Makefile + + +vi.h: Makefile $(srcdir)/vi.c + AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/vi.c > $@ + +emacs.h: Makefile $(srcdir)/emacs.c + AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/emacs.c > $@ + +common.h: Makefile $(srcdir)/common.c + AWK=$(AWK) sh $(srcdir)/makelist -h $(srcdir)/common.c > $@ + +fcns.h: Makefile $(AHDR) + AWK=$(AWK) sh $(srcdir)/makelist -fh $(AHDR) > $@ + +help.h: Makefile $(ASRC) + AWK=$(AWK) sh $(srcdir)/makelist -bh $(ASRC) > $@ + +func.h: Makefile $(AHDR) + AWK=$(AWK) sh $(srcdir)/makelist -fc $(AHDR) > $@ + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/makelist.in mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/makelist.in --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/makelist.in 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/makelist.in 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,174 @@ +#!/bin/sh - +# $NetBSD: makelist,v 1.29 2016/05/09 21:46:56 christos Exp $ +# +# Copyright (c) 1992, 1993 +# The Regents of the University of California. All rights reserved. +# +# This code is derived from software contributed to Berkeley by +# Christos Zoulas of Cornell University. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# @(#)makelist 5.3 (Berkeley) 6/4/93 + +# makelist.sh: Automatically generate header files... + +AWK=@AWK@ +USAGE="Usage: $0 -h|-fc|-fh|-bh " + +if [ "x$1" = "x" ] +then + echo $USAGE 1>&2 + exit 1 +fi + +FLAG="$1" +shift + +FILES="$@" + +case $FLAG in + +-h) + set - `echo $FILES | sed -e 's/\\./_/g'` + hdr="_h_`basename $1`" + cat $FILES | $AWK ' + BEGIN { + printf("/* Automatically generated file, do not edit */\n"); + printf("#ifndef %s\n#define %s\n", "'$hdr'", "'$hdr'"); + } + /\(\):/ { + pr = substr($2, 1, 2); + if (pr == "vi" || pr == "em" || pr == "ed") { + name = substr($2, 1, length($2) - 3); +# +# XXX: need a space between name and prototype so that -fc and -fh +# parsing is much easier +# + printf("libedit_private el_action_t\t%s (EditLine *, wint_t);\n", + name); + } + } + END { + printf("#endif /* %s */\n", "'$hdr'"); + }' + ;; + +# generate help.h from various .c files +# +-bh) + cat $FILES | $AWK ' + BEGIN { + printf("/* Automatically generated file, do not edit */\n"); + printf("static const struct el_bindings_t el_func_help[] = {\n"); + low = "abcdefghijklmnopqrstuvwxyz_"; + high = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_"; + for (i = 1; i <= length(low); i++) + tr[substr(low, i, 1)] = substr(high, i, 1); + } + /\(\):/ { + pr = substr($2, 1, 2); + if (pr == "vi" || pr == "em" || pr == "ed") { + name = substr($2, 1, length($2) - 3); + uname = ""; + fname = ""; + for (i = 1; i <= length(name); i++) { + s = substr(name, i, 1); + uname = uname tr[s]; + if (s == "_") + s = "-"; + fname = fname s; + } + + printf(" { %-30.30s %-30.30s\n","L\"" fname "\",", uname ","); + ok = 1; + } + } + /^ \*/ { + if (ok) { + printf(" L\""); + for (i = 2; i < NF; i++) + printf("%s ", $i); + printf("%s\" },\n", $i); + ok = 0; + } + } + END { + printf("};\n"); + }' + ;; + +# generate fcns.h from various .h files +# +-fh) + cat $FILES | $AWK '/el_action_t/ { print $3 }' | \ + sort | tr '[:lower:]' '[:upper:]' | $AWK ' + BEGIN { + printf("/* Automatically generated file, do not edit */\n"); + count = 0; + } + { + printf("#define\t%-30.30s\t%3d\n", $1, count++); + } + END { + printf("#define\t%-30.30s\t%3d\n", "EL_NUM_FCNS", count); + }' + ;; + +# generate func.h from various .h files +# +-fc) + cat $FILES | $AWK '/el_action_t/ { print $3 }' | sort | $AWK ' + BEGIN { + printf("/* Automatically generated file, do not edit */\n"); + printf("static const el_func_t el_func[] = {"); + maxlen = 80; + needn = 1; + len = 0; + } + { + clen = 25 + 2; + len += clen; + if (len >= maxlen) + needn = 1; + if (needn) { + printf("\n "); + needn = 0; + len = 4 + clen; + } + s = $1 ","; + printf("%-26.26s ", s); + } + END { + printf("\n};\n"); + }' + ;; + +*) + echo $USAGE 1>&2 + exit 1 + ;; + +esac diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/map.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/map.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/map.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/map.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,1427 @@ +/* $NetBSD: map.c,v 1.52 2019/07/23 10:18:52 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)map.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: map.c,v 1.52 2019/07/23 10:18:52 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * map.c: Editor function definitions + */ +#include +#include +#include + +#include "el.h" +#include "common.h" +#include "emacs.h" +#include "vi.h" +#include "fcns.h" +#include "func.h" +#include "help.h" +#include "parse.h" + +static void map_print_key(EditLine *, el_action_t *, const wchar_t *); +static void map_print_some_keys(EditLine *, el_action_t *, wint_t, wint_t); +static void map_print_all_keys(EditLine *); +static void map_init_nls(EditLine *); +static void map_init_meta(EditLine *); + +/* keymap tables ; should be N_KEYS*sizeof(KEYCMD) bytes long */ + + +static const el_action_t el_map_emacs[] = { + /* 0 */ EM_SET_MARK, /* ^@ */ + /* 1 */ ED_MOVE_TO_BEG, /* ^A */ + /* 2 */ ED_PREV_CHAR, /* ^B */ + /* 3 */ ED_IGNORE, /* ^C */ + /* 4 */ EM_DELETE_OR_LIST, /* ^D */ + /* 5 */ ED_MOVE_TO_END, /* ^E */ + /* 6 */ ED_NEXT_CHAR, /* ^F */ + /* 7 */ ED_UNASSIGNED, /* ^G */ + /* 8 */ EM_DELETE_PREV_CHAR, /* ^H */ + /* 9 */ ED_UNASSIGNED, /* ^I */ + /* 10 */ ED_NEWLINE, /* ^J */ + /* 11 */ ED_KILL_LINE, /* ^K */ + /* 12 */ ED_CLEAR_SCREEN, /* ^L */ + /* 13 */ ED_NEWLINE, /* ^M */ + /* 14 */ ED_NEXT_HISTORY, /* ^N */ + /* 15 */ ED_IGNORE, /* ^O */ + /* 16 */ ED_PREV_HISTORY, /* ^P */ + /* 17 */ ED_IGNORE, /* ^Q */ + /* 18 */ ED_REDISPLAY, /* ^R */ + /* 19 */ ED_IGNORE, /* ^S */ + /* 20 */ ED_TRANSPOSE_CHARS, /* ^T */ + /* 21 */ EM_KILL_LINE, /* ^U */ + /* 22 */ ED_QUOTED_INSERT, /* ^V */ + /* 23 */ EM_KILL_REGION, /* ^W */ + /* 24 */ ED_SEQUENCE_LEAD_IN, /* ^X */ + /* 25 */ EM_YANK, /* ^Y */ + /* 26 */ ED_IGNORE, /* ^Z */ + /* 27 */ EM_META_NEXT, /* ^[ */ + /* 28 */ ED_IGNORE, /* ^\ */ + /* 29 */ ED_IGNORE, /* ^] */ + /* 30 */ ED_UNASSIGNED, /* ^^ */ + /* 31 */ ED_UNASSIGNED, /* ^_ */ + /* 32 */ ED_INSERT, /* SPACE */ + /* 33 */ ED_INSERT, /* ! */ + /* 34 */ ED_INSERT, /* " */ + /* 35 */ ED_INSERT, /* # */ + /* 36 */ ED_INSERT, /* $ */ + /* 37 */ ED_INSERT, /* % */ + /* 38 */ ED_INSERT, /* & */ + /* 39 */ ED_INSERT, /* ' */ + /* 40 */ ED_INSERT, /* ( */ + /* 41 */ ED_INSERT, /* ) */ + /* 42 */ ED_INSERT, /* * */ + /* 43 */ ED_INSERT, /* + */ + /* 44 */ ED_INSERT, /* , */ + /* 45 */ ED_INSERT, /* - */ + /* 46 */ ED_INSERT, /* . */ + /* 47 */ ED_INSERT, /* / */ + /* 48 */ ED_DIGIT, /* 0 */ + /* 49 */ ED_DIGIT, /* 1 */ + /* 50 */ ED_DIGIT, /* 2 */ + /* 51 */ ED_DIGIT, /* 3 */ + /* 52 */ ED_DIGIT, /* 4 */ + /* 53 */ ED_DIGIT, /* 5 */ + /* 54 */ ED_DIGIT, /* 6 */ + /* 55 */ ED_DIGIT, /* 7 */ + /* 56 */ ED_DIGIT, /* 8 */ + /* 57 */ ED_DIGIT, /* 9 */ + /* 58 */ ED_INSERT, /* : */ + /* 59 */ ED_INSERT, /* ; */ + /* 60 */ ED_INSERT, /* < */ + /* 61 */ ED_INSERT, /* = */ + /* 62 */ ED_INSERT, /* > */ + /* 63 */ ED_INSERT, /* ? */ + /* 64 */ ED_INSERT, /* @ */ + /* 65 */ ED_INSERT, /* A */ + /* 66 */ ED_INSERT, /* B */ + /* 67 */ ED_INSERT, /* C */ + /* 68 */ ED_INSERT, /* D */ + /* 69 */ ED_INSERT, /* E */ + /* 70 */ ED_INSERT, /* F */ + /* 71 */ ED_INSERT, /* G */ + /* 72 */ ED_INSERT, /* H */ + /* 73 */ ED_INSERT, /* I */ + /* 74 */ ED_INSERT, /* J */ + /* 75 */ ED_INSERT, /* K */ + /* 76 */ ED_INSERT, /* L */ + /* 77 */ ED_INSERT, /* M */ + /* 78 */ ED_INSERT, /* N */ + /* 79 */ ED_INSERT, /* O */ + /* 80 */ ED_INSERT, /* P */ + /* 81 */ ED_INSERT, /* Q */ + /* 82 */ ED_INSERT, /* R */ + /* 83 */ ED_INSERT, /* S */ + /* 84 */ ED_INSERT, /* T */ + /* 85 */ ED_INSERT, /* U */ + /* 86 */ ED_INSERT, /* V */ + /* 87 */ ED_INSERT, /* W */ + /* 88 */ ED_INSERT, /* X */ + /* 89 */ ED_INSERT, /* Y */ + /* 90 */ ED_INSERT, /* Z */ + /* 91 */ ED_INSERT, /* [ */ + /* 92 */ ED_INSERT, /* \ */ + /* 93 */ ED_INSERT, /* ] */ + /* 94 */ ED_INSERT, /* ^ */ + /* 95 */ ED_INSERT, /* _ */ + /* 96 */ ED_INSERT, /* ` */ + /* 97 */ ED_INSERT, /* a */ + /* 98 */ ED_INSERT, /* b */ + /* 99 */ ED_INSERT, /* c */ + /* 100 */ ED_INSERT, /* d */ + /* 101 */ ED_INSERT, /* e */ + /* 102 */ ED_INSERT, /* f */ + /* 103 */ ED_INSERT, /* g */ + /* 104 */ ED_INSERT, /* h */ + /* 105 */ ED_INSERT, /* i */ + /* 106 */ ED_INSERT, /* j */ + /* 107 */ ED_INSERT, /* k */ + /* 108 */ ED_INSERT, /* l */ + /* 109 */ ED_INSERT, /* m */ + /* 110 */ ED_INSERT, /* n */ + /* 111 */ ED_INSERT, /* o */ + /* 112 */ ED_INSERT, /* p */ + /* 113 */ ED_INSERT, /* q */ + /* 114 */ ED_INSERT, /* r */ + /* 115 */ ED_INSERT, /* s */ + /* 116 */ ED_INSERT, /* t */ + /* 117 */ ED_INSERT, /* u */ + /* 118 */ ED_INSERT, /* v */ + /* 119 */ ED_INSERT, /* w */ + /* 120 */ ED_INSERT, /* x */ + /* 121 */ ED_INSERT, /* y */ + /* 122 */ ED_INSERT, /* z */ + /* 123 */ ED_INSERT, /* { */ + /* 124 */ ED_INSERT, /* | */ + /* 125 */ ED_INSERT, /* } */ + /* 126 */ ED_INSERT, /* ~ */ + /* 127 */ EM_DELETE_PREV_CHAR, /* ^? */ + /* 128 */ ED_UNASSIGNED, /* M-^@ */ + /* 129 */ ED_UNASSIGNED, /* M-^A */ + /* 130 */ ED_UNASSIGNED, /* M-^B */ + /* 131 */ ED_UNASSIGNED, /* M-^C */ + /* 132 */ ED_UNASSIGNED, /* M-^D */ + /* 133 */ ED_UNASSIGNED, /* M-^E */ + /* 134 */ ED_UNASSIGNED, /* M-^F */ + /* 135 */ ED_UNASSIGNED, /* M-^G */ + /* 136 */ ED_DELETE_PREV_WORD, /* M-^H */ + /* 137 */ ED_UNASSIGNED, /* M-^I */ + /* 138 */ ED_UNASSIGNED, /* M-^J */ + /* 139 */ ED_UNASSIGNED, /* M-^K */ + /* 140 */ ED_CLEAR_SCREEN, /* M-^L */ + /* 141 */ ED_UNASSIGNED, /* M-^M */ + /* 142 */ ED_UNASSIGNED, /* M-^N */ + /* 143 */ ED_UNASSIGNED, /* M-^O */ + /* 144 */ ED_UNASSIGNED, /* M-^P */ + /* 145 */ ED_UNASSIGNED, /* M-^Q */ + /* 146 */ ED_UNASSIGNED, /* M-^R */ + /* 147 */ ED_UNASSIGNED, /* M-^S */ + /* 148 */ ED_UNASSIGNED, /* M-^T */ + /* 149 */ ED_UNASSIGNED, /* M-^U */ + /* 150 */ ED_UNASSIGNED, /* M-^V */ + /* 151 */ ED_UNASSIGNED, /* M-^W */ + /* 152 */ ED_UNASSIGNED, /* M-^X */ + /* 153 */ ED_UNASSIGNED, /* M-^Y */ + /* 154 */ ED_UNASSIGNED, /* M-^Z */ + /* 155 */ ED_UNASSIGNED, /* M-^[ */ + /* 156 */ ED_UNASSIGNED, /* M-^\ */ + /* 157 */ ED_UNASSIGNED, /* M-^] */ + /* 158 */ ED_UNASSIGNED, /* M-^^ */ + /* 159 */ EM_COPY_PREV_WORD, /* M-^_ */ + /* 160 */ ED_UNASSIGNED, /* M-SPACE */ + /* 161 */ ED_UNASSIGNED, /* M-! */ + /* 162 */ ED_UNASSIGNED, /* M-" */ + /* 163 */ ED_UNASSIGNED, /* M-# */ + /* 164 */ ED_UNASSIGNED, /* M-$ */ + /* 165 */ ED_UNASSIGNED, /* M-% */ + /* 166 */ ED_UNASSIGNED, /* M-& */ + /* 167 */ ED_UNASSIGNED, /* M-' */ + /* 168 */ ED_UNASSIGNED, /* M-( */ + /* 169 */ ED_UNASSIGNED, /* M-) */ + /* 170 */ ED_UNASSIGNED, /* M-* */ + /* 171 */ ED_UNASSIGNED, /* M-+ */ + /* 172 */ ED_UNASSIGNED, /* M-, */ + /* 173 */ ED_UNASSIGNED, /* M-- */ + /* 174 */ ED_UNASSIGNED, /* M-. */ + /* 175 */ ED_UNASSIGNED, /* M-/ */ + /* 176 */ ED_ARGUMENT_DIGIT, /* M-0 */ + /* 177 */ ED_ARGUMENT_DIGIT, /* M-1 */ + /* 178 */ ED_ARGUMENT_DIGIT, /* M-2 */ + /* 179 */ ED_ARGUMENT_DIGIT, /* M-3 */ + /* 180 */ ED_ARGUMENT_DIGIT, /* M-4 */ + /* 181 */ ED_ARGUMENT_DIGIT, /* M-5 */ + /* 182 */ ED_ARGUMENT_DIGIT, /* M-6 */ + /* 183 */ ED_ARGUMENT_DIGIT, /* M-7 */ + /* 184 */ ED_ARGUMENT_DIGIT, /* M-8 */ + /* 185 */ ED_ARGUMENT_DIGIT, /* M-9 */ + /* 186 */ ED_UNASSIGNED, /* M-: */ + /* 187 */ ED_UNASSIGNED, /* M-; */ + /* 188 */ ED_UNASSIGNED, /* M-< */ + /* 189 */ ED_UNASSIGNED, /* M-= */ + /* 190 */ ED_UNASSIGNED, /* M-> */ + /* 191 */ ED_UNASSIGNED, /* M-? */ + /* 192 */ ED_UNASSIGNED, /* M-@ */ + /* 193 */ ED_UNASSIGNED, /* M-A */ + /* 194 */ ED_PREV_WORD, /* M-B */ + /* 195 */ EM_CAPITOL_CASE, /* M-C */ + /* 196 */ EM_DELETE_NEXT_WORD, /* M-D */ + /* 197 */ ED_UNASSIGNED, /* M-E */ + /* 198 */ EM_NEXT_WORD, /* M-F */ + /* 199 */ ED_UNASSIGNED, /* M-G */ + /* 200 */ ED_UNASSIGNED, /* M-H */ + /* 201 */ ED_UNASSIGNED, /* M-I */ + /* 202 */ ED_UNASSIGNED, /* M-J */ + /* 203 */ ED_UNASSIGNED, /* M-K */ + /* 204 */ EM_LOWER_CASE, /* M-L */ + /* 205 */ ED_UNASSIGNED, /* M-M */ + /* 206 */ ED_SEARCH_NEXT_HISTORY, /* M-N */ + /* 207 */ ED_SEQUENCE_LEAD_IN, /* M-O */ + /* 208 */ ED_SEARCH_PREV_HISTORY, /* M-P */ + /* 209 */ ED_UNASSIGNED, /* M-Q */ + /* 210 */ ED_UNASSIGNED, /* M-R */ + /* 211 */ ED_UNASSIGNED, /* M-S */ + /* 212 */ ED_UNASSIGNED, /* M-T */ + /* 213 */ EM_UPPER_CASE, /* M-U */ + /* 214 */ ED_UNASSIGNED, /* M-V */ + /* 215 */ EM_COPY_REGION, /* M-W */ + /* 216 */ ED_COMMAND, /* M-X */ + /* 217 */ ED_UNASSIGNED, /* M-Y */ + /* 218 */ ED_UNASSIGNED, /* M-Z */ + /* 219 */ ED_SEQUENCE_LEAD_IN, /* M-[ */ + /* 220 */ ED_UNASSIGNED, /* M-\ */ + /* 221 */ ED_UNASSIGNED, /* M-] */ + /* 222 */ ED_UNASSIGNED, /* M-^ */ + /* 223 */ ED_UNASSIGNED, /* M-_ */ + /* 223 */ ED_UNASSIGNED, /* M-` */ + /* 224 */ ED_UNASSIGNED, /* M-a */ + /* 225 */ ED_PREV_WORD, /* M-b */ + /* 226 */ EM_CAPITOL_CASE, /* M-c */ + /* 227 */ EM_DELETE_NEXT_WORD, /* M-d */ + /* 228 */ ED_UNASSIGNED, /* M-e */ + /* 229 */ EM_NEXT_WORD, /* M-f */ + /* 230 */ ED_UNASSIGNED, /* M-g */ + /* 231 */ ED_UNASSIGNED, /* M-h */ + /* 232 */ ED_UNASSIGNED, /* M-i */ + /* 233 */ ED_UNASSIGNED, /* M-j */ + /* 234 */ ED_UNASSIGNED, /* M-k */ + /* 235 */ EM_LOWER_CASE, /* M-l */ + /* 236 */ ED_UNASSIGNED, /* M-m */ + /* 237 */ ED_SEARCH_NEXT_HISTORY, /* M-n */ + /* 238 */ ED_UNASSIGNED, /* M-o */ + /* 239 */ ED_SEARCH_PREV_HISTORY, /* M-p */ + /* 240 */ ED_UNASSIGNED, /* M-q */ + /* 241 */ ED_UNASSIGNED, /* M-r */ + /* 242 */ ED_UNASSIGNED, /* M-s */ + /* 243 */ ED_UNASSIGNED, /* M-t */ + /* 244 */ EM_UPPER_CASE, /* M-u */ + /* 245 */ ED_UNASSIGNED, /* M-v */ + /* 246 */ EM_COPY_REGION, /* M-w */ + /* 247 */ ED_COMMAND, /* M-x */ + /* 248 */ ED_UNASSIGNED, /* M-y */ + /* 249 */ ED_UNASSIGNED, /* M-z */ + /* 250 */ ED_UNASSIGNED, /* M-{ */ + /* 251 */ ED_UNASSIGNED, /* M-| */ + /* 252 */ ED_UNASSIGNED, /* M-} */ + /* 253 */ ED_UNASSIGNED, /* M-~ */ + /* 254 */ ED_DELETE_PREV_WORD /* M-^? */ + /* 255 */ +}; + + +/* + * keymap table for vi. Each index into above tbl; should be + * N_KEYS entries long. Vi mode uses a sticky-extend to do command mode: + * insert mode characters are in the normal keymap, and command mode + * in the extended keymap. + */ +static const el_action_t el_map_vi_insert[] = { +#ifdef KSHVI + /* 0 */ ED_UNASSIGNED, /* ^@ */ + /* 1 */ ED_INSERT, /* ^A */ + /* 2 */ ED_INSERT, /* ^B */ + /* 3 */ ED_INSERT, /* ^C */ + /* 4 */ VI_LIST_OR_EOF, /* ^D */ + /* 5 */ ED_INSERT, /* ^E */ + /* 6 */ ED_INSERT, /* ^F */ + /* 7 */ ED_INSERT, /* ^G */ + /* 8 */ VI_DELETE_PREV_CHAR, /* ^H */ /* BackSpace key */ + /* 9 */ ED_INSERT, /* ^I */ /* Tab Key */ + /* 10 */ ED_NEWLINE, /* ^J */ + /* 11 */ ED_INSERT, /* ^K */ + /* 12 */ ED_INSERT, /* ^L */ + /* 13 */ ED_NEWLINE, /* ^M */ + /* 14 */ ED_INSERT, /* ^N */ + /* 15 */ ED_INSERT, /* ^O */ + /* 16 */ ED_INSERT, /* ^P */ + /* 17 */ ED_IGNORE, /* ^Q */ + /* 18 */ ED_INSERT, /* ^R */ + /* 19 */ ED_IGNORE, /* ^S */ + /* 20 */ ED_INSERT, /* ^T */ + /* 21 */ VI_KILL_LINE_PREV, /* ^U */ + /* 22 */ ED_QUOTED_INSERT, /* ^V */ + /* 23 */ ED_DELETE_PREV_WORD, /* ^W */ + /* ED_DELETE_PREV_WORD: Only until strt edit pos */ + /* 24 */ ED_INSERT, /* ^X */ + /* 25 */ ED_INSERT, /* ^Y */ + /* 26 */ ED_INSERT, /* ^Z */ + /* 27 */ VI_COMMAND_MODE, /* ^[ */ /* [ Esc ] key */ + /* 28 */ ED_IGNORE, /* ^\ */ + /* 29 */ ED_INSERT, /* ^] */ + /* 30 */ ED_INSERT, /* ^^ */ + /* 31 */ ED_INSERT, /* ^_ */ +#else /* !KSHVI */ + /* + * NOTE: These mappings do NOT Correspond well + * to the KSH VI editing assignments. + * On the other and they are convenient and + * many people have have gotten used to them. + */ + /* 0 */ ED_UNASSIGNED, /* ^@ */ + /* 1 */ ED_MOVE_TO_BEG, /* ^A */ + /* 2 */ ED_PREV_CHAR, /* ^B */ + /* 3 */ ED_IGNORE, /* ^C */ + /* 4 */ VI_LIST_OR_EOF, /* ^D */ + /* 5 */ ED_MOVE_TO_END, /* ^E */ + /* 6 */ ED_NEXT_CHAR, /* ^F */ + /* 7 */ ED_UNASSIGNED, /* ^G */ + /* 8 */ VI_DELETE_PREV_CHAR, /* ^H */ /* BackSpace key */ + /* 9 */ ED_UNASSIGNED, /* ^I */ /* Tab Key */ + /* 10 */ ED_NEWLINE, /* ^J */ + /* 11 */ ED_KILL_LINE, /* ^K */ + /* 12 */ ED_CLEAR_SCREEN, /* ^L */ + /* 13 */ ED_NEWLINE, /* ^M */ + /* 14 */ ED_NEXT_HISTORY, /* ^N */ + /* 15 */ ED_IGNORE, /* ^O */ + /* 16 */ ED_PREV_HISTORY, /* ^P */ + /* 17 */ ED_IGNORE, /* ^Q */ + /* 18 */ ED_REDISPLAY, /* ^R */ + /* 19 */ ED_IGNORE, /* ^S */ + /* 20 */ ED_TRANSPOSE_CHARS, /* ^T */ + /* 21 */ VI_KILL_LINE_PREV, /* ^U */ + /* 22 */ ED_QUOTED_INSERT, /* ^V */ + /* 23 */ ED_DELETE_PREV_WORD, /* ^W */ + /* 24 */ ED_UNASSIGNED, /* ^X */ + /* 25 */ ED_IGNORE, /* ^Y */ + /* 26 */ ED_IGNORE, /* ^Z */ + /* 27 */ VI_COMMAND_MODE, /* ^[ */ + /* 28 */ ED_IGNORE, /* ^\ */ + /* 29 */ ED_UNASSIGNED, /* ^] */ + /* 30 */ ED_UNASSIGNED, /* ^^ */ + /* 31 */ ED_UNASSIGNED, /* ^_ */ +#endif /* KSHVI */ + /* 32 */ ED_INSERT, /* SPACE */ + /* 33 */ ED_INSERT, /* ! */ + /* 34 */ ED_INSERT, /* " */ + /* 35 */ ED_INSERT, /* # */ + /* 36 */ ED_INSERT, /* $ */ + /* 37 */ ED_INSERT, /* % */ + /* 38 */ ED_INSERT, /* & */ + /* 39 */ ED_INSERT, /* ' */ + /* 40 */ ED_INSERT, /* ( */ + /* 41 */ ED_INSERT, /* ) */ + /* 42 */ ED_INSERT, /* * */ + /* 43 */ ED_INSERT, /* + */ + /* 44 */ ED_INSERT, /* , */ + /* 45 */ ED_INSERT, /* - */ + /* 46 */ ED_INSERT, /* . */ + /* 47 */ ED_INSERT, /* / */ + /* 48 */ ED_INSERT, /* 0 */ + /* 49 */ ED_INSERT, /* 1 */ + /* 50 */ ED_INSERT, /* 2 */ + /* 51 */ ED_INSERT, /* 3 */ + /* 52 */ ED_INSERT, /* 4 */ + /* 53 */ ED_INSERT, /* 5 */ + /* 54 */ ED_INSERT, /* 6 */ + /* 55 */ ED_INSERT, /* 7 */ + /* 56 */ ED_INSERT, /* 8 */ + /* 57 */ ED_INSERT, /* 9 */ + /* 58 */ ED_INSERT, /* : */ + /* 59 */ ED_INSERT, /* ; */ + /* 60 */ ED_INSERT, /* < */ + /* 61 */ ED_INSERT, /* = */ + /* 62 */ ED_INSERT, /* > */ + /* 63 */ ED_INSERT, /* ? */ + /* 64 */ ED_INSERT, /* @ */ + /* 65 */ ED_INSERT, /* A */ + /* 66 */ ED_INSERT, /* B */ + /* 67 */ ED_INSERT, /* C */ + /* 68 */ ED_INSERT, /* D */ + /* 69 */ ED_INSERT, /* E */ + /* 70 */ ED_INSERT, /* F */ + /* 71 */ ED_INSERT, /* G */ + /* 72 */ ED_INSERT, /* H */ + /* 73 */ ED_INSERT, /* I */ + /* 74 */ ED_INSERT, /* J */ + /* 75 */ ED_INSERT, /* K */ + /* 76 */ ED_INSERT, /* L */ + /* 77 */ ED_INSERT, /* M */ + /* 78 */ ED_INSERT, /* N */ + /* 79 */ ED_INSERT, /* O */ + /* 80 */ ED_INSERT, /* P */ + /* 81 */ ED_INSERT, /* Q */ + /* 82 */ ED_INSERT, /* R */ + /* 83 */ ED_INSERT, /* S */ + /* 84 */ ED_INSERT, /* T */ + /* 85 */ ED_INSERT, /* U */ + /* 86 */ ED_INSERT, /* V */ + /* 87 */ ED_INSERT, /* W */ + /* 88 */ ED_INSERT, /* X */ + /* 89 */ ED_INSERT, /* Y */ + /* 90 */ ED_INSERT, /* Z */ + /* 91 */ ED_INSERT, /* [ */ + /* 92 */ ED_INSERT, /* \ */ + /* 93 */ ED_INSERT, /* ] */ + /* 94 */ ED_INSERT, /* ^ */ + /* 95 */ ED_INSERT, /* _ */ + /* 96 */ ED_INSERT, /* ` */ + /* 97 */ ED_INSERT, /* a */ + /* 98 */ ED_INSERT, /* b */ + /* 99 */ ED_INSERT, /* c */ + /* 100 */ ED_INSERT, /* d */ + /* 101 */ ED_INSERT, /* e */ + /* 102 */ ED_INSERT, /* f */ + /* 103 */ ED_INSERT, /* g */ + /* 104 */ ED_INSERT, /* h */ + /* 105 */ ED_INSERT, /* i */ + /* 106 */ ED_INSERT, /* j */ + /* 107 */ ED_INSERT, /* k */ + /* 108 */ ED_INSERT, /* l */ + /* 109 */ ED_INSERT, /* m */ + /* 110 */ ED_INSERT, /* n */ + /* 111 */ ED_INSERT, /* o */ + /* 112 */ ED_INSERT, /* p */ + /* 113 */ ED_INSERT, /* q */ + /* 114 */ ED_INSERT, /* r */ + /* 115 */ ED_INSERT, /* s */ + /* 116 */ ED_INSERT, /* t */ + /* 117 */ ED_INSERT, /* u */ + /* 118 */ ED_INSERT, /* v */ + /* 119 */ ED_INSERT, /* w */ + /* 120 */ ED_INSERT, /* x */ + /* 121 */ ED_INSERT, /* y */ + /* 122 */ ED_INSERT, /* z */ + /* 123 */ ED_INSERT, /* { */ + /* 124 */ ED_INSERT, /* | */ + /* 125 */ ED_INSERT, /* } */ + /* 126 */ ED_INSERT, /* ~ */ + /* 127 */ VI_DELETE_PREV_CHAR, /* ^? */ + /* 128 */ ED_INSERT, /* M-^@ */ + /* 129 */ ED_INSERT, /* M-^A */ + /* 130 */ ED_INSERT, /* M-^B */ + /* 131 */ ED_INSERT, /* M-^C */ + /* 132 */ ED_INSERT, /* M-^D */ + /* 133 */ ED_INSERT, /* M-^E */ + /* 134 */ ED_INSERT, /* M-^F */ + /* 135 */ ED_INSERT, /* M-^G */ + /* 136 */ ED_INSERT, /* M-^H */ + /* 137 */ ED_INSERT, /* M-^I */ + /* 138 */ ED_INSERT, /* M-^J */ + /* 139 */ ED_INSERT, /* M-^K */ + /* 140 */ ED_INSERT, /* M-^L */ + /* 141 */ ED_INSERT, /* M-^M */ + /* 142 */ ED_INSERT, /* M-^N */ + /* 143 */ ED_INSERT, /* M-^O */ + /* 144 */ ED_INSERT, /* M-^P */ + /* 145 */ ED_INSERT, /* M-^Q */ + /* 146 */ ED_INSERT, /* M-^R */ + /* 147 */ ED_INSERT, /* M-^S */ + /* 148 */ ED_INSERT, /* M-^T */ + /* 149 */ ED_INSERT, /* M-^U */ + /* 150 */ ED_INSERT, /* M-^V */ + /* 151 */ ED_INSERT, /* M-^W */ + /* 152 */ ED_INSERT, /* M-^X */ + /* 153 */ ED_INSERT, /* M-^Y */ + /* 154 */ ED_INSERT, /* M-^Z */ + /* 155 */ ED_INSERT, /* M-^[ */ + /* 156 */ ED_INSERT, /* M-^\ */ + /* 157 */ ED_INSERT, /* M-^] */ + /* 158 */ ED_INSERT, /* M-^^ */ + /* 159 */ ED_INSERT, /* M-^_ */ + /* 160 */ ED_INSERT, /* M-SPACE */ + /* 161 */ ED_INSERT, /* M-! */ + /* 162 */ ED_INSERT, /* M-" */ + /* 163 */ ED_INSERT, /* M-# */ + /* 164 */ ED_INSERT, /* M-$ */ + /* 165 */ ED_INSERT, /* M-% */ + /* 166 */ ED_INSERT, /* M-& */ + /* 167 */ ED_INSERT, /* M-' */ + /* 168 */ ED_INSERT, /* M-( */ + /* 169 */ ED_INSERT, /* M-) */ + /* 170 */ ED_INSERT, /* M-* */ + /* 171 */ ED_INSERT, /* M-+ */ + /* 172 */ ED_INSERT, /* M-, */ + /* 173 */ ED_INSERT, /* M-- */ + /* 174 */ ED_INSERT, /* M-. */ + /* 175 */ ED_INSERT, /* M-/ */ + /* 176 */ ED_INSERT, /* M-0 */ + /* 177 */ ED_INSERT, /* M-1 */ + /* 178 */ ED_INSERT, /* M-2 */ + /* 179 */ ED_INSERT, /* M-3 */ + /* 180 */ ED_INSERT, /* M-4 */ + /* 181 */ ED_INSERT, /* M-5 */ + /* 182 */ ED_INSERT, /* M-6 */ + /* 183 */ ED_INSERT, /* M-7 */ + /* 184 */ ED_INSERT, /* M-8 */ + /* 185 */ ED_INSERT, /* M-9 */ + /* 186 */ ED_INSERT, /* M-: */ + /* 187 */ ED_INSERT, /* M-; */ + /* 188 */ ED_INSERT, /* M-< */ + /* 189 */ ED_INSERT, /* M-= */ + /* 190 */ ED_INSERT, /* M-> */ + /* 191 */ ED_INSERT, /* M-? */ + /* 192 */ ED_INSERT, /* M-@ */ + /* 193 */ ED_INSERT, /* M-A */ + /* 194 */ ED_INSERT, /* M-B */ + /* 195 */ ED_INSERT, /* M-C */ + /* 196 */ ED_INSERT, /* M-D */ + /* 197 */ ED_INSERT, /* M-E */ + /* 198 */ ED_INSERT, /* M-F */ + /* 199 */ ED_INSERT, /* M-G */ + /* 200 */ ED_INSERT, /* M-H */ + /* 201 */ ED_INSERT, /* M-I */ + /* 202 */ ED_INSERT, /* M-J */ + /* 203 */ ED_INSERT, /* M-K */ + /* 204 */ ED_INSERT, /* M-L */ + /* 205 */ ED_INSERT, /* M-M */ + /* 206 */ ED_INSERT, /* M-N */ + /* 207 */ ED_INSERT, /* M-O */ + /* 208 */ ED_INSERT, /* M-P */ + /* 209 */ ED_INSERT, /* M-Q */ + /* 210 */ ED_INSERT, /* M-R */ + /* 211 */ ED_INSERT, /* M-S */ + /* 212 */ ED_INSERT, /* M-T */ + /* 213 */ ED_INSERT, /* M-U */ + /* 214 */ ED_INSERT, /* M-V */ + /* 215 */ ED_INSERT, /* M-W */ + /* 216 */ ED_INSERT, /* M-X */ + /* 217 */ ED_INSERT, /* M-Y */ + /* 218 */ ED_INSERT, /* M-Z */ + /* 219 */ ED_INSERT, /* M-[ */ + /* 220 */ ED_INSERT, /* M-\ */ + /* 221 */ ED_INSERT, /* M-] */ + /* 222 */ ED_INSERT, /* M-^ */ + /* 223 */ ED_INSERT, /* M-_ */ + /* 224 */ ED_INSERT, /* M-` */ + /* 225 */ ED_INSERT, /* M-a */ + /* 226 */ ED_INSERT, /* M-b */ + /* 227 */ ED_INSERT, /* M-c */ + /* 228 */ ED_INSERT, /* M-d */ + /* 229 */ ED_INSERT, /* M-e */ + /* 230 */ ED_INSERT, /* M-f */ + /* 231 */ ED_INSERT, /* M-g */ + /* 232 */ ED_INSERT, /* M-h */ + /* 233 */ ED_INSERT, /* M-i */ + /* 234 */ ED_INSERT, /* M-j */ + /* 235 */ ED_INSERT, /* M-k */ + /* 236 */ ED_INSERT, /* M-l */ + /* 237 */ ED_INSERT, /* M-m */ + /* 238 */ ED_INSERT, /* M-n */ + /* 239 */ ED_INSERT, /* M-o */ + /* 240 */ ED_INSERT, /* M-p */ + /* 241 */ ED_INSERT, /* M-q */ + /* 242 */ ED_INSERT, /* M-r */ + /* 243 */ ED_INSERT, /* M-s */ + /* 244 */ ED_INSERT, /* M-t */ + /* 245 */ ED_INSERT, /* M-u */ + /* 246 */ ED_INSERT, /* M-v */ + /* 247 */ ED_INSERT, /* M-w */ + /* 248 */ ED_INSERT, /* M-x */ + /* 249 */ ED_INSERT, /* M-y */ + /* 250 */ ED_INSERT, /* M-z */ + /* 251 */ ED_INSERT, /* M-{ */ + /* 252 */ ED_INSERT, /* M-| */ + /* 253 */ ED_INSERT, /* M-} */ + /* 254 */ ED_INSERT, /* M-~ */ + /* 255 */ ED_INSERT /* M-^? */ +}; + +static const el_action_t el_map_vi_command[] = { + /* 0 */ ED_UNASSIGNED, /* ^@ */ + /* 1 */ ED_MOVE_TO_BEG, /* ^A */ + /* 2 */ ED_UNASSIGNED, /* ^B */ + /* 3 */ ED_IGNORE, /* ^C */ + /* 4 */ ED_UNASSIGNED, /* ^D */ + /* 5 */ ED_MOVE_TO_END, /* ^E */ + /* 6 */ ED_UNASSIGNED, /* ^F */ + /* 7 */ ED_UNASSIGNED, /* ^G */ + /* 8 */ ED_DELETE_PREV_CHAR, /* ^H */ + /* 9 */ ED_UNASSIGNED, /* ^I */ + /* 10 */ ED_NEWLINE, /* ^J */ + /* 11 */ ED_KILL_LINE, /* ^K */ + /* 12 */ ED_CLEAR_SCREEN, /* ^L */ + /* 13 */ ED_NEWLINE, /* ^M */ + /* 14 */ ED_NEXT_HISTORY, /* ^N */ + /* 15 */ ED_IGNORE, /* ^O */ + /* 16 */ ED_PREV_HISTORY, /* ^P */ + /* 17 */ ED_IGNORE, /* ^Q */ + /* 18 */ ED_REDISPLAY, /* ^R */ + /* 19 */ ED_IGNORE, /* ^S */ + /* 20 */ ED_UNASSIGNED, /* ^T */ + /* 21 */ VI_KILL_LINE_PREV, /* ^U */ + /* 22 */ ED_UNASSIGNED, /* ^V */ + /* 23 */ ED_DELETE_PREV_WORD, /* ^W */ + /* 24 */ ED_UNASSIGNED, /* ^X */ + /* 25 */ ED_UNASSIGNED, /* ^Y */ + /* 26 */ ED_UNASSIGNED, /* ^Z */ + /* 27 */ EM_META_NEXT, /* ^[ */ + /* 28 */ ED_IGNORE, /* ^\ */ + /* 29 */ ED_UNASSIGNED, /* ^] */ + /* 30 */ ED_UNASSIGNED, /* ^^ */ + /* 31 */ ED_UNASSIGNED, /* ^_ */ + /* 32 */ ED_NEXT_CHAR, /* SPACE */ + /* 33 */ ED_UNASSIGNED, /* ! */ + /* 34 */ ED_UNASSIGNED, /* " */ + /* 35 */ VI_COMMENT_OUT, /* # */ + /* 36 */ ED_MOVE_TO_END, /* $ */ + /* 37 */ VI_MATCH, /* % */ + /* 38 */ ED_UNASSIGNED, /* & */ + /* 39 */ ED_UNASSIGNED, /* ' */ + /* 40 */ ED_UNASSIGNED, /* ( */ + /* 41 */ ED_UNASSIGNED, /* ) */ + /* 42 */ ED_UNASSIGNED, /* * */ + /* 43 */ ED_NEXT_HISTORY, /* + */ + /* 44 */ VI_REPEAT_PREV_CHAR, /* , */ + /* 45 */ ED_PREV_HISTORY, /* - */ + /* 46 */ VI_REDO, /* . */ + /* 47 */ VI_SEARCH_PREV, /* / */ + /* 48 */ VI_ZERO, /* 0 */ + /* 49 */ ED_ARGUMENT_DIGIT, /* 1 */ + /* 50 */ ED_ARGUMENT_DIGIT, /* 2 */ + /* 51 */ ED_ARGUMENT_DIGIT, /* 3 */ + /* 52 */ ED_ARGUMENT_DIGIT, /* 4 */ + /* 53 */ ED_ARGUMENT_DIGIT, /* 5 */ + /* 54 */ ED_ARGUMENT_DIGIT, /* 6 */ + /* 55 */ ED_ARGUMENT_DIGIT, /* 7 */ + /* 56 */ ED_ARGUMENT_DIGIT, /* 8 */ + /* 57 */ ED_ARGUMENT_DIGIT, /* 9 */ + /* 58 */ ED_COMMAND, /* : */ + /* 59 */ VI_REPEAT_NEXT_CHAR, /* ; */ + /* 60 */ ED_UNASSIGNED, /* < */ + /* 61 */ ED_UNASSIGNED, /* = */ + /* 62 */ ED_UNASSIGNED, /* > */ + /* 63 */ VI_SEARCH_NEXT, /* ? */ + /* 64 */ VI_ALIAS, /* @ */ + /* 65 */ VI_ADD_AT_EOL, /* A */ + /* 66 */ VI_PREV_BIG_WORD, /* B */ + /* 67 */ VI_CHANGE_TO_EOL, /* C */ + /* 68 */ ED_KILL_LINE, /* D */ + /* 69 */ VI_END_BIG_WORD, /* E */ + /* 70 */ VI_PREV_CHAR, /* F */ + /* 71 */ VI_TO_HISTORY_LINE, /* G */ + /* 72 */ ED_UNASSIGNED, /* H */ + /* 73 */ VI_INSERT_AT_BOL, /* I */ + /* 74 */ ED_SEARCH_NEXT_HISTORY, /* J */ + /* 75 */ ED_SEARCH_PREV_HISTORY, /* K */ + /* 76 */ ED_UNASSIGNED, /* L */ + /* 77 */ ED_UNASSIGNED, /* M */ + /* 78 */ VI_REPEAT_SEARCH_PREV, /* N */ + /* 79 */ ED_SEQUENCE_LEAD_IN, /* O */ + /* 80 */ VI_PASTE_PREV, /* P */ + /* 81 */ ED_UNASSIGNED, /* Q */ + /* 82 */ VI_REPLACE_MODE, /* R */ + /* 83 */ VI_SUBSTITUTE_LINE, /* S */ + /* 84 */ VI_TO_PREV_CHAR, /* T */ + /* 85 */ VI_UNDO_LINE, /* U */ + /* 86 */ ED_UNASSIGNED, /* V */ + /* 87 */ VI_NEXT_BIG_WORD, /* W */ + /* 88 */ ED_DELETE_PREV_CHAR, /* X */ + /* 89 */ VI_YANK_END, /* Y */ + /* 90 */ ED_UNASSIGNED, /* Z */ + /* 91 */ ED_SEQUENCE_LEAD_IN, /* [ */ + /* 92 */ ED_UNASSIGNED, /* \ */ + /* 93 */ ED_UNASSIGNED, /* ] */ + /* 94 */ ED_MOVE_TO_BEG, /* ^ */ + /* 95 */ VI_HISTORY_WORD, /* _ */ + /* 96 */ ED_UNASSIGNED, /* ` */ + /* 97 */ VI_ADD, /* a */ + /* 98 */ VI_PREV_WORD, /* b */ + /* 99 */ VI_CHANGE_META, /* c */ + /* 100 */ VI_DELETE_META, /* d */ + /* 101 */ VI_END_WORD, /* e */ + /* 102 */ VI_NEXT_CHAR, /* f */ + /* 103 */ ED_UNASSIGNED, /* g */ + /* 104 */ ED_PREV_CHAR, /* h */ + /* 105 */ VI_INSERT, /* i */ + /* 106 */ ED_NEXT_HISTORY, /* j */ + /* 107 */ ED_PREV_HISTORY, /* k */ + /* 108 */ ED_NEXT_CHAR, /* l */ + /* 109 */ ED_UNASSIGNED, /* m */ + /* 110 */ VI_REPEAT_SEARCH_NEXT, /* n */ + /* 111 */ ED_UNASSIGNED, /* o */ + /* 112 */ VI_PASTE_NEXT, /* p */ + /* 113 */ ED_UNASSIGNED, /* q */ + /* 114 */ VI_REPLACE_CHAR, /* r */ + /* 115 */ VI_SUBSTITUTE_CHAR, /* s */ + /* 116 */ VI_TO_NEXT_CHAR, /* t */ + /* 117 */ VI_UNDO, /* u */ + /* 118 */ VI_HISTEDIT, /* v */ + /* 119 */ VI_NEXT_WORD, /* w */ + /* 120 */ ED_DELETE_NEXT_CHAR, /* x */ + /* 121 */ VI_YANK, /* y */ + /* 122 */ ED_UNASSIGNED, /* z */ + /* 123 */ ED_UNASSIGNED, /* { */ + /* 124 */ VI_TO_COLUMN, /* | */ + /* 125 */ ED_UNASSIGNED, /* } */ + /* 126 */ VI_CHANGE_CASE, /* ~ */ + /* 127 */ ED_DELETE_PREV_CHAR, /* ^? */ + /* 128 */ ED_UNASSIGNED, /* M-^@ */ + /* 129 */ ED_UNASSIGNED, /* M-^A */ + /* 130 */ ED_UNASSIGNED, /* M-^B */ + /* 131 */ ED_UNASSIGNED, /* M-^C */ + /* 132 */ ED_UNASSIGNED, /* M-^D */ + /* 133 */ ED_UNASSIGNED, /* M-^E */ + /* 134 */ ED_UNASSIGNED, /* M-^F */ + /* 135 */ ED_UNASSIGNED, /* M-^G */ + /* 136 */ ED_UNASSIGNED, /* M-^H */ + /* 137 */ ED_UNASSIGNED, /* M-^I */ + /* 138 */ ED_UNASSIGNED, /* M-^J */ + /* 139 */ ED_UNASSIGNED, /* M-^K */ + /* 140 */ ED_UNASSIGNED, /* M-^L */ + /* 141 */ ED_UNASSIGNED, /* M-^M */ + /* 142 */ ED_UNASSIGNED, /* M-^N */ + /* 143 */ ED_UNASSIGNED, /* M-^O */ + /* 144 */ ED_UNASSIGNED, /* M-^P */ + /* 145 */ ED_UNASSIGNED, /* M-^Q */ + /* 146 */ ED_UNASSIGNED, /* M-^R */ + /* 147 */ ED_UNASSIGNED, /* M-^S */ + /* 148 */ ED_UNASSIGNED, /* M-^T */ + /* 149 */ ED_UNASSIGNED, /* M-^U */ + /* 150 */ ED_UNASSIGNED, /* M-^V */ + /* 151 */ ED_UNASSIGNED, /* M-^W */ + /* 152 */ ED_UNASSIGNED, /* M-^X */ + /* 153 */ ED_UNASSIGNED, /* M-^Y */ + /* 154 */ ED_UNASSIGNED, /* M-^Z */ + /* 155 */ ED_UNASSIGNED, /* M-^[ */ + /* 156 */ ED_UNASSIGNED, /* M-^\ */ + /* 157 */ ED_UNASSIGNED, /* M-^] */ + /* 158 */ ED_UNASSIGNED, /* M-^^ */ + /* 159 */ ED_UNASSIGNED, /* M-^_ */ + /* 160 */ ED_UNASSIGNED, /* M-SPACE */ + /* 161 */ ED_UNASSIGNED, /* M-! */ + /* 162 */ ED_UNASSIGNED, /* M-" */ + /* 163 */ ED_UNASSIGNED, /* M-# */ + /* 164 */ ED_UNASSIGNED, /* M-$ */ + /* 165 */ ED_UNASSIGNED, /* M-% */ + /* 166 */ ED_UNASSIGNED, /* M-& */ + /* 167 */ ED_UNASSIGNED, /* M-' */ + /* 168 */ ED_UNASSIGNED, /* M-( */ + /* 169 */ ED_UNASSIGNED, /* M-) */ + /* 170 */ ED_UNASSIGNED, /* M-* */ + /* 171 */ ED_UNASSIGNED, /* M-+ */ + /* 172 */ ED_UNASSIGNED, /* M-, */ + /* 173 */ ED_UNASSIGNED, /* M-- */ + /* 174 */ ED_UNASSIGNED, /* M-. */ + /* 175 */ ED_UNASSIGNED, /* M-/ */ + /* 176 */ ED_UNASSIGNED, /* M-0 */ + /* 177 */ ED_UNASSIGNED, /* M-1 */ + /* 178 */ ED_UNASSIGNED, /* M-2 */ + /* 179 */ ED_UNASSIGNED, /* M-3 */ + /* 180 */ ED_UNASSIGNED, /* M-4 */ + /* 181 */ ED_UNASSIGNED, /* M-5 */ + /* 182 */ ED_UNASSIGNED, /* M-6 */ + /* 183 */ ED_UNASSIGNED, /* M-7 */ + /* 184 */ ED_UNASSIGNED, /* M-8 */ + /* 185 */ ED_UNASSIGNED, /* M-9 */ + /* 186 */ ED_UNASSIGNED, /* M-: */ + /* 187 */ ED_UNASSIGNED, /* M-; */ + /* 188 */ ED_UNASSIGNED, /* M-< */ + /* 189 */ ED_UNASSIGNED, /* M-= */ + /* 190 */ ED_UNASSIGNED, /* M-> */ + /* 191 */ ED_UNASSIGNED, /* M-? */ + /* 192 */ ED_UNASSIGNED, /* M-@ */ + /* 193 */ ED_UNASSIGNED, /* M-A */ + /* 194 */ ED_UNASSIGNED, /* M-B */ + /* 195 */ ED_UNASSIGNED, /* M-C */ + /* 196 */ ED_UNASSIGNED, /* M-D */ + /* 197 */ ED_UNASSIGNED, /* M-E */ + /* 198 */ ED_UNASSIGNED, /* M-F */ + /* 199 */ ED_UNASSIGNED, /* M-G */ + /* 200 */ ED_UNASSIGNED, /* M-H */ + /* 201 */ ED_UNASSIGNED, /* M-I */ + /* 202 */ ED_UNASSIGNED, /* M-J */ + /* 203 */ ED_UNASSIGNED, /* M-K */ + /* 204 */ ED_UNASSIGNED, /* M-L */ + /* 205 */ ED_UNASSIGNED, /* M-M */ + /* 206 */ ED_UNASSIGNED, /* M-N */ + /* 207 */ ED_SEQUENCE_LEAD_IN, /* M-O */ + /* 208 */ ED_UNASSIGNED, /* M-P */ + /* 209 */ ED_UNASSIGNED, /* M-Q */ + /* 210 */ ED_UNASSIGNED, /* M-R */ + /* 211 */ ED_UNASSIGNED, /* M-S */ + /* 212 */ ED_UNASSIGNED, /* M-T */ + /* 213 */ ED_UNASSIGNED, /* M-U */ + /* 214 */ ED_UNASSIGNED, /* M-V */ + /* 215 */ ED_UNASSIGNED, /* M-W */ + /* 216 */ ED_UNASSIGNED, /* M-X */ + /* 217 */ ED_UNASSIGNED, /* M-Y */ + /* 218 */ ED_UNASSIGNED, /* M-Z */ + /* 219 */ ED_SEQUENCE_LEAD_IN, /* M-[ */ + /* 220 */ ED_UNASSIGNED, /* M-\ */ + /* 221 */ ED_UNASSIGNED, /* M-] */ + /* 222 */ ED_UNASSIGNED, /* M-^ */ + /* 223 */ ED_UNASSIGNED, /* M-_ */ + /* 224 */ ED_UNASSIGNED, /* M-` */ + /* 225 */ ED_UNASSIGNED, /* M-a */ + /* 226 */ ED_UNASSIGNED, /* M-b */ + /* 227 */ ED_UNASSIGNED, /* M-c */ + /* 228 */ ED_UNASSIGNED, /* M-d */ + /* 229 */ ED_UNASSIGNED, /* M-e */ + /* 230 */ ED_UNASSIGNED, /* M-f */ + /* 231 */ ED_UNASSIGNED, /* M-g */ + /* 232 */ ED_UNASSIGNED, /* M-h */ + /* 233 */ ED_UNASSIGNED, /* M-i */ + /* 234 */ ED_UNASSIGNED, /* M-j */ + /* 235 */ ED_UNASSIGNED, /* M-k */ + /* 236 */ ED_UNASSIGNED, /* M-l */ + /* 237 */ ED_UNASSIGNED, /* M-m */ + /* 238 */ ED_UNASSIGNED, /* M-n */ + /* 239 */ ED_UNASSIGNED, /* M-o */ + /* 240 */ ED_UNASSIGNED, /* M-p */ + /* 241 */ ED_UNASSIGNED, /* M-q */ + /* 242 */ ED_UNASSIGNED, /* M-r */ + /* 243 */ ED_UNASSIGNED, /* M-s */ + /* 244 */ ED_UNASSIGNED, /* M-t */ + /* 245 */ ED_UNASSIGNED, /* M-u */ + /* 246 */ ED_UNASSIGNED, /* M-v */ + /* 247 */ ED_UNASSIGNED, /* M-w */ + /* 248 */ ED_UNASSIGNED, /* M-x */ + /* 249 */ ED_UNASSIGNED, /* M-y */ + /* 250 */ ED_UNASSIGNED, /* M-z */ + /* 251 */ ED_UNASSIGNED, /* M-{ */ + /* 252 */ ED_UNASSIGNED, /* M-| */ + /* 253 */ ED_UNASSIGNED, /* M-} */ + /* 254 */ ED_UNASSIGNED, /* M-~ */ + /* 255 */ ED_UNASSIGNED /* M-^? */ +}; + + +/* map_init(): + * Initialize and allocate the maps + */ +libedit_private int +map_init(EditLine *el) +{ + + /* + * Make sure those are correct before starting. + */ +#ifdef MAP_DEBUG + if (sizeof(el_map_emacs) != N_KEYS * sizeof(el_action_t)) + EL_ABORT((el->errfile, "Emacs map incorrect\n")); + if (sizeof(el_map_vi_command) != N_KEYS * sizeof(el_action_t)) + EL_ABORT((el->errfile, "Vi command map incorrect\n")); + if (sizeof(el_map_vi_insert) != N_KEYS * sizeof(el_action_t)) + EL_ABORT((el->errfile, "Vi insert map incorrect\n")); +#endif + + el->el_map.alt = el_calloc(N_KEYS, sizeof(*el->el_map.alt)); + if (el->el_map.alt == NULL) + return -1; + el->el_map.key = el_calloc(N_KEYS, sizeof(*el->el_map.key)); + if (el->el_map.key == NULL) + return -1; + el->el_map.emacs = el_map_emacs; + el->el_map.vic = el_map_vi_command; + el->el_map.vii = el_map_vi_insert; + el->el_map.help = el_calloc(EL_NUM_FCNS, sizeof(*el->el_map.help)); + if (el->el_map.help == NULL) + return -1; + (void) memcpy(el->el_map.help, el_func_help, + sizeof(*el->el_map.help) * EL_NUM_FCNS); + el->el_map.func = el_calloc(EL_NUM_FCNS, sizeof(*el->el_map.func)); + if (el->el_map.func == NULL) + return -1; + memcpy(el->el_map.func, el_func, sizeof(*el->el_map.func) + * EL_NUM_FCNS); + el->el_map.nfunc = EL_NUM_FCNS; + +#ifdef VIDEFAULT + map_init_vi(el); +#else + map_init_emacs(el); +#endif /* VIDEFAULT */ + return 0; +} + + +/* map_end(): + * Free the space taken by the editor maps + */ +libedit_private void +map_end(EditLine *el) +{ + + el_free(el->el_map.alt); + el->el_map.alt = NULL; + el_free(el->el_map.key); + el->el_map.key = NULL; + el->el_map.emacs = NULL; + el->el_map.vic = NULL; + el->el_map.vii = NULL; + el_free(el->el_map.help); + el->el_map.help = NULL; + el_free(el->el_map.func); + el->el_map.func = NULL; +} + + +/* map_init_nls(): + * Find all the printable keys and bind them to self insert + */ +static void +map_init_nls(EditLine *el) +{ + int i; + + el_action_t *map = el->el_map.key; + + for (i = 0200; i <= 0377; i++) + if (iswprint(i)) + map[i] = ED_INSERT; +} + + +/* map_init_meta(): + * Bind all the meta keys to the appropriate ESC- sequence + */ +static void +map_init_meta(EditLine *el) +{ + wchar_t buf[3]; + int i; + el_action_t *map = el->el_map.key; + el_action_t *alt = el->el_map.alt; + + for (i = 0; i <= 0377 && map[i] != EM_META_NEXT; i++) + continue; + + if (i > 0377) { + for (i = 0; i <= 0377 && alt[i] != EM_META_NEXT; i++) + continue; + if (i > 0377) { + i = 033; + if (el->el_map.type == MAP_VI) + map = alt; + } else + map = alt; + } + buf[0] = (wchar_t)i; + buf[2] = 0; + for (i = 0200; i <= 0377; i++) + switch (map[i]) { + case ED_INSERT: + case ED_UNASSIGNED: + case ED_SEQUENCE_LEAD_IN: + break; + default: + buf[1] = i & 0177; + keymacro_add(el, buf, keymacro_map_cmd(el, (int) map[i]), XK_CMD); + break; + } + map[(int) buf[0]] = ED_SEQUENCE_LEAD_IN; +} + + +/* map_init_vi(): + * Initialize the vi bindings + */ +libedit_private void +map_init_vi(EditLine *el) +{ + int i; + el_action_t *key = el->el_map.key; + el_action_t *alt = el->el_map.alt; + const el_action_t *vii = el->el_map.vii; + const el_action_t *vic = el->el_map.vic; + + el->el_map.type = MAP_VI; + el->el_map.current = el->el_map.key; + + keymacro_reset(el); + + for (i = 0; i < N_KEYS; i++) { + key[i] = vii[i]; + alt[i] = vic[i]; + } + + map_init_meta(el); + map_init_nls(el); + + tty_bind_char(el, 1); + terminal_bind_arrow(el); +} + + +/* map_init_emacs(): + * Initialize the emacs bindings + */ +libedit_private void +map_init_emacs(EditLine *el) +{ + int i; + wchar_t buf[3]; + el_action_t *key = el->el_map.key; + el_action_t *alt = el->el_map.alt; + const el_action_t *emacs = el->el_map.emacs; + + el->el_map.type = MAP_EMACS; + el->el_map.current = el->el_map.key; + keymacro_reset(el); + + for (i = 0; i < N_KEYS; i++) { + key[i] = emacs[i]; + alt[i] = ED_UNASSIGNED; + } + + map_init_meta(el); + map_init_nls(el); + + buf[0] = CONTROL('X'); + buf[1] = CONTROL('X'); + buf[2] = 0; + keymacro_add(el, buf, keymacro_map_cmd(el, EM_EXCHANGE_MARK), XK_CMD); + + tty_bind_char(el, 1); + terminal_bind_arrow(el); +} + + +/* map_set_editor(): + * Set the editor + */ +libedit_private int +map_set_editor(EditLine *el, wchar_t *editor) +{ + + if (wcscmp(editor, L"emacs") == 0) { + map_init_emacs(el); + return 0; + } + if (wcscmp(editor, L"vi") == 0) { + map_init_vi(el); + return 0; + } + return -1; +} + + +/* map_get_editor(): + * Retrieve the editor + */ +libedit_private int +map_get_editor(EditLine *el, const wchar_t **editor) +{ + + if (editor == NULL) + return -1; + switch (el->el_map.type) { + case MAP_EMACS: + *editor = L"emacs"; + return 0; + case MAP_VI: + *editor = L"vi"; + return 0; + } + return -1; +} + + +/* map_print_key(): + * Print the function description for 1 key + */ +static void +map_print_key(EditLine *el, el_action_t *map, const wchar_t *in) +{ + char outbuf[EL_BUFSIZ]; + el_bindings_t *bp, *ep; + + if (in[0] == '\0' || in[1] == '\0') { + (void) keymacro__decode_str(in, outbuf, sizeof(outbuf), ""); + ep = &el->el_map.help[el->el_map.nfunc]; + for (bp = el->el_map.help; bp < ep; bp++) + if (bp->func == map[(unsigned char) *in]) { + (void) fprintf(el->el_outfile, + "%s\t->\t%ls\n", outbuf, bp->name); + return; + } + } else + keymacro_print(el, in); +} + + +/* map_print_some_keys(): + * Print keys from first to last + */ +static void +map_print_some_keys(EditLine *el, el_action_t *map, wint_t first, wint_t last) +{ + el_bindings_t *bp, *ep; + wchar_t firstbuf[2], lastbuf[2]; + char unparsbuf[EL_BUFSIZ], extrabuf[EL_BUFSIZ]; + + firstbuf[0] = first; + firstbuf[1] = 0; + lastbuf[0] = last; + lastbuf[1] = 0; + if (map[first] == ED_UNASSIGNED) { + if (first == last) { + (void) keymacro__decode_str(firstbuf, unparsbuf, + sizeof(unparsbuf), STRQQ); + (void) fprintf(el->el_outfile, + "%-15s-> is undefined\n", unparsbuf); + } + return; + } + ep = &el->el_map.help[el->el_map.nfunc]; + for (bp = el->el_map.help; bp < ep; bp++) { + if (bp->func == map[first]) { + if (first == last) { + (void) keymacro__decode_str(firstbuf, unparsbuf, + sizeof(unparsbuf), STRQQ); + (void) fprintf(el->el_outfile, "%-15s-> %ls\n", + unparsbuf, bp->name); + } else { + (void) keymacro__decode_str(firstbuf, unparsbuf, + sizeof(unparsbuf), STRQQ); + (void) keymacro__decode_str(lastbuf, extrabuf, + sizeof(extrabuf), STRQQ); + (void) fprintf(el->el_outfile, + "%-4s to %-7s-> %ls\n", + unparsbuf, extrabuf, bp->name); + } + return; + } + } +#ifdef MAP_DEBUG + if (map == el->el_map.key) { + (void) keymacro__decode_str(firstbuf, unparsbuf, + sizeof(unparsbuf), STRQQ); + (void) fprintf(el->el_outfile, + "BUG!!! %s isn't bound to anything.\n", unparsbuf); + (void) fprintf(el->el_outfile, "el->el_map.key[%d] == %d\n", + first, el->el_map.key[first]); + } else { + (void) keymacro__decode_str(firstbuf, unparsbuf, + sizeof(unparsbuf), STRQQ); + (void) fprintf(el->el_outfile, + "BUG!!! %s isn't bound to anything.\n", unparsbuf); + (void) fprintf(el->el_outfile, "el->el_map.alt[%d] == %d\n", + first, el->el_map.alt[first]); + } +#endif + EL_ABORT((el->el_errfile, "Error printing keys\n")); +} + + +/* map_print_all_keys(): + * Print the function description for all keys. + */ +static void +map_print_all_keys(EditLine *el) +{ + int prev, i; + + (void) fprintf(el->el_outfile, "Standard key bindings\n"); + prev = 0; + for (i = 0; i < N_KEYS; i++) { + if (el->el_map.key[prev] == el->el_map.key[i]) + continue; + map_print_some_keys(el, el->el_map.key, prev, i - 1); + prev = i; + } + map_print_some_keys(el, el->el_map.key, prev, i - 1); + + (void) fprintf(el->el_outfile, "Alternative key bindings\n"); + prev = 0; + for (i = 0; i < N_KEYS; i++) { + if (el->el_map.alt[prev] == el->el_map.alt[i]) + continue; + map_print_some_keys(el, el->el_map.alt, prev, i - 1); + prev = i; + } + map_print_some_keys(el, el->el_map.alt, prev, i - 1); + + (void) fprintf(el->el_outfile, "Multi-character bindings\n"); + keymacro_print(el, L""); + (void) fprintf(el->el_outfile, "Arrow key bindings\n"); + terminal_print_arrow(el, L""); +} + + +/* map_bind(): + * Add/remove/change bindings + */ +libedit_private int +map_bind(EditLine *el, int argc, const wchar_t **argv) +{ + el_action_t *map; + int ntype, rem; + const wchar_t *p; + wchar_t inbuf[EL_BUFSIZ]; + wchar_t outbuf[EL_BUFSIZ]; + const wchar_t *in = NULL; + wchar_t *out; + el_bindings_t *bp, *ep; + int cmd; + int key; + + if (argv == NULL) + return -1; + + map = el->el_map.key; + ntype = XK_CMD; + key = rem = 0; + for (argc = 1; (p = argv[argc]) != NULL; argc++) + if (p[0] == '-') + switch (p[1]) { + case 'a': + map = el->el_map.alt; + break; + + case 's': + ntype = XK_STR; + break; + case 'k': + key = 1; + break; + + case 'r': + rem = 1; + break; + + case 'v': + map_init_vi(el); + return 0; + + case 'e': + map_init_emacs(el); + return 0; + + case 'l': + ep = &el->el_map.help[el->el_map.nfunc]; + for (bp = el->el_map.help; bp < ep; bp++) + (void) fprintf(el->el_outfile, + "%ls\n\t%ls\n", + bp->name, bp->description); + return 0; + default: + (void) fprintf(el->el_errfile, + "%ls: Invalid switch `%lc'.\n", + argv[0], (wint_t)p[1]); + } + else + break; + + if (argv[argc] == NULL) { + map_print_all_keys(el); + return 0; + } + if (key) + in = argv[argc++]; + else if ((in = parse__string(inbuf, argv[argc++])) == NULL) { + (void) fprintf(el->el_errfile, + "%ls: Invalid \\ or ^ in instring.\n", + argv[0]); + return -1; + } + if (rem) { + if (key) { + (void) terminal_clear_arrow(el, in); + return -1; + } + if (in[1]) + (void) keymacro_delete(el, in); + else if (map[(unsigned char) *in] == ED_SEQUENCE_LEAD_IN) + (void) keymacro_delete(el, in); + else + map[(unsigned char) *in] = ED_UNASSIGNED; + return 0; + } + if (argv[argc] == NULL) { + if (key) + terminal_print_arrow(el, in); + else + map_print_key(el, map, in); + return 0; + } +#ifdef notyet + if (argv[argc + 1] != NULL) { + bindkeymacro_usage(); + return -1; + } +#endif + + switch (ntype) { + case XK_STR: + if ((out = parse__string(outbuf, argv[argc])) == NULL) { + (void) fprintf(el->el_errfile, + "%ls: Invalid \\ or ^ in outstring.\n", argv[0]); + return -1; + } + if (key) + terminal_set_arrow(el, in, keymacro_map_str(el, out), ntype); + else + keymacro_add(el, in, keymacro_map_str(el, out), ntype); + map[(unsigned char) *in] = ED_SEQUENCE_LEAD_IN; + break; + + case XK_CMD: + if ((cmd = parse_cmd(el, argv[argc])) == -1) { + (void) fprintf(el->el_errfile, + "%ls: Invalid command `%ls'.\n", + argv[0], argv[argc]); + return -1; + } + if (key) + terminal_set_arrow(el, in, keymacro_map_cmd(el, cmd), ntype); + else { + if (in[1]) { + keymacro_add(el, in, keymacro_map_cmd(el, cmd), ntype); + map[(unsigned char) *in] = ED_SEQUENCE_LEAD_IN; + } else { + keymacro_clear(el, map, in); + map[(unsigned char) *in] = (el_action_t)cmd; + } + } + break; + + /* coverity[dead_error_begin] */ + default: + EL_ABORT((el->el_errfile, "Bad XK_ type %d\n", ntype)); + break; + } + return 0; +} + + +/* map_addfunc(): + * add a user defined function + */ +libedit_private int +map_addfunc(EditLine *el, const wchar_t *name, const wchar_t *help, + el_func_t func) +{ + void *p; + size_t nf = el->el_map.nfunc + 1; + + if (name == NULL || help == NULL || func == NULL) + return -1; + + if ((p = el_realloc(el->el_map.func, nf * + sizeof(*el->el_map.func))) == NULL) + return -1; + el->el_map.func = p; + if ((p = el_realloc(el->el_map.help, nf * sizeof(*el->el_map.help))) + == NULL) + return -1; + el->el_map.help = p; + + nf = (size_t)el->el_map.nfunc; + el->el_map.func[nf] = func; + + el->el_map.help[nf].name = name; + el->el_map.help[nf].func = (int)nf; + el->el_map.help[nf].description = help; + el->el_map.nfunc++; + + return 0; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/map.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/map.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/map.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/map.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,79 @@ +/* $NetBSD: map.h,v 1.13 2016/05/09 21:46:56 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)map.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.map.h: Editor maps + */ +#ifndef _h_el_map +#define _h_el_map + +typedef el_action_t (*el_func_t)(EditLine *, wint_t); + +typedef struct el_bindings_t { /* for the "bind" shell command */ + const wchar_t *name; /* function name for bind command */ + int func; /* function numeric value */ + const wchar_t *description; /* description of function */ +} el_bindings_t; + +typedef struct el_map_t { + el_action_t *alt; /* The current alternate key map */ + el_action_t *key; /* The current normal key map */ + el_action_t *current; /* The keymap we are using */ + const el_action_t *emacs; /* The default emacs key map */ + const el_action_t *vic; /* The vi command mode key map */ + const el_action_t *vii; /* The vi insert mode key map */ + int type; /* Emacs or vi */ + el_bindings_t *help; /* The help for the editor functions */ + el_func_t *func; /* List of available functions */ + size_t nfunc; /* The number of functions/help items */ +} el_map_t; + +#define MAP_EMACS 0 +#define MAP_VI 1 + +#define N_KEYS 256 + +libedit_private int map_bind(EditLine *, int, const wchar_t **); +libedit_private int map_init(EditLine *); +libedit_private void map_end(EditLine *); +libedit_private void map_init_vi(EditLine *); +libedit_private void map_init_emacs(EditLine *); +libedit_private int map_set_editor(EditLine *, wchar_t *); +libedit_private int map_get_editor(EditLine *, const wchar_t **); +libedit_private int map_addfunc(EditLine *, const wchar_t *, const wchar_t *, + el_func_t); + +#endif /* _h_el_map */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/parse.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/parse.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/parse.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/parse.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,289 @@ +/* $NetBSD: parse.c,v 1.42 2019/07/23 10:18:52 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)parse.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: parse.c,v 1.42 2019/07/23 10:18:52 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * parse.c: parse an editline extended command + * + * commands are: + * + * bind + * echotc + * edit + * gettc + * history + * settc + * setty + */ +#include +#include + +#include "el.h" +#include "parse.h" + +static const struct { + const wchar_t *name; + int (*func)(EditLine *, int, const wchar_t **); +} cmds[] = { + { L"bind", map_bind }, + { L"echotc", terminal_echotc }, + { L"edit", el_editmode }, + { L"history", hist_command }, + { L"telltc", terminal_telltc }, + { L"settc", terminal_settc }, + { L"setty", tty_stty }, + { NULL, NULL } +}; + + +/* parse_line(): + * Parse a line and dispatch it + */ +libedit_private int +parse_line(EditLine *el, const wchar_t *line) +{ + const wchar_t **argv = NULL; + int argc = 0; + TokenizerW *tok; + + tok = tok_winit(NULL); + tok_wstr(tok, line, &argc, &argv); + argc = el_wparse(el, argc, argv); + tok_wend(tok); + return argc; +} + + +/* el_parse(): + * Command dispatcher + */ +int +el_wparse(EditLine *el, int argc, const wchar_t *argv[]) +{ + const wchar_t *ptr; + int i; + + if (argc < 1) + return -1; + ptr = wcschr(argv[0], L':'); + if (ptr != NULL) { + wchar_t *tprog; + size_t l; + + if (ptr == argv[0]) + return 0; + l = (size_t)(ptr - argv[0]); + tprog = el_calloc(l + 1, sizeof(*tprog)); + if (tprog == NULL) + return 0; + (void) wcsncpy(tprog, argv[0], l); + tprog[l] = '\0'; + ptr++; + l = (size_t)el_match(el->el_prog, tprog); + el_free(tprog); + if (!l) + return 0; + } else + ptr = argv[0]; + + for (i = 0; cmds[i].name != NULL; i++) + if (wcscmp(cmds[i].name, ptr) == 0) { + i = (*cmds[i].func) (el, argc, argv); + return -i; + } + return -1; +} + + +/* parse__escape(): + * Parse a string of the form ^ \ \ \U+xxxx and return + * the appropriate character or -1 if the escape is not valid + */ +libedit_private int +parse__escape(const wchar_t **ptr) +{ + const wchar_t *p; + wint_t c; + + p = *ptr; + + if (p[1] == 0) + return -1; + + if (*p == '\\') { + p++; + switch (*p) { + case 'a': + c = '\007'; /* Bell */ + break; + case 'b': + c = '\010'; /* Backspace */ + break; + case 't': + c = '\011'; /* Horizontal Tab */ + break; + case 'n': + c = '\012'; /* New Line */ + break; + case 'v': + c = '\013'; /* Vertical Tab */ + break; + case 'f': + c = '\014'; /* Form Feed */ + break; + case 'r': + c = '\015'; /* Carriage Return */ + break; + case 'e': + c = '\033'; /* Escape */ + break; + case 'U': /* Unicode \U+xxxx or \U+xxxxx format */ + { + int i; + const wchar_t hex[] = L"0123456789ABCDEF"; + const wchar_t *h; + ++p; + if (*p++ != '+') + return -1; + c = 0; + for (i = 0; i < 5; ++i) { + h = wcschr(hex, *p++); + if (!h && i < 4) + return -1; + else if (h) + c = (c << 4) | ((int)(h - hex)); + else + --p; + } + if (c > 0x10FFFF) /* outside valid character range */ + return -1; + break; + } + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + { + int cnt, ch; + + for (cnt = 0, c = 0; cnt < 3; cnt++) { + ch = *p++; + if (ch < '0' || ch > '7') { + p--; + break; + } + c = (c << 3) | (ch - '0'); + } + if ((c & (wint_t)0xffffff00) != (wint_t)0) + return -1; + --p; + break; + } + default: + c = *p; + break; + } + } else if (*p == '^') { + p++; + c = (*p == '?') ? '\177' : (*p & 0237); + } else + c = *p; + *ptr = ++p; + return c; +} + +/* parse__string(): + * Parse the escapes from in and put the raw string out + */ +libedit_private wchar_t * +parse__string(wchar_t *out, const wchar_t *in) +{ + wchar_t *rv = out; + int n; + + for (;;) + switch (*in) { + case '\0': + *out = '\0'; + return rv; + + case '\\': + case '^': + if ((n = parse__escape(&in)) == -1) + return NULL; + *out++ = (wchar_t)n; + break; + + case 'M': + if (in[1] == '-' && in[2] != '\0') { + *out++ = '\033'; + in += 2; + break; + } + /*FALLTHROUGH*/ + + default: + *out++ = *in++; + break; + } +} + + +/* parse_cmd(): + * Return the command number for the command string given + * or -1 if one is not found + */ +libedit_private int +parse_cmd(EditLine *el, const wchar_t *cmd) +{ + el_bindings_t *b = el->el_map.help; + size_t i; + + for (i = 0; i < el->el_map.nfunc; i++) + if (wcscmp(b[i].name, cmd) == 0) + return b[i].func; + return -1; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/parse.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/parse.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/parse.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/parse.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,48 @@ +/* $NetBSD: parse.h,v 1.9 2016/05/09 21:46:56 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)parse.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.parse.h: Parser functions + */ +#ifndef _h_el_parse +#define _h_el_parse + +libedit_private int parse_line(EditLine *, const wchar_t *); +libedit_private int parse__escape(const wchar_t **); +libedit_private wchar_t *parse__string(wchar_t *, const wchar_t *); +libedit_private int parse_cmd(EditLine *, const wchar_t *); + +#endif /* _h_el_parse */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/prompt.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/prompt.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/prompt.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/prompt.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,202 @@ +/* $NetBSD: prompt.c,v 1.27 2017/06/27 23:25:13 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)prompt.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: prompt.c,v 1.27 2017/06/27 23:25:13 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * prompt.c: Prompt printing functions + */ +#include +#include "el.h" + +static wchar_t *prompt_default(EditLine *); +static wchar_t *prompt_default_r(EditLine *); + +/* prompt_default(): + * Just a default prompt, in case the user did not provide one + */ +static wchar_t * +/*ARGSUSED*/ +prompt_default(EditLine *el __attribute__((__unused__))) +{ + static wchar_t a[3] = L"? "; + + return a; +} + + +/* prompt_default_r(): + * Just a default rprompt, in case the user did not provide one + */ +static wchar_t * +/*ARGSUSED*/ +prompt_default_r(EditLine *el __attribute__((__unused__))) +{ + static wchar_t a[1] = L""; + + return a; +} + + +/* prompt_print(): + * Print the prompt and update the prompt position. + */ +libedit_private void +prompt_print(EditLine *el, int op) +{ + el_prompt_t *elp; + wchar_t *p; + + if (op == EL_PROMPT) + elp = &el->el_prompt; + else + elp = &el->el_rprompt; + + if (elp->p_wide) + p = (*elp->p_func)(el); + else + p = ct_decode_string((char *)(void *)(*elp->p_func)(el), + &el->el_scratch); + + for (; *p; p++) { + if (elp->p_ignore == *p) { + wchar_t *litstart = ++p; + while (*p && *p != elp->p_ignore) + p++; + if (!*p || !p[1]) { + // XXX: We lose the last literal + break; + } + re_putliteral(el, litstart, p++); + continue; + } + re_putc(el, *p, 1); + } + + elp->p_pos.v = el->el_refresh.r_cursor.v; + elp->p_pos.h = el->el_refresh.r_cursor.h; +} + + +/* prompt_init(): + * Initialize the prompt stuff + */ +libedit_private int +prompt_init(EditLine *el) +{ + + el->el_prompt.p_func = prompt_default; + el->el_prompt.p_pos.v = 0; + el->el_prompt.p_pos.h = 0; + el->el_prompt.p_ignore = '\0'; + el->el_rprompt.p_func = prompt_default_r; + el->el_rprompt.p_pos.v = 0; + el->el_rprompt.p_pos.h = 0; + el->el_rprompt.p_ignore = '\0'; + return 0; +} + + +/* prompt_end(): + * Clean up the prompt stuff + */ +libedit_private void +/*ARGSUSED*/ +prompt_end(EditLine *el __attribute__((__unused__))) +{ +} + + +/* prompt_set(): + * Install a prompt printing function + */ +libedit_private int +prompt_set(EditLine *el, el_pfunc_t prf, wchar_t c, int op, int wide) +{ + el_prompt_t *p; + + if (op == EL_PROMPT || op == EL_PROMPT_ESC) + p = &el->el_prompt; + else + p = &el->el_rprompt; + + if (prf == NULL) { + if (op == EL_PROMPT || op == EL_PROMPT_ESC) + p->p_func = prompt_default; + else + p->p_func = prompt_default_r; + } else { + p->p_func = prf; + } + + p->p_ignore = c; + + p->p_pos.v = 0; + p->p_pos.h = 0; + p->p_wide = wide; + + return 0; +} + + +/* prompt_get(): + * Retrieve the prompt printing function + */ +libedit_private int +prompt_get(EditLine *el, el_pfunc_t *prf, wchar_t *c, int op) +{ + el_prompt_t *p; + + if (prf == NULL) + return -1; + + if (op == EL_PROMPT) + p = &el->el_prompt; + else + p = &el->el_rprompt; + + if (prf) + *prf = p->p_func; + if (c) + *c = p->p_ignore; + + return 0; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/prompt.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/prompt.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/prompt.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/prompt.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,58 @@ +/* $NetBSD: prompt.h,v 1.15 2016/05/09 21:46:56 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)prompt.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.prompt.h: Prompt printing stuff + */ +#ifndef _h_el_prompt +#define _h_el_prompt + +typedef wchar_t *(*el_pfunc_t)(EditLine *); + +typedef struct el_prompt_t { + el_pfunc_t p_func; /* Function to return the prompt */ + coord_t p_pos; /* position in the line after prompt */ + wchar_t p_ignore; /* character to start/end literal */ + int p_wide; +} el_prompt_t; + +libedit_private void prompt_print(EditLine *, int); +libedit_private int prompt_set(EditLine *, el_pfunc_t, wchar_t, int, int); +libedit_private int prompt_get(EditLine *, el_pfunc_t *, wchar_t *, int); +libedit_private int prompt_init(EditLine *); +libedit_private void prompt_end(EditLine *); + +#endif /* _h_el_prompt */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/read.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/read.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/read.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/read.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,624 @@ +/* $NetBSD: read.c,v 1.106 2019/07/23 10:18:52 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)read.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: read.c,v 1.106 2019/07/23 10:18:52 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * read.c: Terminal read functions + */ +#include +#include +#include +#include +#include +#include +#include + +#include "el.h" +#include "fcns.h" +#include "read.h" + +#define EL_MAXMACRO 10 + +struct macros { + wchar_t **macro; + int level; + int offset; +}; + +struct el_read_t { + struct macros macros; + el_rfunc_t read_char; /* Function to read a character. */ + int read_errno; +}; + +static int read__fixio(int, int); +static int read_char(EditLine *, wchar_t *); +static int read_getcmd(EditLine *, el_action_t *, wchar_t *); +static void read_clearmacros(struct macros *); +static void read_pop(struct macros *); +static const wchar_t *noedit_wgets(EditLine *, int *); + +/* read_init(): + * Initialize the read stuff + */ +libedit_private int +read_init(EditLine *el) +{ + struct macros *ma; + + if ((el->el_read = el_malloc(sizeof(*el->el_read))) == NULL) + return -1; + + ma = &el->el_read->macros; + if ((ma->macro = el_calloc(EL_MAXMACRO, sizeof(*ma->macro))) == NULL) { + free(el->el_read); + return -1; + } + ma->level = -1; + ma->offset = 0; + + /* builtin read_char */ + el->el_read->read_char = read_char; + return 0; +} + +/* el_read_end(): + * Free the data structures used by the read stuff. + */ +libedit_private void +read_end(struct el_read_t *el_read) +{ + read_clearmacros(&el_read->macros); + el_free(el_read->macros.macro); + el_read->macros.macro = NULL; + el_free(el_read); +} + +/* el_read_setfn(): + * Set the read char function to the one provided. + * If it is set to EL_BUILTIN_GETCFN, then reset to the builtin one. + */ +libedit_private int +el_read_setfn(struct el_read_t *el_read, el_rfunc_t rc) +{ + el_read->read_char = (rc == EL_BUILTIN_GETCFN) ? read_char : rc; + return 0; +} + + +/* el_read_getfn(): + * return the current read char function, or EL_BUILTIN_GETCFN + * if it is the default one + */ +libedit_private el_rfunc_t +el_read_getfn(struct el_read_t *el_read) +{ + return el_read->read_char == read_char ? + EL_BUILTIN_GETCFN : el_read->read_char; +} + + +/* read__fixio(): + * Try to recover from a read error + */ +/* ARGSUSED */ +static int +read__fixio(int fd __attribute__((__unused__)), int e) +{ + + switch (e) { + case -1: /* Make sure that the code is reachable */ + +#ifdef EWOULDBLOCK + case EWOULDBLOCK: +#ifndef TRY_AGAIN +#define TRY_AGAIN +#endif +#endif /* EWOULDBLOCK */ + +#if defined(POSIX) && defined(EAGAIN) +#if defined(EWOULDBLOCK) && EWOULDBLOCK != EAGAIN + case EAGAIN: +#ifndef TRY_AGAIN +#define TRY_AGAIN +#endif +#endif /* EWOULDBLOCK && EWOULDBLOCK != EAGAIN */ +#endif /* POSIX && EAGAIN */ + + e = 0; +#ifdef TRY_AGAIN +#if defined(F_SETFL) && defined(O_NDELAY) + if ((e = fcntl(fd, F_GETFL, 0)) == -1) + return -1; + + if (fcntl(fd, F_SETFL, e & ~O_NDELAY) == -1) + return -1; + else + e = 1; +#endif /* F_SETFL && O_NDELAY */ + +#ifdef FIONBIO + { + int zero = 0; + + if (ioctl(fd, FIONBIO, &zero) == -1) + return -1; + else + e = 1; + } +#endif /* FIONBIO */ + +#endif /* TRY_AGAIN */ + return e ? 0 : -1; + + case EINTR: + return 0; + + default: + return -1; + } +} + + +/* el_push(): + * Push a macro + */ +void +el_wpush(EditLine *el, const wchar_t *str) +{ + struct macros *ma = &el->el_read->macros; + + if (str != NULL && ma->level + 1 < EL_MAXMACRO) { + ma->level++; + if ((ma->macro[ma->level] = wcsdup(str)) != NULL) + return; + ma->level--; + } + terminal_beep(el); + terminal__flush(el); +} + + +/* read_getcmd(): + * Get next command from the input stream, + * return 0 on success or -1 on EOF or error. + * Character values > 255 are not looked up in the map, but inserted. + */ +static int +read_getcmd(EditLine *el, el_action_t *cmdnum, wchar_t *ch) +{ + static const wchar_t meta = (wchar_t)0x80; + el_action_t cmd; + + do { + if (el_wgetc(el, ch) != 1) + return -1; + +#ifdef KANJI + if ((*ch & meta)) { + el->el_state.metanext = 0; + cmd = CcViMap[' ']; + break; + } else +#endif /* KANJI */ + + if (el->el_state.metanext) { + el->el_state.metanext = 0; + *ch |= meta; + } + if (*ch >= N_KEYS) + cmd = ED_INSERT; + else + cmd = el->el_map.current[(unsigned char) *ch]; + if (cmd == ED_SEQUENCE_LEAD_IN) { + keymacro_value_t val; + switch (keymacro_get(el, ch, &val)) { + case XK_CMD: + cmd = val.cmd; + break; + case XK_STR: + el_wpush(el, val.str); + break; + case XK_NOD: + return -1; + default: + EL_ABORT((el->el_errfile, "Bad XK_ type \n")); + break; + } + } + } while (cmd == ED_SEQUENCE_LEAD_IN); + *cmdnum = cmd; + return 0; +} + +/* read_char(): + * Read a character from the tty. + */ +static int +read_char(EditLine *el, wchar_t *cp) +{ + ssize_t num_read; + int tried = 0; + char cbuf[MB_LEN_MAX]; + size_t cbp = 0; + int save_errno = errno; + + again: + el->el_signal->sig_no = 0; + while ((num_read = read(el->el_infd, cbuf + cbp, (size_t)1)) == -1) { + int e = errno; + switch (el->el_signal->sig_no) { + case SIGCONT: + el_wset(el, EL_REFRESH); + /*FALLTHROUGH*/ + case SIGWINCH: + sig_set(el); + goto again; + /* Abort input of current line. */ + case SIGINT: + return (int) num_read; + default: + break; + } + if (!tried && read__fixio(el->el_infd, e) == 0) { + errno = save_errno; + tried = 1; + } else { + errno = e; + *cp = L'\0'; + return -1; + } + } + + /* Test for EOF */ + if (num_read == 0) { + *cp = L'\0'; + return 0; + } + + for (;;) { + mbstate_t mbs; + + ++cbp; + /* This only works because UTF8 is stateless. */ + memset(&mbs, 0, sizeof(mbs)); + switch (mbrtowc(cp, cbuf, cbp, &mbs)) { + case (size_t)-1: + if (cbp > 1) { + /* + * Invalid sequence, discard all bytes + * except the last one. + */ + cbuf[0] = cbuf[cbp - 1]; + cbp = 0; + break; + } else { + /* Invalid byte, discard it. */ + cbp = 0; + goto again; + } + case (size_t)-2: + if (cbp >= MB_LEN_MAX) { + errno = EILSEQ; + *cp = L'\0'; + return -1; + } + /* Incomplete sequence, read another byte. */ + goto again; + default: + /* Valid character, process it. */ + return 1; + } + } +} + +/* read_pop(): + * Pop a macro from the stack + */ +static void +read_pop(struct macros *ma) +{ + int i; + + el_free(ma->macro[0]); + for (i = 0; i < ma->level; i++) + ma->macro[i] = ma->macro[i + 1]; + ma->level--; + ma->offset = 0; +} + +static void +read_clearmacros(struct macros *ma) +{ + while (ma->level >= 0) + el_free(ma->macro[ma->level--]); + ma->offset = 0; +} + +/* el_wgetc(): + * Read a wide character + */ +int +el_wgetc(EditLine *el, wchar_t *cp) +{ + struct macros *ma = &el->el_read->macros; + int num_read; + + terminal__flush(el); + for (;;) { + if (ma->level < 0) + break; + + if (ma->macro[0][ma->offset] == '\0') { + read_pop(ma); + continue; + } + + *cp = ma->macro[0][ma->offset++]; + + if (ma->macro[0][ma->offset] == '\0') { + /* Needed for QuoteMode On */ + read_pop(ma); + } + + return 1; + } + + if (tty_rawmode(el) < 0)/* make sure the tty is set up correctly */ + return 0; + + num_read = (*el->el_read->read_char)(el, cp); + + /* + * Remember the original reason of a read failure + * such that el_wgets() can restore it after doing + * various cleanup operation that might change errno. + */ + if (num_read < 0) + el->el_read->read_errno = errno; + + return num_read; +} + +libedit_private void +read_prepare(EditLine *el) +{ + if (el->el_flags & HANDLE_SIGNALS) + sig_set(el); + if (el->el_flags & NO_TTY) + return; + if ((el->el_flags & (UNBUFFERED|EDIT_DISABLED)) == UNBUFFERED) + tty_rawmode(el); + + /* This is relatively cheap, and things go terribly wrong if + we have the wrong size. */ + el_resize(el); + re_clear_display(el); /* reset the display stuff */ + ch_reset(el); + re_refresh(el); /* print the prompt */ + + if (el->el_flags & UNBUFFERED) + terminal__flush(el); +} + +libedit_private void +read_finish(EditLine *el) +{ + if ((el->el_flags & UNBUFFERED) == 0) + (void) tty_cookedmode(el); + if (el->el_flags & HANDLE_SIGNALS) + sig_clr(el); +} + +static const wchar_t * +noedit_wgets(EditLine *el, int *nread) +{ + el_line_t *lp = &el->el_line; + int num; + + while ((num = (*el->el_read->read_char)(el, lp->lastchar)) == 1) { + if (lp->lastchar + 1 >= lp->limit && + !ch_enlargebufs(el, (size_t)2)) + break; + lp->lastchar++; + if (el->el_flags & UNBUFFERED || + lp->lastchar[-1] == '\r' || + lp->lastchar[-1] == '\n') + break; + } + if (num == -1 && errno == EINTR) + lp->lastchar = lp->buffer; + lp->cursor = lp->lastchar; + *lp->lastchar = '\0'; + *nread = (int)(lp->lastchar - lp->buffer); + return *nread ? lp->buffer : NULL; +} + +const wchar_t * +el_wgets(EditLine *el, int *nread) +{ + int retval; + el_action_t cmdnum = 0; + int num; /* how many chars we have read at NL */ + wchar_t ch; + int nrb; + + if (nread == NULL) + nread = &nrb; + *nread = 0; + el->el_read->read_errno = 0; + + if (el->el_flags & NO_TTY) { + el->el_line.lastchar = el->el_line.buffer; + return noedit_wgets(el, nread); + } + +#ifdef FIONREAD + if (el->el_tty.t_mode == EX_IO && el->el_read->macros.level < 0) { + int chrs = 0; + + (void) ioctl(el->el_infd, FIONREAD, &chrs); + if (chrs == 0) { + if (tty_rawmode(el) < 0) { + errno = 0; + *nread = 0; + return NULL; + } + } + } +#endif /* FIONREAD */ + + if ((el->el_flags & UNBUFFERED) == 0) + read_prepare(el); + + if (el->el_flags & EDIT_DISABLED) { + if ((el->el_flags & UNBUFFERED) == 0) + el->el_line.lastchar = el->el_line.buffer; + terminal__flush(el); + return noedit_wgets(el, nread); + } + + for (num = -1; num == -1;) { /* while still editing this line */ + /* if EOF or error */ + if (read_getcmd(el, &cmdnum, &ch) == -1) + break; + if ((size_t)cmdnum >= el->el_map.nfunc) /* BUG CHECK command */ + continue; /* try again */ + /* now do the real command */ + /* vi redo needs these way down the levels... */ + el->el_state.thiscmd = cmdnum; + el->el_state.thisch = ch; + if (el->el_map.type == MAP_VI && + el->el_map.current == el->el_map.key && + el->el_chared.c_redo.pos < el->el_chared.c_redo.lim) { + if (cmdnum == VI_DELETE_PREV_CHAR && + el->el_chared.c_redo.pos != el->el_chared.c_redo.buf + && iswprint(el->el_chared.c_redo.pos[-1])) + el->el_chared.c_redo.pos--; + else + *el->el_chared.c_redo.pos++ = ch; + } + retval = (*el->el_map.func[cmdnum]) (el, ch); + + /* save the last command here */ + el->el_state.lastcmd = cmdnum; + + /* use any return value */ + switch (retval) { + case CC_CURSOR: + re_refresh_cursor(el); + break; + + case CC_REDISPLAY: + re_clear_lines(el); + re_clear_display(el); + /* FALLTHROUGH */ + + case CC_REFRESH: + re_refresh(el); + break; + + case CC_REFRESH_BEEP: + re_refresh(el); + terminal_beep(el); + break; + + case CC_NORM: /* normal char */ + break; + + case CC_ARGHACK: /* Suggested by Rich Salz */ + /* */ + continue; /* keep going... */ + + case CC_EOF: /* end of file typed */ + if ((el->el_flags & UNBUFFERED) == 0) + num = 0; + else if (num == -1) { + *el->el_line.lastchar++ = CONTROL('d'); + el->el_line.cursor = el->el_line.lastchar; + num = 1; + } + break; + + case CC_NEWLINE: /* normal end of line */ + num = (int)(el->el_line.lastchar - el->el_line.buffer); + break; + + case CC_FATAL: /* fatal error, reset to known state */ + /* put (real) cursor in a known place */ + re_clear_display(el); /* reset the display stuff */ + ch_reset(el); /* reset the input pointers */ + read_clearmacros(&el->el_read->macros); + re_refresh(el); /* print the prompt again */ + break; + + case CC_ERROR: + default: /* functions we don't know about */ + terminal_beep(el); + terminal__flush(el); + break; + } + el->el_state.argument = 1; + el->el_state.doingarg = 0; + el->el_chared.c_vcmd.action = NOP; + if (el->el_flags & UNBUFFERED) + break; + } + + terminal__flush(el); /* flush any buffered output */ + /* make sure the tty is set up correctly */ + if ((el->el_flags & UNBUFFERED) == 0) { + read_finish(el); + *nread = num != -1 ? num : 0; + } else + *nread = (int)(el->el_line.lastchar - el->el_line.buffer); + + if (*nread == 0) { + if (num == -1) { + *nread = -1; + if (el->el_read->read_errno) + errno = el->el_read->read_errno; + } + return NULL; + } else + return el->el_line.buffer; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/read.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/read.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/read.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/read.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,45 @@ +/* $NetBSD: read.h,v 1.12 2016/05/22 19:44:26 christos Exp $ */ + +/*- + * Copyright (c) 2001 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Anthony Mallet. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * el.read.h: Character reading functions + */ +#ifndef _h_el_read +#define _h_el_read + +libedit_private int read_init(EditLine *); +libedit_private void read_end(struct el_read_t *); +libedit_private void read_prepare(EditLine *); +libedit_private void read_finish(EditLine *); +libedit_private int el_read_setfn(struct el_read_t *, el_rfunc_t); +libedit_private el_rfunc_t el_read_getfn(struct el_read_t *); + +#endif /* _h_el_read */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/readline.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/readline.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/readline.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/readline.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,2437 @@ +/* $NetBSD: readline.c,v 1.159 2019/10/09 14:31:07 christos Exp $ */ + +/*- + * Copyright (c) 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Jaromir Dolecek. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +__RCSID("$NetBSD: readline.c,v 1.159 2019/10/09 14:31:07 christos Exp $"); +#endif /* not lint && not SCCSID */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "editline/readline.h" +#include "el.h" +#include "fcns.h" +#include "filecomplete.h" + +#if !defined(SIZE_T_MAX) +# define SIZE_T_MAX (size_t)(-1) +#endif + +void rl_prep_terminal(int); +void rl_deprep_terminal(void); + +/* for rl_complete() */ +#define TAB '\r' + +/* see comment at the #ifdef for sense of this */ +/* #define GDB_411_HACK */ + +/* readline compatibility stuff - look at readline sources/documentation */ +/* to see what these variables mean */ +const char *rl_library_version = "EditLine wrapper"; +int rl_readline_version = RL_READLINE_VERSION; +static char empty[] = { '\0' }; +static char expand_chars[] = { ' ', '\t', '\n', '=', '(', '\0' }; +static char break_chars[] = { ' ', '\t', '\n', '"', '\\', '\'', '`', '@', '$', + '>', '<', '=', ';', '|', '&', '{', '(', '\0' }; +const char *rl_readline_name = empty; +FILE *rl_instream = NULL; +FILE *rl_outstream = NULL; +int rl_point = 0; +int rl_end = 0; +char *rl_line_buffer = NULL; +rl_vcpfunc_t *rl_linefunc = NULL; +int rl_done = 0; +rl_hook_func_t *rl_event_hook = NULL; +KEYMAP_ENTRY_ARRAY emacs_standard_keymap, + emacs_meta_keymap, + emacs_ctlx_keymap; +/* + * The following is not implemented; we always catch signals in the + * libedit fashion: set handlers on entry to el_gets() and clear them + * on the way out. This simplistic approach works for most cases; if + * it does not work for your application, please let us know. + */ +int rl_catch_signals = 1; +int rl_catch_sigwinch = 1; + +int history_base = 1; /* probably never subject to change */ +int history_length = 0; +int history_offset = 0; +int max_input_history = 0; +char history_expansion_char = '!'; +char history_subst_char = '^'; +char *history_no_expand_chars = expand_chars; +Function *history_inhibit_expansion_function = NULL; +char *history_arg_extract(int start, int end, const char *str); + +int rl_inhibit_completion = 0; +int rl_attempted_completion_over = 0; +const char *rl_basic_word_break_characters = break_chars; +char *rl_completer_word_break_characters = NULL; +const char *rl_completer_quote_characters = NULL; +rl_compentry_func_t *rl_completion_entry_function = NULL; +char *(*rl_completion_word_break_hook)(void) = NULL; +rl_completion_func_t *rl_attempted_completion_function = NULL; +Function *rl_pre_input_hook = NULL; +Function *rl_startup1_hook = NULL; +int (*rl_getc_function)(FILE *) = NULL; +char *rl_terminal_name = NULL; +int rl_already_prompted = 0; +int rl_filename_completion_desired = 0; +int rl_ignore_completion_duplicates = 0; +int readline_echoing_p = 1; +int _rl_print_completions_horizontally = 0; +VFunction *rl_redisplay_function = NULL; +Function *rl_startup_hook = NULL; +int rl_did_startup_hook = 0; +VFunction *rl_completion_display_matches_hook = NULL; +VFunction *rl_prep_term_function = (VFunction *)rl_prep_terminal; +VFunction *rl_deprep_term_function = (VFunction *)rl_deprep_terminal; +KEYMAP_ENTRY_ARRAY emacs_meta_keymap; + +/* + * The current prompt string. + */ +char *rl_prompt = NULL; +/* + * This is set to character indicating type of completion being done by + * rl_complete_internal(); this is available for application completion + * functions. + */ +int rl_completion_type = 0; + +/* + * If more than this number of items results from query for possible + * completions, we ask user if they are sure to really display the list. + */ +int rl_completion_query_items = 100; + +/* + * List of characters which are word break characters, but should be left + * in the parsed text when it is passed to the completion function. + * Shell uses this to help determine what kind of completing to do. + */ +const char *rl_special_prefixes = NULL; + +/* + * This is the character appended to the completed words if at the end of + * the line. Default is ' ' (a space). + */ +int rl_completion_append_character = ' '; + +/* stuff below is used internally by libedit for readline emulation */ + +static History *h = NULL; +static EditLine *e = NULL; +static rl_command_func_t *map[256]; +static jmp_buf topbuf; + +/* internal functions */ +static unsigned char _el_rl_complete(EditLine *, int); +static unsigned char _el_rl_tstp(EditLine *, int); +static char *_get_prompt(EditLine *); +static int _getc_function(EditLine *, wchar_t *); +static int _history_expand_command(const char *, size_t, size_t, + char **); +static char *_rl_compat_sub(const char *, const char *, + const char *, int); +static int _rl_event_read_char(EditLine *, wchar_t *); +static void _rl_update_pos(void); + +static HIST_ENTRY rl_he; + +/* ARGSUSED */ +static char * +_get_prompt(EditLine *el __attribute__((__unused__))) +{ + rl_already_prompted = 1; + return rl_prompt; +} + + +/* + * read one key from user defined input function + */ +static int +/*ARGSUSED*/ +_getc_function(EditLine *el __attribute__((__unused__)), wchar_t *c) +{ + int i; + + i = (*rl_getc_function)(rl_instream); + if (i == -1) + return 0; + *c = (wchar_t)i; + return 1; +} + +static void +_resize_fun(EditLine *el, void *a) +{ + const LineInfo *li; + char **ap = a; + + li = el_line(el); + /* a cheesy way to get rid of const cast. */ + *ap = memchr(li->buffer, *li->buffer, (size_t)1); +} + +static const char * +_default_history_file(void) +{ + struct passwd *p; + static char *path; + size_t len; + + if (path) + return path; + + if ((p = getpwuid(getuid())) == NULL) + return NULL; + + len = strlen(p->pw_dir) + sizeof("/.history"); + if ((path = malloc(len)) == NULL) + return NULL; + + (void)snprintf(path, len, "%s/.history", p->pw_dir); + return path; +} + +/* + * READLINE compatibility stuff + */ + +/* + * Set the prompt + */ +int +rl_set_prompt(const char *prompt) +{ + char *p; + + if (!prompt) + prompt = ""; + if (rl_prompt != NULL && strcmp(rl_prompt, prompt) == 0) + return 0; + if (rl_prompt) + el_free(rl_prompt); + rl_prompt = strdup(prompt); + if (rl_prompt == NULL) + return -1; + + while ((p = strchr(rl_prompt, RL_PROMPT_END_IGNORE)) != NULL) { + /* Remove adjacent end/start markers to avoid double-escapes. */ + if (p[1] == RL_PROMPT_START_IGNORE) { + memmove(p, p + 2, 1 + strlen(p + 2)); + } else { + *p = RL_PROMPT_START_IGNORE; + } + } + + return 0; +} + +/* + * initialize rl compat stuff + */ +int +rl_initialize(void) +{ + HistEvent ev; + int editmode = 1; + struct termios t; + + if (e != NULL) + el_end(e); + if (h != NULL) + history_end(h); + + if (!rl_instream) + rl_instream = stdin; + if (!rl_outstream) + rl_outstream = stdout; + + /* + * See if we don't really want to run the editor + */ + if (tcgetattr(fileno(rl_instream), &t) != -1 && (t.c_lflag & ECHO) == 0) + editmode = 0; + + e = el_init_internal(rl_readline_name, rl_instream, rl_outstream, + stderr, fileno(rl_instream), fileno(rl_outstream), fileno(stderr), + NO_RESET); + + if (!editmode) + el_set(e, EL_EDITMODE, 0); + + h = history_init(); + if (!e || !h) + return -1; + + history(h, &ev, H_SETSIZE, INT_MAX); /* unlimited */ + history_length = 0; + max_input_history = INT_MAX; + el_set(e, EL_HIST, history, h); + + /* Setup resize function */ + el_set(e, EL_RESIZE, _resize_fun, &rl_line_buffer); + + /* setup getc function if valid */ + if (rl_getc_function) + el_set(e, EL_GETCFN, _getc_function); + + /* for proper prompt printing in readline() */ + if (rl_set_prompt("") == -1) { + history_end(h); + el_end(e); + return -1; + } + el_set(e, EL_PROMPT_ESC, _get_prompt, RL_PROMPT_START_IGNORE); + el_set(e, EL_SIGNAL, rl_catch_signals); + + /* set default mode to "emacs"-style and read setting afterwards */ + /* so this can be overridden */ + el_set(e, EL_EDITOR, "emacs"); + if (rl_terminal_name != NULL) + el_set(e, EL_TERMINAL, rl_terminal_name); + else + el_get(e, EL_TERMINAL, &rl_terminal_name); + + /* + * Word completion - this has to go AFTER rebinding keys + * to emacs-style. + */ + el_set(e, EL_ADDFN, "rl_complete", + "ReadLine compatible completion function", + _el_rl_complete); + el_set(e, EL_BIND, "^I", "rl_complete", NULL); + + /* + * Send TSTP when ^Z is pressed. + */ + el_set(e, EL_ADDFN, "rl_tstp", + "ReadLine compatible suspend function", + _el_rl_tstp); + el_set(e, EL_BIND, "^Z", "rl_tstp", NULL); + + /* + * Set some readline compatible key-bindings. + */ + el_set(e, EL_BIND, "^R", "em-inc-search-prev", NULL); + + /* + * Allow the use of Home/End keys. + */ + el_set(e, EL_BIND, "\\e[1~", "ed-move-to-beg", NULL); + el_set(e, EL_BIND, "\\e[4~", "ed-move-to-end", NULL); + el_set(e, EL_BIND, "\\e[7~", "ed-move-to-beg", NULL); + el_set(e, EL_BIND, "\\e[8~", "ed-move-to-end", NULL); + el_set(e, EL_BIND, "\\e[H", "ed-move-to-beg", NULL); + el_set(e, EL_BIND, "\\e[F", "ed-move-to-end", NULL); + + /* + * Allow the use of the Delete/Insert keys. + */ + el_set(e, EL_BIND, "\\e[3~", "ed-delete-next-char", NULL); + el_set(e, EL_BIND, "\\e[2~", "ed-quoted-insert", NULL); + + /* + * Ctrl-left-arrow and Ctrl-right-arrow for word moving. + */ + el_set(e, EL_BIND, "\\e[1;5C", "em-next-word", NULL); + el_set(e, EL_BIND, "\\e[1;5D", "ed-prev-word", NULL); + el_set(e, EL_BIND, "\\e[5C", "em-next-word", NULL); + el_set(e, EL_BIND, "\\e[5D", "ed-prev-word", NULL); + el_set(e, EL_BIND, "\\e\\e[C", "em-next-word", NULL); + el_set(e, EL_BIND, "\\e\\e[D", "ed-prev-word", NULL); + + /* read settings from configuration file */ + el_source(e, NULL); + + /* + * Unfortunately, some applications really do use rl_point + * and rl_line_buffer directly. + */ + _resize_fun(e, &rl_line_buffer); + _rl_update_pos(); + + tty_end(e, TCSADRAIN); + + return 0; +} + + +/* + * read one line from input stream and return it, chomping + * trailing newline (if there is any) + */ +char * +readline(const char *p) +{ + HistEvent ev; + const char * volatile prompt = p; + int count; + const char *ret; + char *buf; + static int used_event_hook; + + if (e == NULL || h == NULL) + rl_initialize(); + if (rl_did_startup_hook == 0 && rl_startup_hook) { + rl_did_startup_hook = 1; + (*rl_startup_hook)(NULL, 0); + } + tty_init(e); + + + rl_done = 0; + + (void)setjmp(topbuf); + buf = NULL; + + /* update prompt accordingly to what has been passed */ + if (rl_set_prompt(prompt) == -1) + goto out; + + if (rl_pre_input_hook) + (*rl_pre_input_hook)(NULL, 0); + + if (rl_event_hook && !(e->el_flags & NO_TTY)) { + el_set(e, EL_GETCFN, _rl_event_read_char); + used_event_hook = 1; + } + + if (!rl_event_hook && used_event_hook) { + el_set(e, EL_GETCFN, EL_BUILTIN_GETCFN); + used_event_hook = 0; + } + + rl_already_prompted = 0; + + /* get one line from input stream */ + ret = el_gets(e, &count); + + if (ret && count > 0) { + int lastidx; + + buf = strdup(ret); + if (buf == NULL) + goto out; + lastidx = count - 1; + if (buf[lastidx] == '\n') + buf[lastidx] = '\0'; + } else + buf = NULL; + + history(h, &ev, H_GETSIZE); + history_length = ev.num; + +out: + tty_end(e, TCSADRAIN); + return buf; +} + +/* + * history functions + */ + +/* + * is normally called before application starts to use + * history expansion functions + */ +void +using_history(void) +{ + if (h == NULL || e == NULL) + rl_initialize(); + history_offset = history_length; +} + + +/* + * substitute ``what'' with ``with'', returning resulting string; if + * globally == 1, substitutes all occurrences of what, otherwise only the + * first one + */ +static char * +_rl_compat_sub(const char *str, const char *what, const char *with, + int globally) +{ + const char *s; + char *r, *result; + size_t len, with_len, what_len; + + len = strlen(str); + with_len = strlen(with); + what_len = strlen(what); + + /* calculate length we need for result */ + s = str; + while (*s) { + if (*s == *what && !strncmp(s, what, what_len)) { + len += with_len - what_len; + if (!globally) + break; + s += what_len; + } else + s++; + } + r = result = el_calloc(len + 1, sizeof(*r)); + if (result == NULL) + return NULL; + s = str; + while (*s) { + if (*s == *what && !strncmp(s, what, what_len)) { + memcpy(r, with, with_len); + r += with_len; + s += what_len; + if (!globally) { + (void)strcpy(r, s); + return result; + } + } else + *r++ = *s++; + } + *r = '\0'; + return result; +} + +static char *last_search_pat; /* last !?pat[?] search pattern */ +static char *last_search_match; /* last !?pat[?] that matched */ + +const char * +get_history_event(const char *cmd, int *cindex, int qchar) +{ + int idx, sign, sub, num, begin, ret; + size_t len; + char *pat; + const char *rptr; + HistEvent ev; + + idx = *cindex; + if (cmd[idx++] != history_expansion_char) + return NULL; + + /* find out which event to take */ + if (cmd[idx] == history_expansion_char || cmd[idx] == '\0') { + if (history(h, &ev, H_FIRST) != 0) + return NULL; + *cindex = cmd[idx]? (idx + 1):idx; + return ev.str; + } + sign = 0; + if (cmd[idx] == '-') { + sign = 1; + idx++; + } + + if ('0' <= cmd[idx] && cmd[idx] <= '9') { + HIST_ENTRY *he; + + num = 0; + while (cmd[idx] && '0' <= cmd[idx] && cmd[idx] <= '9') { + num = num * 10 + cmd[idx] - '0'; + idx++; + } + if (sign) + num = history_length - num + history_base; + + if (!(he = history_get(num))) + return NULL; + + *cindex = idx; + return he->line; + } + sub = 0; + if (cmd[idx] == '?') { + sub = 1; + idx++; + } + begin = idx; + while (cmd[idx]) { + if (cmd[idx] == '\n') + break; + if (sub && cmd[idx] == '?') + break; + if (!sub && (cmd[idx] == ':' || cmd[idx] == ' ' + || cmd[idx] == '\t' || cmd[idx] == qchar)) + break; + idx++; + } + len = (size_t)idx - (size_t)begin; + if (sub && cmd[idx] == '?') + idx++; + if (sub && len == 0 && last_search_pat && *last_search_pat) + pat = last_search_pat; + else if (len == 0) + return NULL; + else { + if ((pat = el_calloc(len + 1, sizeof(*pat))) == NULL) + return NULL; + (void)strlcpy(pat, cmd + begin, len + 1); + } + + if (history(h, &ev, H_CURR) != 0) { + if (pat != last_search_pat) + el_free(pat); + return NULL; + } + num = ev.num; + + if (sub) { + if (pat != last_search_pat) { + if (last_search_pat) + el_free(last_search_pat); + last_search_pat = pat; + } + ret = history_search(pat, -1); + } else + ret = history_search_prefix(pat, -1); + + if (ret == -1) { + /* restore to end of list on failed search */ + history(h, &ev, H_FIRST); + (void)fprintf(rl_outstream, "%s: Event not found\n", pat); + if (pat != last_search_pat) + el_free(pat); + return NULL; + } + + if (sub && len) { + if (last_search_match && last_search_match != pat) + el_free(last_search_match); + last_search_match = pat; + } + + if (pat != last_search_pat) + el_free(pat); + + if (history(h, &ev, H_CURR) != 0) + return NULL; + *cindex = idx; + rptr = ev.str; + + /* roll back to original position */ + (void)history(h, &ev, H_SET, num); + + return rptr; +} + +/* + * the real function doing history expansion - takes as argument command + * to do and data upon which the command should be executed + * does expansion the way I've understood readline documentation + * + * returns 0 if data was not modified, 1 if it was and 2 if the string + * should be only printed and not executed; in case of error, + * returns -1 and *result points to NULL + * it's the caller's responsibility to free() the string returned in *result + */ +static int +_history_expand_command(const char *command, size_t offs, size_t cmdlen, + char **result) +{ + char *tmp, *search = NULL, *aptr; + const char *ptr, *cmd; + static char *from = NULL, *to = NULL; + int start, end, idx, has_mods = 0; + int p_on = 0, g_on = 0; + + *result = NULL; + aptr = NULL; + ptr = NULL; + + /* First get event specifier */ + idx = 0; + + if (strchr(":^*$", command[offs + 1])) { + char str[4]; + /* + * "!:" is shorthand for "!!:". + * "!^", "!*" and "!$" are shorthand for + * "!!:^", "!!:*" and "!!:$" respectively. + */ + str[0] = str[1] = '!'; + str[2] = '0'; + ptr = get_history_event(str, &idx, 0); + idx = (command[offs + 1] == ':')? 1:0; + has_mods = 1; + } else { + if (command[offs + 1] == '#') { + /* use command so far */ + if ((aptr = el_calloc(offs + 1, sizeof(*aptr))) + == NULL) + return -1; + (void)strlcpy(aptr, command, offs + 1); + idx = 1; + } else { + int qchar; + + qchar = (offs > 0 && command[offs - 1] == '"')? '"':0; + ptr = get_history_event(command + offs, &idx, qchar); + } + has_mods = command[offs + (size_t)idx] == ':'; + } + + if (ptr == NULL && aptr == NULL) + return -1; + + if (!has_mods) { + *result = strdup(aptr ? aptr : ptr); + if (aptr) + el_free(aptr); + if (*result == NULL) + return -1; + return 1; + } + + cmd = command + offs + idx + 1; + + /* Now parse any word designators */ + + if (*cmd == '%') /* last word matched by ?pat? */ + tmp = strdup(last_search_match? last_search_match:""); + else if (strchr("^*$-0123456789", *cmd)) { + start = end = -1; + if (*cmd == '^') + start = end = 1, cmd++; + else if (*cmd == '$') + start = -1, cmd++; + else if (*cmd == '*') + start = 1, cmd++; + else if (*cmd == '-' || isdigit((unsigned char) *cmd)) { + start = 0; + while (*cmd && '0' <= *cmd && *cmd <= '9') + start = start * 10 + *cmd++ - '0'; + + if (*cmd == '-') { + if (isdigit((unsigned char) cmd[1])) { + cmd++; + end = 0; + while (*cmd && '0' <= *cmd && *cmd <= '9') + end = end * 10 + *cmd++ - '0'; + } else if (cmd[1] == '$') { + cmd += 2; + end = -1; + } else { + cmd++; + end = -2; + } + } else if (*cmd == '*') + end = -1, cmd++; + else + end = start; + } + tmp = history_arg_extract(start, end, aptr? aptr:ptr); + if (tmp == NULL) { + (void)fprintf(rl_outstream, "%s: Bad word specifier", + command + offs + idx); + if (aptr) + el_free(aptr); + return -1; + } + } else + tmp = strdup(aptr? aptr:ptr); + + if (aptr) + el_free(aptr); + + if (*cmd == '\0' || ((size_t)(cmd - (command + offs)) >= cmdlen)) { + *result = tmp; + return 1; + } + + for (; *cmd; cmd++) { + if (*cmd == ':') + continue; + else if (*cmd == 'h') { /* remove trailing path */ + if ((aptr = strrchr(tmp, '/')) != NULL) + *aptr = '\0'; + } else if (*cmd == 't') { /* remove leading path */ + if ((aptr = strrchr(tmp, '/')) != NULL) { + aptr = strdup(aptr + 1); + el_free(tmp); + tmp = aptr; + } + } else if (*cmd == 'r') { /* remove trailing suffix */ + if ((aptr = strrchr(tmp, '.')) != NULL) + *aptr = '\0'; + } else if (*cmd == 'e') { /* remove all but suffix */ + if ((aptr = strrchr(tmp, '.')) != NULL) { + aptr = strdup(aptr); + el_free(tmp); + tmp = aptr; + } + } else if (*cmd == 'p') /* print only */ + p_on = 1; + else if (*cmd == 'g') + g_on = 2; + else if (*cmd == 's' || *cmd == '&') { + char *what, *with, delim; + size_t len, from_len; + size_t size; + + if (*cmd == '&' && (from == NULL || to == NULL)) + continue; + else if (*cmd == 's') { + delim = *(++cmd), cmd++; + size = 16; + what = el_realloc(from, size * sizeof(*what)); + if (what == NULL) { + el_free(from); + el_free(tmp); + return 0; + } + len = 0; + for (; *cmd && *cmd != delim; cmd++) { + if (*cmd == '\\' && cmd[1] == delim) + cmd++; + if (len >= size) { + char *nwhat; + nwhat = el_realloc(what, + (size <<= 1) * + sizeof(*nwhat)); + if (nwhat == NULL) { + el_free(what); + el_free(tmp); + return 0; + } + what = nwhat; + } + what[len++] = *cmd; + } + what[len] = '\0'; + from = what; + if (*what == '\0') { + el_free(what); + if (search) { + from = strdup(search); + if (from == NULL) { + el_free(tmp); + return 0; + } + } else { + from = NULL; + el_free(tmp); + return -1; + } + } + cmd++; /* shift after delim */ + if (!*cmd) + continue; + + size = 16; + with = el_realloc(to, size * sizeof(*with)); + if (with == NULL) { + el_free(to); + el_free(tmp); + return -1; + } + len = 0; + from_len = strlen(from); + for (; *cmd && *cmd != delim; cmd++) { + if (len + from_len + 1 >= size) { + char *nwith; + size += from_len + 1; + nwith = el_realloc(with, + size * sizeof(*nwith)); + if (nwith == NULL) { + el_free(with); + el_free(tmp); + return -1; + } + with = nwith; + } + if (*cmd == '&') { + /* safe */ + (void)strcpy(&with[len], from); + len += from_len; + continue; + } + if (*cmd == '\\' + && (*(cmd + 1) == delim + || *(cmd + 1) == '&')) + cmd++; + with[len++] = *cmd; + } + with[len] = '\0'; + to = with; + } + + aptr = _rl_compat_sub(tmp, from, to, g_on); + if (aptr) { + el_free(tmp); + tmp = aptr; + } + g_on = 0; + } + } + *result = tmp; + return p_on? 2:1; +} + + +/* + * csh-style history expansion + */ +int +history_expand(char *str, char **output) +{ + int ret = 0; + size_t idx, i, size; + char *tmp, *result; + + if (h == NULL || e == NULL) + rl_initialize(); + + if (history_expansion_char == 0) { + *output = strdup(str); + return 0; + } + + *output = NULL; + if (str[0] == history_subst_char) { + /* ^foo^foo2^ is equivalent to !!:s^foo^foo2^ */ + *output = el_calloc(strlen(str) + 4 + 1, sizeof(**output)); + if (*output == NULL) + return 0; + (*output)[0] = (*output)[1] = history_expansion_char; + (*output)[2] = ':'; + (*output)[3] = 's'; + (void)strcpy((*output) + 4, str); + str = *output; + } else { + *output = strdup(str); + if (*output == NULL) + return 0; + } + +#define ADD_STRING(what, len, fr) \ + { \ + if (idx + len + 1 > size) { \ + char *nresult = el_realloc(result, \ + (size += len + 1) * sizeof(*nresult)); \ + if (nresult == NULL) { \ + el_free(*output); \ + if (/*CONSTCOND*/fr) \ + el_free(tmp); \ + return 0; \ + } \ + result = nresult; \ + } \ + (void)strlcpy(&result[idx], what, len + 1); \ + idx += len; \ + } + + result = NULL; + size = idx = 0; + tmp = NULL; + for (i = 0; str[i];) { + int qchar, loop_again; + size_t len, start, j; + + qchar = 0; + loop_again = 1; + start = j = i; +loop: + for (; str[j]; j++) { + if (str[j] == '\\' && + str[j + 1] == history_expansion_char) { + len = strlen(&str[j + 1]) + 1; + memmove(&str[j], &str[j + 1], len); + continue; + } + if (!loop_again) { + if (isspace((unsigned char) str[j]) + || str[j] == qchar) + break; + } + if (str[j] == history_expansion_char + && !strchr(history_no_expand_chars, str[j + 1]) + && (!history_inhibit_expansion_function || + (*history_inhibit_expansion_function)(str, + (int)j) == 0)) + break; + } + + if (str[j] && loop_again) { + i = j; + qchar = (j > 0 && str[j - 1] == '"' )? '"':0; + j++; + if (str[j] == history_expansion_char) + j++; + loop_again = 0; + goto loop; + } + len = i - start; + ADD_STRING(&str[start], len, 0); + + if (str[i] == '\0' || str[i] != history_expansion_char) { + len = j - i; + ADD_STRING(&str[i], len, 0); + if (start == 0) + ret = 0; + else + ret = 1; + break; + } + ret = _history_expand_command (str, i, (j - i), &tmp); + if (ret > 0 && tmp) { + len = strlen(tmp); + ADD_STRING(tmp, len, 1); + } + if (tmp) { + el_free(tmp); + tmp = NULL; + } + i = j; + } + + /* ret is 2 for "print only" option */ + if (ret == 2) { + add_history(result); +#ifdef GDB_411_HACK + /* gdb 4.11 has been shipped with readline, where */ + /* history_expand() returned -1 when the line */ + /* should not be executed; in readline 2.1+ */ + /* it should return 2 in such a case */ + ret = -1; +#endif + } + el_free(*output); + *output = result; + + return ret; +} + +/* +* Return a string consisting of arguments of "str" from "start" to "end". +*/ +char * +history_arg_extract(int start, int end, const char *str) +{ + size_t i, len, max; + char **arr, *result = NULL; + + arr = history_tokenize(str); + if (!arr) + return NULL; + if (arr && *arr == NULL) + goto out; + + for (max = 0; arr[max]; max++) + continue; + max--; + + if (start == '$') + start = (int)max; + if (end == '$') + end = (int)max; + if (end < 0) + end = (int)max + end + 1; + if (start < 0) + start = end; + + if (start < 0 || end < 0 || (size_t)start > max || + (size_t)end > max || start > end) + goto out; + + for (i = (size_t)start, len = 0; i <= (size_t)end; i++) + len += strlen(arr[i]) + 1; + len++; + result = el_calloc(len, sizeof(*result)); + if (result == NULL) + goto out; + + for (i = (size_t)start, len = 0; i <= (size_t)end; i++) { + (void)strcpy(result + len, arr[i]); + len += strlen(arr[i]); + if (i < (size_t)end) + result[len++] = ' '; + } + result[len] = '\0'; + +out: + for (i = 0; arr[i]; i++) + el_free(arr[i]); + el_free(arr); + + return result; +} + +/* + * Parse the string into individual tokens, + * similar to how shell would do it. + */ +char ** +history_tokenize(const char *str) +{ + int size = 1, idx = 0, i, start; + size_t len; + char **result = NULL, *temp, delim = '\0'; + + for (i = 0; str[i];) { + while (isspace((unsigned char) str[i])) + i++; + start = i; + for (; str[i];) { + if (str[i] == '\\') { + if (str[i+1] != '\0') + i++; + } else if (str[i] == delim) + delim = '\0'; + else if (!delim && + (isspace((unsigned char) str[i]) || + strchr("()<>;&|$", str[i]))) + break; + else if (!delim && strchr("'`\"", str[i])) + delim = str[i]; + if (str[i]) + i++; + } + + if (idx + 2 >= size) { + char **nresult; + size <<= 1; + nresult = el_realloc(result, (size_t)size * sizeof(*nresult)); + if (nresult == NULL) { + el_free(result); + return NULL; + } + result = nresult; + } + len = (size_t)i - (size_t)start; + temp = el_calloc(len + 1, sizeof(*temp)); + if (temp == NULL) { + for (i = 0; i < idx; i++) + el_free(result[i]); + el_free(result); + return NULL; + } + (void)strlcpy(temp, &str[start], len + 1); + result[idx++] = temp; + result[idx] = NULL; + if (str[i]) + i++; + } + return result; +} + + +/* + * limit size of history record to ``max'' events + */ +void +stifle_history(int max) +{ + HistEvent ev; + HIST_ENTRY *he; + + if (h == NULL || e == NULL) + rl_initialize(); + + if (history(h, &ev, H_SETSIZE, max) == 0) { + max_input_history = max; + if (history_length > max) + history_base = history_length - max; + while (history_length > max) { + he = remove_history(0); + el_free(he->data); + el_free((void *)(unsigned long)he->line); + el_free(he); + } + } +} + + +/* + * "unlimit" size of history - set the limit to maximum allowed int value + */ +int +unstifle_history(void) +{ + HistEvent ev; + int omax; + + history(h, &ev, H_SETSIZE, INT_MAX); + omax = max_input_history; + max_input_history = INT_MAX; + return omax; /* some value _must_ be returned */ +} + + +int +history_is_stifled(void) +{ + + /* cannot return true answer */ + return max_input_history != INT_MAX; +} + +static const char _history_tmp_template[] = "/tmp/.historyXXXXXX"; + +int +history_truncate_file (const char *filename, int nlines) +{ + int ret = 0; + FILE *fp, *tp; + char template[sizeof(_history_tmp_template)]; + char buf[4096]; + int fd; + char *cp; + off_t off; + int count = 0; + ssize_t left = 0; + + if (filename == NULL && (filename = _default_history_file()) == NULL) + return errno; + if ((fp = fopen(filename, "r+")) == NULL) + return errno; + strcpy(template, _history_tmp_template); + if ((fd = mkstemp(template)) == -1) { + ret = errno; + goto out1; + } + + if ((tp = fdopen(fd, "r+")) == NULL) { + close(fd); + ret = errno; + goto out2; + } + + for(;;) { + if (fread(buf, sizeof(buf), (size_t)1, fp) != 1) { + if (ferror(fp)) { + ret = errno; + break; + } + if (fseeko(fp, (off_t)sizeof(buf) * count, SEEK_SET) == + (off_t)-1) { + ret = errno; + break; + } + left = (ssize_t)fread(buf, (size_t)1, sizeof(buf), fp); + if (ferror(fp)) { + ret = errno; + break; + } + if (left == 0) { + count--; + left = sizeof(buf); + } else if (fwrite(buf, (size_t)left, (size_t)1, tp) + != 1) { + ret = errno; + break; + } + fflush(tp); + break; + } + if (fwrite(buf, sizeof(buf), (size_t)1, tp) != 1) { + ret = errno; + break; + } + count++; + } + if (ret) + goto out3; + cp = buf + left - 1; + if(*cp != '\n') + cp++; + for(;;) { + while (--cp >= buf) { + if (*cp == '\n') { + if (--nlines == 0) { + if (++cp >= buf + sizeof(buf)) { + count++; + cp = buf; + } + break; + } + } + } + if (nlines <= 0 || count == 0) + break; + count--; + if (fseeko(tp, (off_t)sizeof(buf) * count, SEEK_SET) < 0) { + ret = errno; + break; + } + if (fread(buf, sizeof(buf), (size_t)1, tp) != 1) { + if (ferror(tp)) { + ret = errno; + break; + } + ret = EAGAIN; + break; + } + cp = buf + sizeof(buf); + } + + if (ret || nlines > 0) + goto out3; + + if (fseeko(fp, (off_t)0, SEEK_SET) == (off_t)-1) { + ret = errno; + goto out3; + } + + if (fseeko(tp, (off_t)sizeof(buf) * count + (cp - buf), SEEK_SET) == + (off_t)-1) { + ret = errno; + goto out3; + } + + for(;;) { + if ((left = (ssize_t)fread(buf, (size_t)1, sizeof(buf), tp)) == 0) { + if (ferror(fp)) + ret = errno; + break; + } + if (fwrite(buf, (size_t)left, (size_t)1, fp) != 1) { + ret = errno; + break; + } + } + fflush(fp); + if((off = ftello(fp)) > 0) + (void)ftruncate(fileno(fp), off); +out3: + fclose(tp); +out2: + unlink(template); +out1: + fclose(fp); + + return ret; +} + + +/* + * read history from a file given + */ +int +read_history(const char *filename) +{ + HistEvent ev; + + if (h == NULL || e == NULL) + rl_initialize(); + if (filename == NULL && (filename = _default_history_file()) == NULL) + return errno; + errno = 0; + if (history(h, &ev, H_LOAD, filename) == -1) + return errno ? errno : EINVAL; + if (history(h, &ev, H_GETSIZE) == 0) + history_length = ev.num; + if (history_length < 0) + return EINVAL; + return 0; +} + + +/* + * write history to a file given + */ +int +write_history(const char *filename) +{ + HistEvent ev; + + if (h == NULL || e == NULL) + rl_initialize(); + if (filename == NULL && (filename = _default_history_file()) == NULL) + return errno; + return history(h, &ev, H_SAVE, filename) == -1 ? + (errno ? errno : EINVAL) : 0; +} + +int +append_history(int n, const char *filename) +{ + HistEvent ev; + FILE *fp; + + if (h == NULL || e == NULL) + rl_initialize(); + if (filename == NULL && (filename = _default_history_file()) == NULL) + return errno; + + if ((fp = fopen(filename, "a")) == NULL) + return errno; + + if (history(h, &ev, H_NSAVE_FP, (size_t)n, fp) == -1) { + int serrno = errno ? errno : EINVAL; + fclose(fp); + return serrno; + } + fclose(fp); + return 0; +} + +/* + * returns history ``num''th event + * + * returned pointer points to static variable + */ +HIST_ENTRY * +history_get(int num) +{ + static HIST_ENTRY she; + HistEvent ev; + int curr_num; + + if (h == NULL || e == NULL) + rl_initialize(); + + if (num < history_base) + return NULL; + + /* save current position */ + if (history(h, &ev, H_CURR) != 0) + return NULL; + curr_num = ev.num; + + /* + * use H_DELDATA to set to nth history (without delete) by passing + * (void **)-1 -- as in history_set_pos + */ + if (history(h, &ev, H_DELDATA, num - history_base, (void **)-1) != 0) + goto out; + + /* get current entry */ + if (history(h, &ev, H_CURR) != 0) + goto out; + if (history(h, &ev, H_NEXT_EVDATA, ev.num, &she.data) != 0) + goto out; + she.line = ev.str; + + /* restore pointer to where it was */ + (void)history(h, &ev, H_SET, curr_num); + + return &she; + +out: + /* restore pointer to where it was */ + (void)history(h, &ev, H_SET, curr_num); + return NULL; +} + + +/* + * add the line to history table + */ +int +add_history(const char *line) +{ + HistEvent ev; + + if (h == NULL || e == NULL) + rl_initialize(); + + if (history(h, &ev, H_ENTER, line) == -1) + return 0; + + (void)history(h, &ev, H_GETSIZE); + if (ev.num == history_length) + history_base++; + else { + history_offset++; + history_length = ev.num; + } + return 0; +} + + +/* + * remove the specified entry from the history list and return it. + */ +HIST_ENTRY * +remove_history(int num) +{ + HIST_ENTRY *he; + HistEvent ev; + + if (h == NULL || e == NULL) + rl_initialize(); + + if ((he = el_malloc(sizeof(*he))) == NULL) + return NULL; + + if (history(h, &ev, H_DELDATA, num, &he->data) != 0) { + el_free(he); + return NULL; + } + + he->line = ev.str; + if (history(h, &ev, H_GETSIZE) == 0) + history_length = ev.num; + + return he; +} + + +/* + * replace the line and data of the num-th entry + */ +HIST_ENTRY * +replace_history_entry(int num, const char *line, histdata_t data) +{ + HIST_ENTRY *he; + HistEvent ev; + int curr_num; + + if (h == NULL || e == NULL) + rl_initialize(); + + /* save current position */ + if (history(h, &ev, H_CURR) != 0) + return NULL; + curr_num = ev.num; + + /* start from the oldest */ + if (history(h, &ev, H_LAST) != 0) + return NULL; /* error */ + + if ((he = el_malloc(sizeof(*he))) == NULL) + return NULL; + + /* look forwards for event matching specified offset */ + if (history(h, &ev, H_NEXT_EVDATA, num, &he->data)) + goto out; + + he->line = strdup(ev.str); + if (he->line == NULL) + goto out; + + if (history(h, &ev, H_REPLACE, line, data)) + goto out; + + /* restore pointer to where it was */ + if (history(h, &ev, H_SET, curr_num)) + goto out; + + return he; +out: + el_free(he); + return NULL; +} + +/* + * clear the history list - delete all entries + */ +void +clear_history(void) +{ + HistEvent ev; + + if (h == NULL || e == NULL) + rl_initialize(); + + (void)history(h, &ev, H_CLEAR); + history_offset = history_length = 0; +} + + +/* + * returns offset of the current history event + */ +int +where_history(void) +{ + return history_offset; +} + +static HIST_ENTRY **_history_listp; +static HIST_ENTRY *_history_list; + +HIST_ENTRY ** +history_list(void) +{ + HistEvent ev; + HIST_ENTRY **nlp, *nl; + int i; + + if (history(h, &ev, H_LAST) != 0) + return NULL; + + if ((nlp = el_realloc(_history_listp, + ((size_t)history_length + 1) * sizeof(*nlp))) == NULL) + return NULL; + _history_listp = nlp; + + if ((nl = el_realloc(_history_list, + (size_t)history_length * sizeof(*nl))) == NULL) + return NULL; + _history_list = nl; + + i = 0; + do { + _history_listp[i] = &_history_list[i]; + _history_list[i].line = ev.str; + _history_list[i].data = NULL; + if (i++ == history_length) + abort(); + } while (history(h, &ev, H_PREV) == 0); + _history_listp[i] = NULL; + return _history_listp; +} + +/* + * returns current history event or NULL if there is no such event + */ +HIST_ENTRY * +current_history(void) +{ + HistEvent ev; + + if (history(h, &ev, H_PREV_EVENT, history_offset + 1) != 0) + return NULL; + + rl_he.line = ev.str; + rl_he.data = NULL; + return &rl_he; +} + + +/* + * returns total number of bytes history events' data are using + */ +int +history_total_bytes(void) +{ + HistEvent ev; + int curr_num; + size_t size; + + if (history(h, &ev, H_CURR) != 0) + return -1; + curr_num = ev.num; + + (void)history(h, &ev, H_FIRST); + size = 0; + do + size += strlen(ev.str) * sizeof(*ev.str); + while (history(h, &ev, H_NEXT) == 0); + + /* get to the same position as before */ + history(h, &ev, H_PREV_EVENT, curr_num); + + return (int)size; +} + + +/* + * sets the position in the history list to ``pos'' + */ +int +history_set_pos(int pos) +{ + if (pos >= history_length || pos < 0) + return 0; + + history_offset = pos; + return 1; +} + + +/* + * returns previous event in history and shifts pointer accordingly + * Note that readline and editline define directions in opposite ways. + */ +HIST_ENTRY * +previous_history(void) +{ + HistEvent ev; + + if (history_offset == 0) + return NULL; + + if (history(h, &ev, H_LAST) != 0) + return NULL; + + history_offset--; + return current_history(); +} + + +/* + * returns next event in history and shifts pointer accordingly + */ +HIST_ENTRY * +next_history(void) +{ + HistEvent ev; + + if (history_offset >= history_length) + return NULL; + + if (history(h, &ev, H_LAST) != 0) + return NULL; + + history_offset++; + return current_history(); +} + + +/* + * searches for first history event containing the str + */ +int +history_search(const char *str, int direction) +{ + HistEvent ev; + const char *strp; + int curr_num; + + if (history(h, &ev, H_CURR) != 0) + return -1; + curr_num = ev.num; + + for (;;) { + if ((strp = strstr(ev.str, str)) != NULL) + return (int)(strp - ev.str); + if (history(h, &ev, direction < 0 ? H_NEXT:H_PREV) != 0) + break; + } + (void)history(h, &ev, H_SET, curr_num); + return -1; +} + + +/* + * searches for first history event beginning with str + */ +int +history_search_prefix(const char *str, int direction) +{ + HistEvent ev; + + return (history(h, &ev, direction < 0 ? + H_PREV_STR : H_NEXT_STR, str)); +} + + +/* + * search for event in history containing str, starting at offset + * abs(pos); continue backward, if pos<0, forward otherwise + */ +/* ARGSUSED */ +int +history_search_pos(const char *str, + int direction __attribute__((__unused__)), int pos) +{ + HistEvent ev; + int curr_num, off; + + off = (pos > 0) ? pos : -pos; + pos = (pos > 0) ? 1 : -1; + + if (history(h, &ev, H_CURR) != 0) + return -1; + curr_num = ev.num; + + if (!history_set_pos(off) || history(h, &ev, H_CURR) != 0) + return -1; + + for (;;) { + if (strstr(ev.str, str)) + return off; + if (history(h, &ev, (pos < 0) ? H_PREV : H_NEXT) != 0) + break; + } + + /* set "current" pointer back to previous state */ + (void)history(h, &ev, + pos < 0 ? H_NEXT_EVENT : H_PREV_EVENT, curr_num); + + return -1; +} + + +/********************************/ +/* completion functions */ + +char * +tilde_expand(char *name) +{ + return fn_tilde_expand(name); +} + +char * +filename_completion_function(const char *name, int state) +{ + return fn_filename_completion_function(name, state); +} + +/* + * a completion generator for usernames; returns _first_ username + * which starts with supplied text + * text contains a partial username preceded by random character + * (usually '~'); state resets search from start (??? should we do that anyway) + * it's the caller's responsibility to free the returned value + */ +char * +username_completion_function(const char *text, int state) +{ + struct passwd *pass = NULL; + + if (text[0] == '\0') + return NULL; + + if (*text == '~') + text++; + + if (state == 0) + setpwent(); + + while ( + (pass = getpwent()) != NULL + && text[0] == pass->pw_name[0] + && strcmp(text, pass->pw_name) == 0) + continue; + + if (pass == NULL) { + endpwent(); + return NULL; + } + return strdup(pass->pw_name); +} + + +/* + * el-compatible wrapper to send TSTP on ^Z + */ +/* ARGSUSED */ +static unsigned char +_el_rl_tstp(EditLine *el __attribute__((__unused__)), int ch __attribute__((__unused__))) +{ + (void)kill(0, SIGTSTP); + return CC_NORM; +} + +static const char * +/*ARGSUSED*/ +_rl_completion_append_character_function(const char *dummy + __attribute__((__unused__))) +{ + static char buf[2]; + buf[0] = (char)rl_completion_append_character; + buf[1] = '\0'; + return buf; +} + + +/* + * Display list of strings in columnar format on readline's output stream. + * 'matches' is list of strings, 'len' is number of strings in 'matches', + * 'max' is maximum length of string in 'matches'. + */ +void +rl_display_match_list(char **matches, int len, int max) +{ + + fn_display_match_list(e, matches, (size_t)len, (size_t)max, + _rl_completion_append_character_function); +} + +/* + * complete word at current point + */ +/* ARGSUSED */ +int +rl_complete(int ignore __attribute__((__unused__)), int invoking_key) +{ + static ct_buffer_t wbreak_conv, sprefix_conv; + const char *breakchars; + + if (h == NULL || e == NULL) + rl_initialize(); + + if (rl_inhibit_completion) { + char arr[2]; + arr[0] = (char)invoking_key; + arr[1] = '\0'; + el_insertstr(e, arr); + return CC_REFRESH; + } + + if (rl_completion_word_break_hook != NULL) + breakchars = (*rl_completion_word_break_hook)(); + else + breakchars = rl_basic_word_break_characters; + + _rl_update_pos(); + + /* Just look at how many global variables modify this operation! */ + return fn_complete(e, + (rl_compentry_func_t *)rl_completion_entry_function, + rl_attempted_completion_function, + ct_decode_string(rl_basic_word_break_characters, &wbreak_conv), + ct_decode_string(breakchars, &sprefix_conv), + _rl_completion_append_character_function, + (size_t)rl_completion_query_items, + &rl_completion_type, &rl_attempted_completion_over, + &rl_point, &rl_end); + + +} + + +/* ARGSUSED */ +static unsigned char +_el_rl_complete(EditLine *el __attribute__((__unused__)), int ch) +{ + return (unsigned char)rl_complete(0, ch); +} + +/* + * misc other functions + */ + +/* + * bind key c to readline-type function func + */ +int +rl_bind_key(int c, rl_command_func_t *func) +{ + int retval = -1; + + if (h == NULL || e == NULL) + rl_initialize(); + + if (func == rl_insert) { + /* XXX notice there is no range checking of ``c'' */ + e->el_map.key[c] = ED_INSERT; + retval = 0; + } + return retval; +} + + +/* + * read one key from input - handles chars pushed back + * to input stream also + */ +int +rl_read_key(void) +{ + char fooarr[2 * sizeof(int)]; + + if (e == NULL || h == NULL) + rl_initialize(); + + return el_getc(e, fooarr); +} + + +/* + * reset the terminal + */ +/* ARGSUSED */ +int +rl_reset_terminal(const char *p __attribute__((__unused__))) +{ + + if (h == NULL || e == NULL) + rl_initialize(); + el_reset(e); + return 0; +} + + +/* + * insert character ``c'' back into input stream, ``count'' times + */ +int +rl_insert(int count, int c) +{ + char arr[2]; + + if (h == NULL || e == NULL) + rl_initialize(); + + /* XXX - int -> char conversion can lose on multichars */ + arr[0] = (char)c; + arr[1] = '\0'; + + for (; count > 0; count--) + el_push(e, arr); + + return 0; +} + +int +rl_insert_text(const char *text) +{ + if (!text || *text == 0) + return 0; + + if (h == NULL || e == NULL) + rl_initialize(); + + if (el_insertstr(e, text) < 0) + return 0; + return (int)strlen(text); +} + +/*ARGSUSED*/ +int +rl_newline(int count __attribute__((__unused__)), + int c __attribute__((__unused__))) +{ + /* + * Readline-4.0 appears to ignore the args. + */ + return rl_insert(1, '\n'); +} + +/*ARGSUSED*/ +static unsigned char +rl_bind_wrapper(EditLine *el __attribute__((__unused__)), unsigned char c) +{ + if (map[c] == NULL) + return CC_ERROR; + + _rl_update_pos(); + + (*map[c])(1, c); + + /* If rl_done was set by the above call, deal with it here */ + if (rl_done) + return CC_EOF; + + return CC_NORM; +} + +int +rl_add_defun(const char *name, rl_command_func_t *fun, int c) +{ + char dest[8]; + if ((size_t)c >= sizeof(map) / sizeof(map[0]) || c < 0) + return -1; + map[(unsigned char)c] = fun; + el_set(e, EL_ADDFN, name, name, rl_bind_wrapper); + vis(dest, c, VIS_WHITE|VIS_NOSLASH, 0); + el_set(e, EL_BIND, dest, name, NULL); + return 0; +} + +void +rl_callback_read_char(void) +{ + int count = 0, done = 0; + const char *buf = el_gets(e, &count); + char *wbuf; + + if (buf == NULL || count-- <= 0) + return; + if (count == 0 && buf[0] == e->el_tty.t_c[TS_IO][C_EOF]) + done = 1; + if (buf[count] == '\n' || buf[count] == '\r') + done = 2; + + if (done && rl_linefunc != NULL) { + el_set(e, EL_UNBUFFERED, 0); + if (done == 2) { + if ((wbuf = strdup(buf)) != NULL) + wbuf[count] = '\0'; + } else + wbuf = NULL; + (*(void (*)(const char *))rl_linefunc)(wbuf); + el_set(e, EL_UNBUFFERED, 1); + } +} + +void +rl_callback_handler_install(const char *prompt, rl_vcpfunc_t *linefunc) +{ + if (e == NULL) { + rl_initialize(); + } + (void)rl_set_prompt(prompt); + rl_linefunc = linefunc; + el_set(e, EL_UNBUFFERED, 1); +} + +void +rl_callback_handler_remove(void) +{ + rl_linefunc = NULL; + el_end(e); + e = NULL; +} + +void +rl_redisplay(void) +{ + char a[2]; + a[0] = (char)e->el_tty.t_c[TS_IO][C_REPRINT]; + a[1] = '\0'; + el_push(e, a); +} + +int +rl_get_previous_history(int count, int key) +{ + char a[2]; + a[0] = (char)key; + a[1] = '\0'; + while (count--) + el_push(e, a); + return 0; +} + +void +/*ARGSUSED*/ +rl_prep_terminal(int meta_flag __attribute__((__unused__))) +{ + el_set(e, EL_PREP_TERM, 1); +} + +void +rl_deprep_terminal(void) +{ + el_set(e, EL_PREP_TERM, 0); +} + +int +rl_read_init_file(const char *s) +{ + return el_source(e, s); +} + +int +rl_parse_and_bind(const char *line) +{ + const char **argv; + int argc; + Tokenizer *tok; + + tok = tok_init(NULL); + tok_str(tok, line, &argc, &argv); + argc = el_parse(e, argc, argv); + tok_end(tok); + return argc ? 1 : 0; +} + +int +rl_variable_bind(const char *var, const char *value) +{ + /* + * The proper return value is undocument, but this is what the + * readline source seems to do. + */ + return el_set(e, EL_BIND, "", var, value, NULL) == -1 ? 1 : 0; +} + +int +rl_stuff_char(int c) +{ + char buf[2]; + + buf[0] = (char)c; + buf[1] = '\0'; + el_insertstr(e, buf); + return 1; +} + +static int +_rl_event_read_char(EditLine *el, wchar_t *wc) +{ + char ch; + int n; + ssize_t num_read = 0; + + ch = '\0'; + *wc = L'\0'; + while (rl_event_hook) { + + (*rl_event_hook)(); + +#if defined(FIONREAD) + if (ioctl(el->el_infd, FIONREAD, &n) < 0) + return -1; + if (n) + num_read = read(el->el_infd, &ch, (size_t)1); + else + num_read = 0; +#elif defined(F_SETFL) && defined(O_NDELAY) + if ((n = fcntl(el->el_infd, F_GETFL, 0)) < 0) + return -1; + if (fcntl(el->el_infd, F_SETFL, n|O_NDELAY) < 0) + return -1; + num_read = read(el->el_infd, &ch, 1); + if (fcntl(el->el_infd, F_SETFL, n)) + return -1; +#else + /* not non-blocking, but what you gonna do? */ + num_read = read(el->el_infd, &ch, 1); + return -1; +#endif + + if (num_read < 0 && errno == EAGAIN) + continue; + if (num_read == 0) + continue; + break; + } + if (!rl_event_hook) + el_set(el, EL_GETCFN, EL_BUILTIN_GETCFN); + *wc = (wchar_t)ch; + return (int)num_read; +} + +static void +_rl_update_pos(void) +{ + const LineInfo *li = el_line(e); + + rl_point = (int)(li->cursor - li->buffer); + rl_end = (int)(li->lastchar - li->buffer); + rl_line_buffer[rl_end] = '\0'; +} + +void +rl_get_screen_size(int *rows, int *cols) +{ + if (rows) + el_get(e, EL_GETTC, "li", rows); + if (cols) + el_get(e, EL_GETTC, "co", cols); +} + +void +rl_set_screen_size(int rows, int cols) +{ + char buf[64]; + (void)snprintf(buf, sizeof(buf), "%d", rows); + el_set(e, EL_SETTC, "li", buf, NULL); + (void)snprintf(buf, sizeof(buf), "%d", cols); + el_set(e, EL_SETTC, "co", buf, NULL); +} + +char ** +rl_completion_matches(const char *str, rl_compentry_func_t *fun) +{ + size_t len, max, i, j, min; + char **list, *match, *a, *b; + + len = 1; + max = 10; + if ((list = el_calloc(max, sizeof(*list))) == NULL) + return NULL; + + while ((match = (*fun)(str, (int)(len - 1))) != NULL) { + list[len++] = match; + if (len == max) { + char **nl; + max += 10; + if ((nl = el_realloc(list, max * sizeof(*nl))) == NULL) + goto out; + list = nl; + } + } + if (len == 1) + goto out; + list[len] = NULL; + if (len == 2) { + if ((list[0] = strdup(list[1])) == NULL) + goto out; + return list; + } + qsort(&list[1], len - 1, sizeof(*list), + (int (*)(const void *, const void *)) strcmp); + min = SIZE_MAX; + for (i = 1, a = list[i]; i < len - 1; i++, a = b) { + b = list[i + 1]; + for (j = 0; a[j] && a[j] == b[j]; j++) + continue; + if (min > j) + min = j; + } + if (min == 0 && *str) { + if ((list[0] = strdup(str)) == NULL) + goto out; + } else { + if ((list[0] = el_calloc(min + 1, sizeof(*list[0]))) == NULL) + goto out; + (void)memcpy(list[0], list[1], min); + list[0][min] = '\0'; + } + return list; + +out: + el_free(list); + return NULL; +} + +char * +rl_filename_completion_function (const char *text, int state) +{ + return fn_filename_completion_function(text, state); +} + +void +rl_forced_update_display(void) +{ + el_set(e, EL_REFRESH); +} + +int +_rl_abort_internal(void) +{ + el_beep(e); + longjmp(topbuf, 1); + /*NOTREACHED*/ +} + +int +_rl_qsort_string_compare(char **s1, char **s2) +{ + return strcoll(*s1, *s2); +} + +HISTORY_STATE * +history_get_history_state(void) +{ + HISTORY_STATE *hs; + + if ((hs = el_malloc(sizeof(*hs))) == NULL) + return NULL; + hs->length = history_length; + return hs; +} + +int +/*ARGSUSED*/ +rl_kill_text(int from __attribute__((__unused__)), + int to __attribute__((__unused__))) +{ + return 0; +} + +Keymap +rl_make_bare_keymap(void) +{ + return NULL; +} + +Keymap +rl_get_keymap(void) +{ + return NULL; +} + +void +/*ARGSUSED*/ +rl_set_keymap(Keymap k __attribute__((__unused__))) +{ +} + +int +/*ARGSUSED*/ +rl_generic_bind(int type __attribute__((__unused__)), + const char * keyseq __attribute__((__unused__)), + const char * data __attribute__((__unused__)), + Keymap k __attribute__((__unused__))) +{ + return 0; +} + +int +/*ARGSUSED*/ +rl_bind_key_in_map(int key __attribute__((__unused__)), + rl_command_func_t *fun __attribute__((__unused__)), + Keymap k __attribute__((__unused__))) +{ + return 0; +} + +/* unsupported, but needed by python */ +void +rl_cleanup_after_signal(void) +{ +} + +int +rl_on_new_line(void) +{ + return 0; +} + +void +rl_free_line_state(void) +{ +} + +int +/*ARGSUSED*/ +rl_set_keyboard_input_timeout(int u __attribute__((__unused__))) +{ + return 0; +} + +void +rl_resize_terminal(void) +{ + el_resize(e); +} + +void +rl_reset_after_signal(void) +{ + if (rl_prep_term_function) + (*rl_prep_term_function)(); +} + +void +rl_echo_signal_char(int sig) +{ + int c = tty_get_signal_character(e, sig); + if (c == -1) + return; + re_putc(e, c, 0); +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/refresh.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/refresh.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/refresh.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/refresh.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,1223 @@ +/* $NetBSD: refresh.c,v 1.56 2019/01/04 03:03:44 uwe Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)refresh.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: refresh.c,v 1.56 2019/01/04 03:03:44 uwe Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * refresh.c: Lower level screen refreshing functions + */ +#include +#include +#include + +#include "el.h" + +static void re_nextline(EditLine *); +static void re_addc(EditLine *, wint_t); +static void re_update_line(EditLine *, wchar_t *, wchar_t *, int); +static void re_insert (EditLine *, wchar_t *, int, int, wchar_t *, int); +static void re_delete(EditLine *, wchar_t *, int, int, int); +static void re_fastputc(EditLine *, wint_t); +static void re_clear_eol(EditLine *, int, int, int); +static void re__strncopy(wchar_t *, wchar_t *, size_t); +static void re__copy_and_pad(wchar_t *, const wchar_t *, size_t); + +#ifdef DEBUG_REFRESH +static void re_printstr(EditLine *, const char *, wchar_t *, wchar_t *); +#define __F el->el_errfile +#define ELRE_ASSERT(a, b, c) do \ + if (/*CONSTCOND*/ a) { \ + (void) fprintf b; \ + c; \ + } \ + while (/*CONSTCOND*/0) +#define ELRE_DEBUG(a, b) ELRE_ASSERT(a,b,;) + +/* re_printstr(): + * Print a string on the debugging pty + */ +static void +re_printstr(EditLine *el, const char *str, wchar_t *f, wchar_t *t) +{ + + ELRE_DEBUG(1, (__F, "%s:\"", str)); + while (f < t) + ELRE_DEBUG(1, (__F, "%c", *f++ & 0177)); + ELRE_DEBUG(1, (__F, "\"\r\n")); +} +#else +#define ELRE_ASSERT(a, b, c) +#define ELRE_DEBUG(a, b) +#endif + +/* re_nextline(): + * Move to the next line or scroll + */ +static void +re_nextline(EditLine *el) +{ + el->el_refresh.r_cursor.h = 0; /* reset it. */ + + /* + * If we would overflow (input is longer than terminal size), + * emulate scroll by dropping first line and shuffling the rest. + * We do this via pointer shuffling - it's safe in this case + * and we avoid memcpy(). + */ + if (el->el_refresh.r_cursor.v + 1 >= el->el_terminal.t_size.v) { + int i, lins = el->el_terminal.t_size.v; + wchar_t *firstline = el->el_vdisplay[0]; + + for(i = 1; i < lins; i++) + el->el_vdisplay[i - 1] = el->el_vdisplay[i]; + + firstline[0] = '\0'; /* empty the string */ + el->el_vdisplay[i - 1] = firstline; + } else + el->el_refresh.r_cursor.v++; + + ELRE_ASSERT(el->el_refresh.r_cursor.v >= el->el_terminal.t_size.v, + (__F, "\r\nre_putc: overflow! r_cursor.v == %d > %d\r\n", + el->el_refresh.r_cursor.v, el->el_terminal.t_size.v), + abort()); +} + +/* re_addc(): + * Draw c, expanding tabs, control chars etc. + */ +static void +re_addc(EditLine *el, wint_t c) +{ + switch (ct_chr_class(c)) { + case CHTYPE_TAB: /* expand the tab */ + for (;;) { + re_putc(el, ' ', 1); + if ((el->el_refresh.r_cursor.h & 07) == 0) + break; /* go until tab stop */ + } + break; + case CHTYPE_NL: { + int oldv = el->el_refresh.r_cursor.v; + re_putc(el, '\0', 0); /* assure end of line */ + if (oldv == el->el_refresh.r_cursor.v) /* XXX */ + re_nextline(el); + break; + } + case CHTYPE_PRINT: + re_putc(el, c, 1); + break; + default: { + wchar_t visbuf[VISUAL_WIDTH_MAX]; + ssize_t i, n = + ct_visual_char(visbuf, VISUAL_WIDTH_MAX, c); + for (i = 0; n-- > 0; ++i) + re_putc(el, visbuf[i], 1); + break; + } + } +} + +/* re_putliteral(): + * Place the literal string given + */ +libedit_private void +re_putliteral(EditLine *el, const wchar_t *begin, const wchar_t *end) +{ + coord_t *cur = &el->el_refresh.r_cursor; + wint_t c; + int sizeh = el->el_terminal.t_size.h; + int i, w; + + c = literal_add(el, begin, end, &w); + if (c == 0 || w <= 0) + return; + el->el_vdisplay[cur->v][cur->h] = c; + + i = w; + if (i > sizeh - cur->h) /* avoid overflow */ + i = sizeh - cur->h; + while (--i > 0) + el->el_vdisplay[cur->v][cur->h + i] = MB_FILL_CHAR; + + cur->h += w; + if (cur->h >= sizeh) { + /* assure end of line */ + el->el_vdisplay[cur->v][sizeh] = '\0'; + re_nextline(el); + } +} + +/* re_putc(): + * Draw the character given + */ +libedit_private void +re_putc(EditLine *el, wint_t c, int shift) +{ + coord_t *cur = &el->el_refresh.r_cursor; + int i, w = wcwidth(c); + int sizeh = el->el_terminal.t_size.h; + + ELRE_DEBUG(1, (__F, "printing %5x '%lc'\r\n", c, c)); + if (w == -1) + w = 0; + + while (shift && (cur->h + w > sizeh)) + re_putc(el, ' ', 1); + + el->el_vdisplay[cur->v][cur->h] = c; + /* assumes !shift is only used for single-column chars */ + i = w; + while (--i > 0) + el->el_vdisplay[cur->v][cur->h + i] = MB_FILL_CHAR; + + if (!shift) + return; + + cur->h += w; /* advance to next place */ + if (cur->h >= sizeh) { + /* assure end of line */ + el->el_vdisplay[cur->v][sizeh] = '\0'; + re_nextline(el); + } +} + + +/* re_refresh(): + * draws the new virtual screen image from the current input + * line, then goes line-by-line changing the real image to the new + * virtual image. The routine to re-draw a line can be replaced + * easily in hopes of a smarter one being placed there. + */ +libedit_private void +re_refresh(EditLine *el) +{ + int i, rhdiff; + wchar_t *cp, *st; + coord_t cur; +#ifdef notyet + size_t termsz; +#endif + + ELRE_DEBUG(1, (__F, "el->el_line.buffer = :%ls:\r\n", + el->el_line.buffer)); + + literal_clear(el); + /* reset the Drawing cursor */ + el->el_refresh.r_cursor.h = 0; + el->el_refresh.r_cursor.v = 0; + + terminal_move_to_char(el, 0); + + /* temporarily draw rprompt to calculate its size */ + prompt_print(el, EL_RPROMPT); + + /* reset the Drawing cursor */ + el->el_refresh.r_cursor.h = 0; + el->el_refresh.r_cursor.v = 0; + + if (el->el_line.cursor >= el->el_line.lastchar) { + if (el->el_map.current == el->el_map.alt + && el->el_line.lastchar != el->el_line.buffer) + el->el_line.cursor = el->el_line.lastchar - 1; + else + el->el_line.cursor = el->el_line.lastchar; + } + + cur.h = -1; /* set flag in case I'm not set */ + cur.v = 0; + + prompt_print(el, EL_PROMPT); + + /* draw the current input buffer */ +#if notyet + termsz = el->el_terminal.t_size.h * el->el_terminal.t_size.v; + if (el->el_line.lastchar - el->el_line.buffer > termsz) { + /* + * If line is longer than terminal, process only part + * of line which would influence display. + */ + size_t rem = (el->el_line.lastchar-el->el_line.buffer)%termsz; + + st = el->el_line.lastchar - rem + - (termsz - (((rem / el->el_terminal.t_size.v) - 1) + * el->el_terminal.t_size.v)); + } else +#endif + st = el->el_line.buffer; + + for (cp = st; cp < el->el_line.lastchar; cp++) { + if (cp == el->el_line.cursor) { + int w = wcwidth(*cp); + /* save for later */ + cur.h = el->el_refresh.r_cursor.h; + cur.v = el->el_refresh.r_cursor.v; + /* handle being at a linebroken doublewidth char */ + if (w > 1 && el->el_refresh.r_cursor.h + w > + el->el_terminal.t_size.h) { + cur.h = 0; + cur.v++; + } + } + re_addc(el, *cp); + } + + if (cur.h == -1) { /* if I haven't been set yet, I'm at the end */ + cur.h = el->el_refresh.r_cursor.h; + cur.v = el->el_refresh.r_cursor.v; + } + rhdiff = el->el_terminal.t_size.h - el->el_refresh.r_cursor.h - + el->el_rprompt.p_pos.h; + if (el->el_rprompt.p_pos.h && !el->el_rprompt.p_pos.v && + !el->el_refresh.r_cursor.v && rhdiff > 1) { + /* + * have a right-hand side prompt that will fit + * on the end of the first line with at least + * one character gap to the input buffer. + */ + while (--rhdiff > 0) /* pad out with spaces */ + re_putc(el, ' ', 1); + prompt_print(el, EL_RPROMPT); + } else { + el->el_rprompt.p_pos.h = 0; /* flag "not using rprompt" */ + el->el_rprompt.p_pos.v = 0; + } + + re_putc(el, '\0', 0); /* make line ended with NUL, no cursor shift */ + + el->el_refresh.r_newcv = el->el_refresh.r_cursor.v; + + ELRE_DEBUG(1, (__F, + "term.h=%d vcur.h=%d vcur.v=%d vdisplay[0]=\r\n:%80.80s:\r\n", + el->el_terminal.t_size.h, el->el_refresh.r_cursor.h, + el->el_refresh.r_cursor.v, ct_encode_string(el->el_vdisplay[0], + &el->el_scratch))); + + ELRE_DEBUG(1, (__F, "updating %d lines.\r\n", el->el_refresh.r_newcv)); + for (i = 0; i <= el->el_refresh.r_newcv; i++) { + /* NOTE THAT re_update_line MAY CHANGE el_display[i] */ + re_update_line(el, el->el_display[i], el->el_vdisplay[i], i); + + /* + * Copy the new line to be the current one, and pad out with + * spaces to the full width of the terminal so that if we try + * moving the cursor by writing the character that is at the + * end of the screen line, it won't be a NUL or some old + * leftover stuff. + */ + re__copy_and_pad(el->el_display[i], el->el_vdisplay[i], + (size_t) el->el_terminal.t_size.h); + } + ELRE_DEBUG(1, (__F, + "\r\nel->el_refresh.r_cursor.v=%d,el->el_refresh.r_oldcv=%d i=%d\r\n", + el->el_refresh.r_cursor.v, el->el_refresh.r_oldcv, i)); + + if (el->el_refresh.r_oldcv > el->el_refresh.r_newcv) + for (; i <= el->el_refresh.r_oldcv; i++) { + terminal_move_to_line(el, i); + terminal_move_to_char(el, 0); + /* This wcslen should be safe even with MB_FILL_CHARs */ + terminal_clear_EOL(el, (int) wcslen(el->el_display[i])); +#ifdef DEBUG_REFRESH + terminal_overwrite(el, L"C\b", 2); +#endif /* DEBUG_REFRESH */ + el->el_display[i][0] = '\0'; + } + + el->el_refresh.r_oldcv = el->el_refresh.r_newcv; /* set for next time */ + ELRE_DEBUG(1, (__F, + "\r\ncursor.h = %d, cursor.v = %d, cur.h = %d, cur.v = %d\r\n", + el->el_refresh.r_cursor.h, el->el_refresh.r_cursor.v, + cur.h, cur.v)); + terminal_move_to_line(el, cur.v); /* go to where the cursor is */ + terminal_move_to_char(el, cur.h); +} + + +/* re_goto_bottom(): + * used to go to last used screen line + */ +libedit_private void +re_goto_bottom(EditLine *el) +{ + + terminal_move_to_line(el, el->el_refresh.r_oldcv); + terminal__putc(el, '\n'); + re_clear_display(el); + terminal__flush(el); +} + + +/* re_insert(): + * insert num characters of s into d (in front of the character) + * at dat, maximum length of d is dlen + */ +static void +/*ARGSUSED*/ +re_insert(EditLine *el __attribute__((__unused__)), + wchar_t *d, int dat, int dlen, wchar_t *s, int num) +{ + wchar_t *a, *b; + + if (num <= 0) + return; + if (num > dlen - dat) + num = dlen - dat; + + ELRE_DEBUG(1, + (__F, "re_insert() starting: %d at %d max %d, d == \"%s\"\n", + num, dat, dlen, ct_encode_string(d, &el->el_scratch))); + ELRE_DEBUG(1, (__F, "s == \"%s\"\n", ct_encode_string(s, + &el->el_scratch))); + + /* open up the space for num chars */ + if (num > 0) { + b = d + dlen - 1; + a = b - num; + while (a >= &d[dat]) + *b-- = *a--; + d[dlen] = '\0'; /* just in case */ + } + + ELRE_DEBUG(1, (__F, + "re_insert() after insert: %d at %d max %d, d == \"%s\"\n", + num, dat, dlen, ct_encode_string(d, &el->el_scratch))); + ELRE_DEBUG(1, (__F, "s == \"%s\"\n", ct_encode_string(s, + &el->el_scratch))); + + /* copy the characters */ + for (a = d + dat; (a < d + dlen) && (num > 0); num--) + *a++ = *s++; + +#ifdef notyet + /* ct_encode_string() uses a static buffer, so we can't conveniently + * encode both d & s here */ + ELRE_DEBUG(1, + (__F, "re_insert() after copy: %d at %d max %d, %s == \"%s\"\n", + num, dat, dlen, d, s)); + ELRE_DEBUG(1, (__F, "s == \"%s\"\n", s)); +#endif +} + + +/* re_delete(): + * delete num characters d at dat, maximum length of d is dlen + */ +static void +/*ARGSUSED*/ +re_delete(EditLine *el __attribute__((__unused__)), + wchar_t *d, int dat, int dlen, int num) +{ + wchar_t *a, *b; + + if (num <= 0) + return; + if (dat + num >= dlen) { + d[dat] = '\0'; + return; + } + ELRE_DEBUG(1, + (__F, "re_delete() starting: %d at %d max %d, d == \"%s\"\n", + num, dat, dlen, ct_encode_string(d, &el->el_scratch))); + + /* open up the space for num chars */ + if (num > 0) { + b = d + dat; + a = b + num; + while (a < &d[dlen]) + *b++ = *a++; + d[dlen] = '\0'; /* just in case */ + } + ELRE_DEBUG(1, + (__F, "re_delete() after delete: %d at %d max %d, d == \"%s\"\n", + num, dat, dlen, ct_encode_string(d, &el->el_scratch))); +} + + +/* re__strncopy(): + * Like strncpy without padding. + */ +static void +re__strncopy(wchar_t *a, wchar_t *b, size_t n) +{ + + while (n-- && *b) + *a++ = *b++; +} + +/* re_clear_eol(): + * Find the number of characters we need to clear till the end of line + * in order to make sure that we have cleared the previous contents of + * the line. fx and sx is the number of characters inserted or deleted + * in the first or second diff, diff is the difference between the + * number of characters between the new and old line. + */ +static void +re_clear_eol(EditLine *el, int fx, int sx, int diff) +{ + + ELRE_DEBUG(1, (__F, "re_clear_eol sx %d, fx %d, diff %d\n", + sx, fx, diff)); + + if (fx < 0) + fx = -fx; + if (sx < 0) + sx = -sx; + if (fx > diff) + diff = fx; + if (sx > diff) + diff = sx; + + ELRE_DEBUG(1, (__F, "re_clear_eol %d\n", diff)); + terminal_clear_EOL(el, diff); +} + +/***************************************************************** + re_update_line() is based on finding the middle difference of each line + on the screen; vis: + + /old first difference + /beginning of line | /old last same /old EOL + v v v v +old: eddie> Oh, my little gruntle-buggy is to me, as lurgid as +new: eddie> Oh, my little buggy says to me, as lurgid as + ^ ^ ^ ^ + \beginning of line | \new last same \new end of line + \new first difference + + all are character pointers for the sake of speed. Special cases for + no differences, as well as for end of line additions must be handled. +**************************************************************** */ + +/* Minimum at which doing an insert it "worth it". This should be about + * half the "cost" of going into insert mode, inserting a character, and + * going back out. This should really be calculated from the termcap + * data... For the moment, a good number for ANSI terminals. + */ +#define MIN_END_KEEP 4 + +static void +re_update_line(EditLine *el, wchar_t *old, wchar_t *new, int i) +{ + wchar_t *o, *n, *p, c; + wchar_t *ofd, *ols, *oe, *nfd, *nls, *ne; + wchar_t *osb, *ose, *nsb, *nse; + int fx, sx; + size_t len; + + /* + * find first diff + */ + for (o = old, n = new; *o && (*o == *n); o++, n++) + continue; + ofd = o; + nfd = n; + + /* + * Find the end of both old and new + */ + while (*o) + o++; + /* + * Remove any trailing blanks off of the end, being careful not to + * back up past the beginning. + */ + while (ofd < o) { + if (o[-1] != ' ') + break; + o--; + } + oe = o; + *oe = '\0'; + + while (*n) + n++; + + /* remove blanks from end of new */ + while (nfd < n) { + if (n[-1] != ' ') + break; + n--; + } + ne = n; + *ne = '\0'; + + /* + * if no diff, continue to next line of redraw + */ + if (*ofd == '\0' && *nfd == '\0') { + ELRE_DEBUG(1, (__F, "no difference.\r\n")); + return; + } + /* + * find last same pointer + */ + while ((o > ofd) && (n > nfd) && (*--o == *--n)) + continue; + ols = ++o; + nls = ++n; + + /* + * find same beginning and same end + */ + osb = ols; + nsb = nls; + ose = ols; + nse = nls; + + /* + * case 1: insert: scan from nfd to nls looking for *ofd + */ + if (*ofd) { + for (c = *ofd, n = nfd; n < nls; n++) { + if (c == *n) { + for (o = ofd, p = n; + p < nls && o < ols && *o == *p; + o++, p++) + continue; + /* + * if the new match is longer and it's worth + * keeping, then we take it + */ + if (((nse - nsb) < (p - n)) && + (2 * (p - n) > n - nfd)) { + nsb = n; + nse = p; + osb = ofd; + ose = o; + } + } + } + } + /* + * case 2: delete: scan from ofd to ols looking for *nfd + */ + if (*nfd) { + for (c = *nfd, o = ofd; o < ols; o++) { + if (c == *o) { + for (n = nfd, p = o; + p < ols && n < nls && *p == *n; + p++, n++) + continue; + /* + * if the new match is longer and it's worth + * keeping, then we take it + */ + if (((ose - osb) < (p - o)) && + (2 * (p - o) > o - ofd)) { + nsb = nfd; + nse = n; + osb = o; + ose = p; + } + } + } + } + /* + * Pragmatics I: If old trailing whitespace or not enough characters to + * save to be worth it, then don't save the last same info. + */ + if ((oe - ols) < MIN_END_KEEP) { + ols = oe; + nls = ne; + } + /* + * Pragmatics II: if the terminal isn't smart enough, make the data + * dumber so the smart update doesn't try anything fancy + */ + + /* + * fx is the number of characters we need to insert/delete: in the + * beginning to bring the two same begins together + */ + fx = (int)((nsb - nfd) - (osb - ofd)); + /* + * sx is the number of characters we need to insert/delete: in the + * end to bring the two same last parts together + */ + sx = (int)((nls - nse) - (ols - ose)); + + if (!EL_CAN_INSERT) { + if (fx > 0) { + osb = ols; + ose = ols; + nsb = nls; + nse = nls; + } + if (sx > 0) { + ols = oe; + nls = ne; + } + if ((ols - ofd) < (nls - nfd)) { + ols = oe; + nls = ne; + } + } + if (!EL_CAN_DELETE) { + if (fx < 0) { + osb = ols; + ose = ols; + nsb = nls; + nse = nls; + } + if (sx < 0) { + ols = oe; + nls = ne; + } + if ((ols - ofd) > (nls - nfd)) { + ols = oe; + nls = ne; + } + } + /* + * Pragmatics III: make sure the middle shifted pointers are correct if + * they don't point to anything (we may have moved ols or nls). + */ + /* if the change isn't worth it, don't bother */ + /* was: if (osb == ose) */ + if ((ose - osb) < MIN_END_KEEP) { + osb = ols; + ose = ols; + nsb = nls; + nse = nls; + } + /* + * Now that we are done with pragmatics we recompute fx, sx + */ + fx = (int)((nsb - nfd) - (osb - ofd)); + sx = (int)((nls - nse) - (ols - ose)); + + ELRE_DEBUG(1, (__F, "fx %d, sx %d\n", fx, sx)); + ELRE_DEBUG(1, (__F, "ofd %td, osb %td, ose %td, ols %td, oe %td\n", + ofd - old, osb - old, ose - old, ols - old, oe - old)); + ELRE_DEBUG(1, (__F, "nfd %td, nsb %td, nse %td, nls %td, ne %td\n", + nfd - new, nsb - new, nse - new, nls - new, ne - new)); + ELRE_DEBUG(1, (__F, + "xxx-xxx:\"00000000001111111111222222222233333333334\"\r\n")); + ELRE_DEBUG(1, (__F, + "xxx-xxx:\"01234567890123456789012345678901234567890\"\r\n")); +#ifdef DEBUG_REFRESH + re_printstr(el, "old- oe", old, oe); + re_printstr(el, "new- ne", new, ne); + re_printstr(el, "old-ofd", old, ofd); + re_printstr(el, "new-nfd", new, nfd); + re_printstr(el, "ofd-osb", ofd, osb); + re_printstr(el, "nfd-nsb", nfd, nsb); + re_printstr(el, "osb-ose", osb, ose); + re_printstr(el, "nsb-nse", nsb, nse); + re_printstr(el, "ose-ols", ose, ols); + re_printstr(el, "nse-nls", nse, nls); + re_printstr(el, "ols- oe", ols, oe); + re_printstr(el, "nls- ne", nls, ne); +#endif /* DEBUG_REFRESH */ + + /* + * el_cursor.v to this line i MUST be in this routine so that if we + * don't have to change the line, we don't move to it. el_cursor.h to + * first diff char + */ + terminal_move_to_line(el, i); + + /* + * at this point we have something like this: + * + * /old /ofd /osb /ose /ols /oe + * v.....................v v..................v v........v + * eddie> Oh, my fredded gruntle-buggy is to me, as foo var lurgid as + * eddie> Oh, my fredded quiux buggy is to me, as gruntle-lurgid as + * ^.....................^ ^..................^ ^........^ + * \new \nfd \nsb \nse \nls \ne + * + * fx is the difference in length between the chars between nfd and + * nsb, and the chars between ofd and osb, and is thus the number of + * characters to delete if < 0 (new is shorter than old, as above), + * or insert (new is longer than short). + * + * sx is the same for the second differences. + */ + + /* + * if we have a net insert on the first difference, AND inserting the + * net amount ((nsb-nfd) - (osb-ofd)) won't push the last useful + * character (which is ne if nls != ne, otherwise is nse) off the edge + * of the screen (el->el_terminal.t_size.h) else we do the deletes first + * so that we keep everything we need to. + */ + + /* + * if the last same is the same like the end, there is no last same + * part, otherwise we want to keep the last same part set p to the + * last useful old character + */ + p = (ols != oe) ? oe : ose; + + /* + * if (There is a diffence in the beginning) && (we need to insert + * characters) && (the number of characters to insert is less than + * the term width) + * We need to do an insert! + * else if (we need to delete characters) + * We need to delete characters! + * else + * No insert or delete + */ + if ((nsb != nfd) && fx > 0 && + ((p - old) + fx <= el->el_terminal.t_size.h)) { + ELRE_DEBUG(1, + (__F, "first diff insert at %td...\r\n", nfd - new)); + /* + * Move to the first char to insert, where the first diff is. + */ + terminal_move_to_char(el, (int)(nfd - new)); + /* + * Check if we have stuff to keep at end + */ + if (nsb != ne) { + ELRE_DEBUG(1, (__F, "with stuff to keep at end\r\n")); + /* + * insert fx chars of new starting at nfd + */ + if (fx > 0) { + ELRE_DEBUG(!EL_CAN_INSERT, (__F, + "ERROR: cannot insert in early first diff\n")); + terminal_insertwrite(el, nfd, fx); + re_insert(el, old, (int)(ofd - old), + el->el_terminal.t_size.h, nfd, fx); + } + /* + * write (nsb-nfd) - fx chars of new starting at + * (nfd + fx) + */ + len = (size_t) ((nsb - nfd) - fx); + terminal_overwrite(el, (nfd + fx), len); + re__strncopy(ofd + fx, nfd + fx, len); + } else { + ELRE_DEBUG(1, (__F, "without anything to save\r\n")); + len = (size_t)(nsb - nfd); + terminal_overwrite(el, nfd, len); + re__strncopy(ofd, nfd, len); + /* + * Done + */ + return; + } + } else if (fx < 0) { + ELRE_DEBUG(1, + (__F, "first diff delete at %td...\r\n", ofd - old)); + /* + * move to the first char to delete where the first diff is + */ + terminal_move_to_char(el, (int)(ofd - old)); + /* + * Check if we have stuff to save + */ + if (osb != oe) { + ELRE_DEBUG(1, (__F, "with stuff to save at end\r\n")); + /* + * fx is less than zero *always* here but we check + * for code symmetry + */ + if (fx < 0) { + ELRE_DEBUG(!EL_CAN_DELETE, (__F, + "ERROR: cannot delete in first diff\n")); + terminal_deletechars(el, -fx); + re_delete(el, old, (int)(ofd - old), + el->el_terminal.t_size.h, -fx); + } + /* + * write (nsb-nfd) chars of new starting at nfd + */ + len = (size_t) (nsb - nfd); + terminal_overwrite(el, nfd, len); + re__strncopy(ofd, nfd, len); + + } else { + ELRE_DEBUG(1, (__F, + "but with nothing left to save\r\n")); + /* + * write (nsb-nfd) chars of new starting at nfd + */ + terminal_overwrite(el, nfd, (size_t)(nsb - nfd)); + re_clear_eol(el, fx, sx, + (int)((oe - old) - (ne - new))); + /* + * Done + */ + return; + } + } else + fx = 0; + + if (sx < 0 && (ose - old) + fx < el->el_terminal.t_size.h) { + ELRE_DEBUG(1, (__F, + "second diff delete at %td...\r\n", (ose - old) + fx)); + /* + * Check if we have stuff to delete + */ + /* + * fx is the number of characters inserted (+) or deleted (-) + */ + + terminal_move_to_char(el, (int)((ose - old) + fx)); + /* + * Check if we have stuff to save + */ + if (ols != oe) { + ELRE_DEBUG(1, (__F, "with stuff to save at end\r\n")); + /* + * Again a duplicate test. + */ + if (sx < 0) { + ELRE_DEBUG(!EL_CAN_DELETE, (__F, + "ERROR: cannot delete in second diff\n")); + terminal_deletechars(el, -sx); + } + /* + * write (nls-nse) chars of new starting at nse + */ + terminal_overwrite(el, nse, (size_t)(nls - nse)); + } else { + ELRE_DEBUG(1, (__F, + "but with nothing left to save\r\n")); + terminal_overwrite(el, nse, (size_t)(nls - nse)); + re_clear_eol(el, fx, sx, + (int)((oe - old) - (ne - new))); + } + } + /* + * if we have a first insert AND WE HAVEN'T ALREADY DONE IT... + */ + if ((nsb != nfd) && (osb - ofd) <= (nsb - nfd) && (fx == 0)) { + ELRE_DEBUG(1, (__F, "late first diff insert at %td...\r\n", + nfd - new)); + + terminal_move_to_char(el, (int)(nfd - new)); + /* + * Check if we have stuff to keep at the end + */ + if (nsb != ne) { + ELRE_DEBUG(1, (__F, "with stuff to keep at end\r\n")); + /* + * We have to recalculate fx here because we set it + * to zero above as a flag saying that we hadn't done + * an early first insert. + */ + fx = (int)((nsb - nfd) - (osb - ofd)); + if (fx > 0) { + /* + * insert fx chars of new starting at nfd + */ + ELRE_DEBUG(!EL_CAN_INSERT, (__F, + "ERROR: cannot insert in late first diff\n")); + terminal_insertwrite(el, nfd, fx); + re_insert(el, old, (int)(ofd - old), + el->el_terminal.t_size.h, nfd, fx); + } + /* + * write (nsb-nfd) - fx chars of new starting at + * (nfd + fx) + */ + len = (size_t) ((nsb - nfd) - fx); + terminal_overwrite(el, (nfd + fx), len); + re__strncopy(ofd + fx, nfd + fx, len); + } else { + ELRE_DEBUG(1, (__F, "without anything to save\r\n")); + len = (size_t) (nsb - nfd); + terminal_overwrite(el, nfd, len); + re__strncopy(ofd, nfd, len); + } + } + /* + * line is now NEW up to nse + */ + if (sx >= 0) { + ELRE_DEBUG(1, (__F, + "second diff insert at %d...\r\n", (int)(nse - new))); + terminal_move_to_char(el, (int)(nse - new)); + if (ols != oe) { + ELRE_DEBUG(1, (__F, "with stuff to keep at end\r\n")); + if (sx > 0) { + /* insert sx chars of new starting at nse */ + ELRE_DEBUG(!EL_CAN_INSERT, (__F, + "ERROR: cannot insert in second diff\n")); + terminal_insertwrite(el, nse, sx); + } + /* + * write (nls-nse) - sx chars of new starting at + * (nse + sx) + */ + terminal_overwrite(el, (nse + sx), + (size_t)((nls - nse) - sx)); + } else { + ELRE_DEBUG(1, (__F, "without anything to save\r\n")); + terminal_overwrite(el, nse, (size_t)(nls - nse)); + + /* + * No need to do a clear-to-end here because we were + * doing a second insert, so we will have over + * written all of the old string. + */ + } + } + ELRE_DEBUG(1, (__F, "done.\r\n")); +} + + +/* re__copy_and_pad(): + * Copy string and pad with spaces + */ +static void +re__copy_and_pad(wchar_t *dst, const wchar_t *src, size_t width) +{ + size_t i; + + for (i = 0; i < width; i++) { + if (*src == '\0') + break; + *dst++ = *src++; + } + + for (; i < width; i++) + *dst++ = ' '; + + *dst = '\0'; +} + + +/* re_refresh_cursor(): + * Move to the new cursor position + */ +libedit_private void +re_refresh_cursor(EditLine *el) +{ + wchar_t *cp; + int h, v, th, w; + + if (el->el_line.cursor >= el->el_line.lastchar) { + if (el->el_map.current == el->el_map.alt + && el->el_line.lastchar != el->el_line.buffer) + el->el_line.cursor = el->el_line.lastchar - 1; + else + el->el_line.cursor = el->el_line.lastchar; + } + + /* first we must find where the cursor is... */ + h = el->el_prompt.p_pos.h; + v = el->el_prompt.p_pos.v; + th = el->el_terminal.t_size.h; /* optimize for speed */ + + /* do input buffer to el->el_line.cursor */ + for (cp = el->el_line.buffer; cp < el->el_line.cursor; cp++) { + switch (ct_chr_class(*cp)) { + case CHTYPE_NL: /* handle newline in data part too */ + h = 0; + v++; + break; + case CHTYPE_TAB: /* if a tab, to next tab stop */ + while (++h & 07) + continue; + break; + default: + w = wcwidth(*cp); + if (w > 1 && h + w > th) { /* won't fit on line */ + h = 0; + v++; + } + h += ct_visual_width(*cp); + break; + } + + if (h >= th) { /* check, extra long tabs picked up here also */ + h -= th; + v++; + } + } + /* if we have a next character, and it's a doublewidth one, we need to + * check whether we need to linebreak for it to fit */ + if (cp < el->el_line.lastchar && (w = wcwidth(*cp)) > 1) + if (h + w > th) { + h = 0; + v++; + } + + /* now go there */ + terminal_move_to_line(el, v); + terminal_move_to_char(el, h); + terminal__flush(el); +} + + +/* re_fastputc(): + * Add a character fast. + */ +static void +re_fastputc(EditLine *el, wint_t c) +{ + wchar_t *lastline; + int w; + + w = wcwidth(c); + while (w > 1 && el->el_cursor.h + w > el->el_terminal.t_size.h) + re_fastputc(el, ' '); + + terminal__putc(el, c); + el->el_display[el->el_cursor.v][el->el_cursor.h++] = c; + while (--w > 0) + el->el_display[el->el_cursor.v][el->el_cursor.h++] + = MB_FILL_CHAR; + + if (el->el_cursor.h >= el->el_terminal.t_size.h) { + /* if we must overflow */ + el->el_cursor.h = 0; + + /* + * If we would overflow (input is longer than terminal size), + * emulate scroll by dropping first line and shuffling the rest. + * We do this via pointer shuffling - it's safe in this case + * and we avoid memcpy(). + */ + if (el->el_cursor.v + 1 >= el->el_terminal.t_size.v) { + int i, lins = el->el_terminal.t_size.v; + + lastline = el->el_display[0]; + for(i = 1; i < lins; i++) + el->el_display[i - 1] = el->el_display[i]; + + el->el_display[i - 1] = lastline; + } else { + el->el_cursor.v++; + lastline = el->el_display[++el->el_refresh.r_oldcv]; + } + re__copy_and_pad(lastline, L"", (size_t)el->el_terminal.t_size.h); + + if (EL_HAS_AUTO_MARGINS) { + if (EL_HAS_MAGIC_MARGINS) { + terminal__putc(el, ' '); + terminal__putc(el, '\b'); + } + } else { + terminal__putc(el, '\r'); + terminal__putc(el, '\n'); + } + } +} + + +/* re_fastaddc(): + * we added just one char, handle it fast. + * Assumes that screen cursor == real cursor + */ +libedit_private void +re_fastaddc(EditLine *el) +{ + wchar_t c; + int rhdiff; + + c = el->el_line.cursor[-1]; + + if (c == '\t' || el->el_line.cursor != el->el_line.lastchar) { + re_refresh(el); /* too hard to handle */ + return; + } + rhdiff = el->el_terminal.t_size.h - el->el_cursor.h - + el->el_rprompt.p_pos.h; + if (el->el_rprompt.p_pos.h && rhdiff < 3) { + re_refresh(el); /* clear out rprompt if less than 1 char gap */ + return; + } /* else (only do at end of line, no TAB) */ + switch (ct_chr_class(c)) { + case CHTYPE_TAB: /* already handled, should never happen here */ + break; + case CHTYPE_NL: + case CHTYPE_PRINT: + re_fastputc(el, c); + break; + case CHTYPE_ASCIICTL: + case CHTYPE_NONPRINT: { + wchar_t visbuf[VISUAL_WIDTH_MAX]; + ssize_t i, n = + ct_visual_char(visbuf, VISUAL_WIDTH_MAX, c); + for (i = 0; n-- > 0; ++i) + re_fastputc(el, visbuf[i]); + break; + } + } + terminal__flush(el); +} + + +/* re_clear_display(): + * clear the screen buffers so that new new prompt starts fresh. + */ +libedit_private void +re_clear_display(EditLine *el) +{ + int i; + + el->el_cursor.v = 0; + el->el_cursor.h = 0; + for (i = 0; i < el->el_terminal.t_size.v; i++) + el->el_display[i][0] = '\0'; + el->el_refresh.r_oldcv = 0; +} + + +/* re_clear_lines(): + * Make sure all lines are *really* blank + */ +libedit_private void +re_clear_lines(EditLine *el) +{ + + if (EL_CAN_CEOL) { + int i; + for (i = el->el_refresh.r_oldcv; i >= 0; i--) { + /* for each line on the screen */ + terminal_move_to_line(el, i); + terminal_move_to_char(el, 0); + terminal_clear_EOL(el, el->el_terminal.t_size.h); + } + } else { + terminal_move_to_line(el, el->el_refresh.r_oldcv); + /* go to last line */ + terminal__putc(el, '\r'); /* go to BOL */ + terminal__putc(el, '\n'); /* go to new line */ + } +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/refresh.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/refresh.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/refresh.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/refresh.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,59 @@ +/* $NetBSD: refresh.h,v 1.11 2017/06/27 23:23:48 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)refresh.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.refresh.h: Screen refresh functions + */ +#ifndef _h_el_refresh +#define _h_el_refresh + +typedef struct { + coord_t r_cursor; /* Refresh cursor position */ + int r_oldcv; /* Vertical locations */ + int r_newcv; +} el_refresh_t; + +libedit_private void re_putc(EditLine *, wint_t, int); +libedit_private void re_putliteral(EditLine *, const wchar_t *, + const wchar_t *); +libedit_private void re_clear_lines(EditLine *); +libedit_private void re_clear_display(EditLine *); +libedit_private void re_refresh(EditLine *); +libedit_private void re_refresh_cursor(EditLine *); +libedit_private void re_fastaddc(EditLine *); +libedit_private void re_goto_bottom(EditLine *); + +#endif /* _h_el_refresh */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/search.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/search.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/search.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/search.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,644 @@ +/* $NetBSD: search.c,v 1.49 2019/07/23 10:18:52 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)search.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: search.c,v 1.49 2019/07/23 10:18:52 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * search.c: History and character search functions + */ +#include +#include +#include +#if defined(REGEX) +#include +#elif defined(REGEXP) +#include +#endif + +#include "el.h" +#include "common.h" +#include "fcns.h" + +/* + * Adjust cursor in vi mode to include the character under it + */ +#define EL_CURSOR(el) \ + ((el)->el_line.cursor + (((el)->el_map.type == MAP_VI) && \ + ((el)->el_map.current == (el)->el_map.alt))) + +/* search_init(): + * Initialize the search stuff + */ +libedit_private int +search_init(EditLine *el) +{ + + el->el_search.patbuf = el_calloc(EL_BUFSIZ, + sizeof(*el->el_search.patbuf)); + if (el->el_search.patbuf == NULL) + return -1; + el->el_search.patbuf[0] = L'\0'; + el->el_search.patlen = 0; + el->el_search.patdir = -1; + el->el_search.chacha = L'\0'; + el->el_search.chadir = CHAR_FWD; + el->el_search.chatflg = 0; + return 0; +} + + +/* search_end(): + * Initialize the search stuff + */ +libedit_private void +search_end(EditLine *el) +{ + + el_free(el->el_search.patbuf); + el->el_search.patbuf = NULL; +} + + +#ifdef REGEXP +/* regerror(): + * Handle regular expression errors + */ +void +/*ARGSUSED*/ +regerror(const char *msg) +{ +} +#endif + + +/* el_match(): + * Return if string matches pattern + */ +libedit_private int +el_match(const wchar_t *str, const wchar_t *pat) +{ + static ct_buffer_t conv; +#if defined (REGEX) + regex_t re; + int rv; +#elif defined (REGEXP) + regexp *rp; + int rv; +#else + extern char *re_comp(const char *); + extern int re_exec(const char *); +#endif + + if (wcsstr(str, pat) != 0) + return 1; + +#if defined(REGEX) + if (regcomp(&re, ct_encode_string(pat, &conv), 0) == 0) { + rv = regexec(&re, ct_encode_string(str, &conv), (size_t)0, NULL, + 0) == 0; + regfree(&re); + } else { + rv = 0; + } + return rv; +#elif defined(REGEXP) + if ((re = regcomp(ct_encode_string(pat, &conv))) != NULL) { + rv = regexec(re, ct_encode_string(str, &conv)); + el_free(re); + } else { + rv = 0; + } + return rv; +#else + if (re_comp(ct_encode_string(pat, &conv)) != NULL) + return 0; + else + return re_exec(ct_encode_string(str, &conv)) == 1; +#endif +} + + +/* c_hmatch(): + * return True if the pattern matches the prefix + */ +libedit_private int +c_hmatch(EditLine *el, const wchar_t *str) +{ +#ifdef SDEBUG + (void) fprintf(el->el_errfile, "match `%s' with `%s'\n", + el->el_search.patbuf, str); +#endif /* SDEBUG */ + + return el_match(str, el->el_search.patbuf); +} + + +/* c_setpat(): + * Set the history seatch pattern + */ +libedit_private void +c_setpat(EditLine *el) +{ + if (el->el_state.lastcmd != ED_SEARCH_PREV_HISTORY && + el->el_state.lastcmd != ED_SEARCH_NEXT_HISTORY) { + el->el_search.patlen = + (size_t)(EL_CURSOR(el) - el->el_line.buffer); + if (el->el_search.patlen >= EL_BUFSIZ) + el->el_search.patlen = EL_BUFSIZ - 1; + if (el->el_search.patlen != 0) { + (void) wcsncpy(el->el_search.patbuf, el->el_line.buffer, + el->el_search.patlen); + el->el_search.patbuf[el->el_search.patlen] = '\0'; + } else + el->el_search.patlen = wcslen(el->el_search.patbuf); + } +#ifdef SDEBUG + (void) fprintf(el->el_errfile, "\neventno = %d\n", + el->el_history.eventno); + (void) fprintf(el->el_errfile, "patlen = %d\n", el->el_search.patlen); + (void) fprintf(el->el_errfile, "patbuf = \"%s\"\n", + el->el_search.patbuf); + (void) fprintf(el->el_errfile, "cursor %d lastchar %d\n", + EL_CURSOR(el) - el->el_line.buffer, + el->el_line.lastchar - el->el_line.buffer); +#endif +} + + +/* ce_inc_search(): + * Emacs incremental search + */ +libedit_private el_action_t +ce_inc_search(EditLine *el, int dir) +{ + static const wchar_t STRfwd[] = L"fwd", STRbck[] = L"bck"; + static wchar_t pchar = L':'; /* ':' = normal, '?' = failed */ + static wchar_t endcmd[2] = {'\0', '\0'}; + wchar_t *ocursor = el->el_line.cursor, oldpchar = pchar, ch; + const wchar_t *cp; + + el_action_t ret = CC_NORM; + + int ohisteventno = el->el_history.eventno; + size_t oldpatlen = el->el_search.patlen; + int newdir = dir; + int done, redo; + + if (el->el_line.lastchar + sizeof(STRfwd) / + sizeof(*el->el_line.lastchar) + 2 + + el->el_search.patlen >= el->el_line.limit) + return CC_ERROR; + + for (;;) { + + if (el->el_search.patlen == 0) { /* first round */ + pchar = ':'; +#ifdef ANCHOR +#define LEN 2 + el->el_search.patbuf[el->el_search.patlen++] = '.'; + el->el_search.patbuf[el->el_search.patlen++] = '*'; +#else +#define LEN 0 +#endif + } + done = redo = 0; + *el->el_line.lastchar++ = '\n'; + for (cp = (newdir == ED_SEARCH_PREV_HISTORY) ? STRbck : STRfwd; + *cp; *el->el_line.lastchar++ = *cp++) + continue; + *el->el_line.lastchar++ = pchar; + for (cp = &el->el_search.patbuf[LEN]; + cp < &el->el_search.patbuf[el->el_search.patlen]; + *el->el_line.lastchar++ = *cp++) + continue; + *el->el_line.lastchar = '\0'; + re_refresh(el); + + if (el_wgetc(el, &ch) != 1) + return ed_end_of_file(el, 0); + + switch (el->el_map.current[(unsigned char) ch]) { + case ED_INSERT: + case ED_DIGIT: + if (el->el_search.patlen >= EL_BUFSIZ - LEN) + terminal_beep(el); + else { + el->el_search.patbuf[el->el_search.patlen++] = + ch; + *el->el_line.lastchar++ = ch; + *el->el_line.lastchar = '\0'; + re_refresh(el); + } + break; + + case EM_INC_SEARCH_NEXT: + newdir = ED_SEARCH_NEXT_HISTORY; + redo++; + break; + + case EM_INC_SEARCH_PREV: + newdir = ED_SEARCH_PREV_HISTORY; + redo++; + break; + + case EM_DELETE_PREV_CHAR: + case ED_DELETE_PREV_CHAR: + if (el->el_search.patlen > LEN) + done++; + else + terminal_beep(el); + break; + + default: + switch (ch) { + case 0007: /* ^G: Abort */ + ret = CC_ERROR; + done++; + break; + + case 0027: /* ^W: Append word */ + /* No can do if globbing characters in pattern */ + for (cp = &el->el_search.patbuf[LEN];; cp++) + if (cp >= &el->el_search.patbuf[ + el->el_search.patlen]) { + el->el_line.cursor += + el->el_search.patlen - LEN - 1; + cp = c__next_word(el->el_line.cursor, + el->el_line.lastchar, 1, + ce__isword); + while (el->el_line.cursor < cp && + *el->el_line.cursor != '\n') { + if (el->el_search.patlen >= + EL_BUFSIZ - LEN) { + terminal_beep(el); + break; + } + el->el_search.patbuf[el->el_search.patlen++] = + *el->el_line.cursor; + *el->el_line.lastchar++ = + *el->el_line.cursor++; + } + el->el_line.cursor = ocursor; + *el->el_line.lastchar = '\0'; + re_refresh(el); + break; + } else if (isglob(*cp)) { + terminal_beep(el); + break; + } + break; + + default: /* Terminate and execute cmd */ + endcmd[0] = ch; + el_wpush(el, endcmd); + /* FALLTHROUGH */ + + case 0033: /* ESC: Terminate */ + ret = CC_REFRESH; + done++; + break; + } + break; + } + + while (el->el_line.lastchar > el->el_line.buffer && + *el->el_line.lastchar != '\n') + *el->el_line.lastchar-- = '\0'; + *el->el_line.lastchar = '\0'; + + if (!done) { + + /* Can't search if unmatched '[' */ + for (cp = &el->el_search.patbuf[el->el_search.patlen-1], + ch = L']'; + cp >= &el->el_search.patbuf[LEN]; + cp--) + if (*cp == '[' || *cp == ']') { + ch = *cp; + break; + } + if (el->el_search.patlen > LEN && ch != L'[') { + if (redo && newdir == dir) { + if (pchar == '?') { /* wrap around */ + el->el_history.eventno = + newdir == ED_SEARCH_PREV_HISTORY ? 0 : 0x7fffffff; + if (hist_get(el) == CC_ERROR) + /* el->el_history.event + * no was fixed by + * first call */ + (void) hist_get(el); + el->el_line.cursor = newdir == + ED_SEARCH_PREV_HISTORY ? + el->el_line.lastchar : + el->el_line.buffer; + } else + el->el_line.cursor += + newdir == + ED_SEARCH_PREV_HISTORY ? + -1 : 1; + } +#ifdef ANCHOR + el->el_search.patbuf[el->el_search.patlen++] = + '.'; + el->el_search.patbuf[el->el_search.patlen++] = + '*'; +#endif + el->el_search.patbuf[el->el_search.patlen] = + '\0'; + if (el->el_line.cursor < el->el_line.buffer || + el->el_line.cursor > el->el_line.lastchar || + (ret = ce_search_line(el, newdir)) + == CC_ERROR) { + /* avoid c_setpat */ + el->el_state.lastcmd = + (el_action_t) newdir; + ret = (el_action_t) + (newdir == ED_SEARCH_PREV_HISTORY ? + ed_search_prev_history(el, 0) : + ed_search_next_history(el, 0)); + if (ret != CC_ERROR) { + el->el_line.cursor = newdir == + ED_SEARCH_PREV_HISTORY ? + el->el_line.lastchar : + el->el_line.buffer; + (void) ce_search_line(el, + newdir); + } + } + el->el_search.patlen -= LEN; + el->el_search.patbuf[el->el_search.patlen] = + '\0'; + if (ret == CC_ERROR) { + terminal_beep(el); + if (el->el_history.eventno != + ohisteventno) { + el->el_history.eventno = + ohisteventno; + if (hist_get(el) == CC_ERROR) + return CC_ERROR; + } + el->el_line.cursor = ocursor; + pchar = '?'; + } else { + pchar = ':'; + } + } + ret = ce_inc_search(el, newdir); + + if (ret == CC_ERROR && pchar == '?' && oldpchar == ':') + /* + * break abort of failed search at last + * non-failed + */ + ret = CC_NORM; + + } + if (ret == CC_NORM || (ret == CC_ERROR && oldpatlen == 0)) { + /* restore on normal return or error exit */ + pchar = oldpchar; + el->el_search.patlen = oldpatlen; + if (el->el_history.eventno != ohisteventno) { + el->el_history.eventno = ohisteventno; + if (hist_get(el) == CC_ERROR) + return CC_ERROR; + } + el->el_line.cursor = ocursor; + if (ret == CC_ERROR) + re_refresh(el); + } + if (done || ret != CC_NORM) + return ret; + } +} + + +/* cv_search(): + * Vi search. + */ +libedit_private el_action_t +cv_search(EditLine *el, int dir) +{ + wchar_t ch; + wchar_t tmpbuf[EL_BUFSIZ]; + ssize_t tmplen; + +#ifdef ANCHOR + tmpbuf[0] = '.'; + tmpbuf[1] = '*'; +#endif + tmplen = LEN; + + el->el_search.patdir = dir; + + tmplen = c_gets(el, &tmpbuf[LEN], + dir == ED_SEARCH_PREV_HISTORY ? L"\n/" : L"\n?" ); + if (tmplen == -1) + return CC_REFRESH; + + tmplen += LEN; + ch = tmpbuf[tmplen]; + tmpbuf[tmplen] = '\0'; + + if (tmplen == LEN) { + /* + * Use the old pattern, but wild-card it. + */ + if (el->el_search.patlen == 0) { + re_refresh(el); + return CC_ERROR; + } +#ifdef ANCHOR + if (el->el_search.patbuf[0] != '.' && + el->el_search.patbuf[0] != '*') { + (void) wcsncpy(tmpbuf, el->el_search.patbuf, + sizeof(tmpbuf) / sizeof(*tmpbuf) - 1); + el->el_search.patbuf[0] = '.'; + el->el_search.patbuf[1] = '*'; + (void) wcsncpy(&el->el_search.patbuf[2], tmpbuf, + EL_BUFSIZ - 3); + el->el_search.patlen++; + el->el_search.patbuf[el->el_search.patlen++] = '.'; + el->el_search.patbuf[el->el_search.patlen++] = '*'; + el->el_search.patbuf[el->el_search.patlen] = '\0'; + } +#endif + } else { +#ifdef ANCHOR + tmpbuf[tmplen++] = '.'; + tmpbuf[tmplen++] = '*'; +#endif + tmpbuf[tmplen] = '\0'; + (void) wcsncpy(el->el_search.patbuf, tmpbuf, EL_BUFSIZ - 1); + el->el_search.patlen = (size_t)tmplen; + } + el->el_state.lastcmd = (el_action_t) dir; /* avoid c_setpat */ + el->el_line.cursor = el->el_line.lastchar = el->el_line.buffer; + if ((dir == ED_SEARCH_PREV_HISTORY ? ed_search_prev_history(el, 0) : + ed_search_next_history(el, 0)) == CC_ERROR) { + re_refresh(el); + return CC_ERROR; + } + if (ch == 0033) { + re_refresh(el); + return ed_newline(el, 0); + } + return CC_REFRESH; +} + + +/* ce_search_line(): + * Look for a pattern inside a line + */ +libedit_private el_action_t +ce_search_line(EditLine *el, int dir) +{ + wchar_t *cp = el->el_line.cursor; + wchar_t *pattern = el->el_search.patbuf; + wchar_t oc, *ocp; +#ifdef ANCHOR + ocp = &pattern[1]; + oc = *ocp; + *ocp = '^'; +#else + ocp = pattern; + oc = *ocp; +#endif + + if (dir == ED_SEARCH_PREV_HISTORY) { + for (; cp >= el->el_line.buffer; cp--) { + if (el_match(cp, ocp)) { + *ocp = oc; + el->el_line.cursor = cp; + return CC_NORM; + } + } + *ocp = oc; + return CC_ERROR; + } else { + for (; *cp != '\0' && cp < el->el_line.limit; cp++) { + if (el_match(cp, ocp)) { + *ocp = oc; + el->el_line.cursor = cp; + return CC_NORM; + } + } + *ocp = oc; + return CC_ERROR; + } +} + + +/* cv_repeat_srch(): + * Vi repeat search + */ +libedit_private el_action_t +cv_repeat_srch(EditLine *el, wint_t c) +{ + +#ifdef SDEBUG + (void) fprintf(el->el_errfile, "dir %d patlen %d patbuf %s\n", + c, el->el_search.patlen, ct_encode_string(el->el_search.patbuf)); +#endif + + el->el_state.lastcmd = (el_action_t) c; /* Hack to stop c_setpat */ + el->el_line.lastchar = el->el_line.buffer; + + switch (c) { + case ED_SEARCH_NEXT_HISTORY: + return ed_search_next_history(el, 0); + case ED_SEARCH_PREV_HISTORY: + return ed_search_prev_history(el, 0); + default: + return CC_ERROR; + } +} + + +/* cv_csearch(): + * Vi character search + */ +libedit_private el_action_t +cv_csearch(EditLine *el, int direction, wint_t ch, int count, int tflag) +{ + wchar_t *cp; + + if (ch == 0) + return CC_ERROR; + + if (ch == (wint_t)-1) { + wchar_t c; + if (el_wgetc(el, &c) != 1) + return ed_end_of_file(el, 0); + ch = c; + } + + /* Save for ';' and ',' commands */ + el->el_search.chacha = ch; + el->el_search.chadir = direction; + el->el_search.chatflg = (char)tflag; + + cp = el->el_line.cursor; + while (count--) { + if ((wint_t)*cp == ch) + cp += direction; + for (;;cp += direction) { + if (cp >= el->el_line.lastchar) + return CC_ERROR; + if (cp < el->el_line.buffer) + return CC_ERROR; + if ((wint_t)*cp == ch) + break; + } + } + + if (tflag) + cp -= direction; + + el->el_line.cursor = cp; + + if (el->el_chared.c_vcmd.action != NOP) { + if (direction > 0) + el->el_line.cursor++; + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/search.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/search.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/search.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/search.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,64 @@ +/* $NetBSD: search.h,v 1.14 2016/05/09 21:46:56 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)search.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.search.h: Line and history searching utilities + */ +#ifndef _h_el_search +#define _h_el_search + +typedef struct el_search_t { + wchar_t *patbuf; /* The pattern buffer */ + size_t patlen; /* Length of the pattern buffer */ + int patdir; /* Direction of the last search */ + int chadir; /* Character search direction */ + wchar_t chacha; /* Character we are looking for */ + char chatflg; /* 0 if f, 1 if t */ +} el_search_t; + + +libedit_private int el_match(const wchar_t *, const wchar_t *); +libedit_private int search_init(EditLine *); +libedit_private void search_end(EditLine *); +libedit_private int c_hmatch(EditLine *, const wchar_t *); +libedit_private void c_setpat(EditLine *); +libedit_private el_action_t ce_inc_search(EditLine *, int); +libedit_private el_action_t cv_search(EditLine *, int); +libedit_private el_action_t ce_search_line(EditLine *, int); +libedit_private el_action_t cv_repeat_srch(EditLine *, wint_t); +libedit_private el_action_t cv_csearch(EditLine *, int, wint_t, int, int); + +#endif /* _h_el_search */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/shlib_version mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/shlib_version --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/shlib_version 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/shlib_version 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,5 @@ +# $NetBSD: shlib_version,v 1.19 2013/01/22 20:23:21 christos Exp $ +# Remember to update distrib/sets/lists/base/shl.* when changing +# +major=3 +minor=1 diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/sig.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/sig.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/sig.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/sig.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,205 @@ +/* $NetBSD: sig.c,v 1.26 2016/05/09 21:46:56 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)sig.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: sig.c,v 1.26 2016/05/09 21:46:56 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * sig.c: Signal handling stuff. + * our policy is to trap all signals, set a good state + * and pass the ball to our caller. + */ +#include +#include + +#include "el.h" +#include "common.h" + +static EditLine *sel = NULL; + +static const int sighdl[] = { +#define _DO(a) (a), + ALLSIGS +#undef _DO + - 1 +}; + +static void sig_handler(int); + +/* sig_handler(): + * This is the handler called for all signals + * XXX: we cannot pass any data so we just store the old editline + * state in a private variable + */ +static void +sig_handler(int signo) +{ + int i, save_errno; + sigset_t nset, oset; + + save_errno = errno; + (void) sigemptyset(&nset); + (void) sigaddset(&nset, signo); + (void) sigprocmask(SIG_BLOCK, &nset, &oset); + + sel->el_signal->sig_no = signo; + + switch (signo) { + case SIGCONT: + tty_rawmode(sel); + if (ed_redisplay(sel, 0) == CC_REFRESH) + re_refresh(sel); + terminal__flush(sel); + break; + + case SIGWINCH: + el_resize(sel); + break; + + default: + tty_cookedmode(sel); + break; + } + + for (i = 0; sighdl[i] != -1; i++) + if (signo == sighdl[i]) + break; + + (void) sigaction(signo, &sel->el_signal->sig_action[i], NULL); + sel->el_signal->sig_action[i].sa_handler = SIG_ERR; + sel->el_signal->sig_action[i].sa_flags = 0; + sigemptyset(&sel->el_signal->sig_action[i].sa_mask); + (void) sigprocmask(SIG_SETMASK, &oset, NULL); + (void) kill(0, signo); + errno = save_errno; +} + + +/* sig_init(): + * Initialize all signal stuff + */ +libedit_private int +sig_init(EditLine *el) +{ + size_t i; + sigset_t *nset, oset; + + el->el_signal = el_malloc(sizeof(*el->el_signal)); + if (el->el_signal == NULL) + return -1; + + nset = &el->el_signal->sig_set; + (void) sigemptyset(nset); +#define _DO(a) (void) sigaddset(nset, a); + ALLSIGS +#undef _DO + (void) sigprocmask(SIG_BLOCK, nset, &oset); + + for (i = 0; sighdl[i] != -1; i++) { + el->el_signal->sig_action[i].sa_handler = SIG_ERR; + el->el_signal->sig_action[i].sa_flags = 0; + sigemptyset(&el->el_signal->sig_action[i].sa_mask); + } + + (void) sigprocmask(SIG_SETMASK, &oset, NULL); + + return 0; +} + + +/* sig_end(): + * Clear all signal stuff + */ +libedit_private void +sig_end(EditLine *el) +{ + + el_free(el->el_signal); + el->el_signal = NULL; +} + + +/* sig_set(): + * set all the signal handlers + */ +libedit_private void +sig_set(EditLine *el) +{ + size_t i; + sigset_t oset; + struct sigaction osa, nsa; + + nsa.sa_handler = sig_handler; + nsa.sa_flags = 0; + sigemptyset(&nsa.sa_mask); + + (void) sigprocmask(SIG_BLOCK, &el->el_signal->sig_set, &oset); + + for (i = 0; sighdl[i] != -1; i++) { + /* This could happen if we get interrupted */ + if (sigaction(sighdl[i], &nsa, &osa) != -1 && + osa.sa_handler != sig_handler) + el->el_signal->sig_action[i] = osa; + } + sel = el; + (void) sigprocmask(SIG_SETMASK, &oset, NULL); +} + + +/* sig_clr(): + * clear all the signal handlers + */ +libedit_private void +sig_clr(EditLine *el) +{ + size_t i; + sigset_t oset; + + (void) sigprocmask(SIG_BLOCK, &el->el_signal->sig_set, &oset); + + for (i = 0; sighdl[i] != -1; i++) + if (el->el_signal->sig_action[i].sa_handler != SIG_ERR) + (void)sigaction(sighdl[i], + &el->el_signal->sig_action[i], NULL); + + sel = NULL; /* we are going to die if the handler is + * called */ + (void)sigprocmask(SIG_SETMASK, &oset, NULL); +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/sig.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/sig.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/sig.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/sig.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,70 @@ +/* $NetBSD: sig.h,v 1.11 2016/05/09 21:46:56 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)sig.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.sig.h: Signal handling functions + */ +#ifndef _h_el_sig +#define _h_el_sig + +#include + +/* + * Define here all the signals we are going to handle + * The _DO macro is used to iterate in the source code + */ +#define ALLSIGS \ + _DO(SIGINT) \ + _DO(SIGTSTP) \ + _DO(SIGQUIT) \ + _DO(SIGHUP) \ + _DO(SIGTERM) \ + _DO(SIGCONT) \ + _DO(SIGWINCH) +#define ALLSIGSNO 7 + +typedef struct { + struct sigaction sig_action[ALLSIGSNO]; + sigset_t sig_set; + volatile sig_atomic_t sig_no; +} *el_signal_t; + +libedit_private void sig_end(EditLine*); +libedit_private int sig_init(EditLine*); +libedit_private void sig_set(EditLine*); +libedit_private void sig_clr(EditLine*); + +#endif /* _h_el_sig */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/strlcat.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/strlcat.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/strlcat.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/strlcat.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,90 @@ +/* $NetBSD: strlcat.c,v 1.4 2013/01/23 07:57:27 matt Exp $ */ +/* $OpenBSD: strlcat.c,v 1.10 2003/04/12 21:56:39 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE + * FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "config.h" + +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: strlcat.c,v 1.4 2013/01/23 07:57:27 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#include +#include +#include + +#ifdef _LIBC +# ifdef __weak_alias +__weak_alias(strlcat, _strlcat) +# endif +#endif + +#if !HAVE_STRLCAT +/* + * Appends src to string dst of size siz (unlike strncat, siz is the + * full size of dst, not space left). At most siz-1 characters + * will be copied. Always NUL terminates (unless siz <= strlen(dst)). + * Returns strlen(src) + MIN(siz, strlen(initial dst)). + * If retval >= siz, truncation occurred. + */ +size_t +strlcat(char *dst, const char *src, size_t siz) +{ +#if 1 + char *d = dst; + const char *s = src; + size_t n = siz; + size_t dlen; + + _DIAGASSERT(dst != NULL); + _DIAGASSERT(src != NULL); + + /* Find the end of dst and adjust bytes left but don't go past end */ + while (n-- != 0 && *d != '\0') + d++; + dlen = d - dst; + n = siz - dlen; + + if (n == 0) + return(dlen + strlen(s)); + while (*s != '\0') { + if (n != 1) { + *d++ = *s; + n--; + } + s++; + } + *d = '\0'; + + return(dlen + (s - src)); /* count does not include NUL */ +#else + _DIAGASSERT(dst != NULL); + _DIAGASSERT(src != NULL); + + /* + * Find length of string in dst (maxing out at siz). + */ + size_t dlen = strnlen(dst, siz); + + /* + * Copy src into any remaining space in dst (truncating if needed). + * Note strlcpy(dst, src, 0) returns strlen(src). + */ + return dlen + strlcpy(dst + dlen, src, siz - dlen); +#endif +} +#endif diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/strlcpy.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/strlcpy.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/strlcpy.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/strlcpy.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,70 @@ +/* $NetBSD: strlcpy.c,v 1.3 2007/06/04 18:19:27 christos Exp $ */ +/* $OpenBSD: strlcpy.c,v 1.7 2003/04/12 21:56:39 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE + * FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "config.h" + +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: strlcpy.c,v 1.3 2007/06/04 18:19:27 christos Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#include +#include +#include + +#ifdef _LIBC +# ifdef __weak_alias +__weak_alias(strlcpy, _strlcpy) +# endif +#endif + +#if !HAVE_STRLCPY +/* + * Copy src to string dst of size siz. At most siz-1 characters + * will be copied. Always NUL terminates (unless siz == 0). + * Returns strlen(src); if retval >= siz, truncation occurred. + */ +size_t +strlcpy(char *dst, const char *src, size_t siz) +{ + char *d = dst; + const char *s = src; + size_t n = siz; + + _DIAGASSERT(dst != NULL); + _DIAGASSERT(src != NULL); + + /* Copy as many bytes as will fit */ + if (n != 0 && --n != 0) { + do { + if ((*d++ = *s++) == 0) + break; + } while (--n != 0); + } + + /* Not enough room in dst, add NUL and traverse rest of src */ + if (n == 0) { + if (siz != 0) + *d = '\0'; /* NUL-terminate dst */ + while (*s++) + ; + } + + return(s - src - 1); /* count does not include NUL */ +} +#endif diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/sys.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/sys.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/sys.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/sys.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,127 @@ +/* $NetBSD: sys.h,v 1.27 2016/05/09 21:46:56 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)sys.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * sys.h: Put all the stupid compiler and system dependencies here... + */ +#ifndef _h_sys +#define _h_sys + +#ifdef HAVE_SYS_CDEFS_H +#include +#endif + +#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__) || __GNUC__ == 2 && __GNUC_MINOR__ < 8) +# define __attribute__(A) +#endif + +#ifndef _DIAGASSERT +# define _DIAGASSERT(x) +#endif + +#ifndef __BEGIN_DECLS +# ifdef __cplusplus +# define __BEGIN_DECLS extern "C" { +# define __END_DECLS } +# else +# define __BEGIN_DECLS +# define __END_DECLS +# endif +#endif + +/* If your compiler does not support this, define it to be empty. */ +#define libedit_private __attribute__((__visibility__("hidden"))) + +#ifndef __arraycount +# define __arraycount(a) (sizeof(a) / sizeof(*(a))) +#endif + +#ifndef _PTR_T +# define _PTR_T +typedef void *ptr_t; +#endif + +#ifndef _IOCTL_T +# define _IOCTL_T +typedef void *ioctl_t; +#endif + +#include + +#ifndef HAVE_STRLCAT +#define strlcat libedit_strlcat +size_t strlcat(char *dst, const char *src, size_t size); +#endif + +#ifndef HAVE_STRLCPY +#define strlcpy libedit_strlcpy +size_t strlcpy(char *dst, const char *src, size_t size); +#endif + +#ifndef HAVE_GETLINE +#define getline libedit_getline +ssize_t getline(char **line, size_t *len, FILE *fp); +#endif + +#ifndef _DIAGASSERT +#define _DIAGASSERT(x) +#endif + +#ifndef __RCSID +#define __RCSID(x) +#endif + +#ifndef HAVE_U_INT32_T +typedef unsigned int u_int32_t; +#endif + +#ifndef HAVE_SIZE_MAX +#define SIZE_MAX ((size_t)-1) +#endif + +#define REGEX /* Use POSIX.2 regular expression functions */ +#undef REGEXP /* Use UNIX V8 regular expression functions */ + +#if defined(__sun) +extern int tgetent(char *, const char *); +extern int tgetflag(char *); +extern int tgetnum(char *); +extern int tputs(const char *, int, int (*)(int)); +extern char* tgoto(const char*, int, int); +extern char* tgetstr(char*, char**); +#endif + +#endif /* _h_sys */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/terminal.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/terminal.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/terminal.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/terminal.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,1657 @@ +/* $NetBSD: terminal.c,v 1.41 2019/11/12 20:59:46 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)term.c 8.2 (Berkeley) 4/30/95"; +#else +__RCSID("$NetBSD: terminal.c,v 1.41 2019/11/12 20:59:46 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * terminal.c: Editor/termcap-curses interface + * We have to declare a static variable here, since the + * termcap putchar routine does not take an argument! + */ +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef HAVE_TERMCAP_H +#include +#endif +#ifdef HAVE_CURSES_H +#include +#elif HAVE_NCURSES_H +#include +#endif + +/* Solaris's term.h does horrid things. */ +#if defined(HAVE_TERM_H) && !defined(__sun) && !defined(HAVE_TERMCAP_H) +#include +#endif + +#ifdef _REENTRANT +#include +#endif + +#include "el.h" +#include "fcns.h" + +/* + * IMPORTANT NOTE: these routines are allowed to look at the current screen + * and the current position assuming that it is correct. If this is not + * true, then the update will be WRONG! This is (should be) a valid + * assumption... + */ + +#define TC_BUFSIZE ((size_t)2048) + +#define GoodStr(a) (el->el_terminal.t_str[a] != NULL && \ + el->el_terminal.t_str[a][0] != '\0') +#define Str(a) el->el_terminal.t_str[a] +#define Val(a) el->el_terminal.t_val[a] + +static const struct termcapstr { + const char *name; + const char *long_name; +} tstr[] = { +#define T_al 0 + { "al", "add new blank line" }, +#define T_bl 1 + { "bl", "audible bell" }, +#define T_cd 2 + { "cd", "clear to bottom" }, +#define T_ce 3 + { "ce", "clear to end of line" }, +#define T_ch 4 + { "ch", "cursor to horiz pos" }, +#define T_cl 5 + { "cl", "clear screen" }, +#define T_dc 6 + { "dc", "delete a character" }, +#define T_dl 7 + { "dl", "delete a line" }, +#define T_dm 8 + { "dm", "start delete mode" }, +#define T_ed 9 + { "ed", "end delete mode" }, +#define T_ei 10 + { "ei", "end insert mode" }, +#define T_fs 11 + { "fs", "cursor from status line" }, +#define T_ho 12 + { "ho", "home cursor" }, +#define T_ic 13 + { "ic", "insert character" }, +#define T_im 14 + { "im", "start insert mode" }, +#define T_ip 15 + { "ip", "insert padding" }, +#define T_kd 16 + { "kd", "sends cursor down" }, +#define T_kl 17 + { "kl", "sends cursor left" }, +#define T_kr 18 + { "kr", "sends cursor right" }, +#define T_ku 19 + { "ku", "sends cursor up" }, +#define T_md 20 + { "md", "begin bold" }, +#define T_me 21 + { "me", "end attributes" }, +#define T_nd 22 + { "nd", "non destructive space" }, +#define T_se 23 + { "se", "end standout" }, +#define T_so 24 + { "so", "begin standout" }, +#define T_ts 25 + { "ts", "cursor to status line" }, +#define T_up 26 + { "up", "cursor up one" }, +#define T_us 27 + { "us", "begin underline" }, +#define T_ue 28 + { "ue", "end underline" }, +#define T_vb 29 + { "vb", "visible bell" }, +#define T_DC 30 + { "DC", "delete multiple chars" }, +#define T_DO 31 + { "DO", "cursor down multiple" }, +#define T_IC 32 + { "IC", "insert multiple chars" }, +#define T_LE 33 + { "LE", "cursor left multiple" }, +#define T_RI 34 + { "RI", "cursor right multiple" }, +#define T_UP 35 + { "UP", "cursor up multiple" }, +#define T_kh 36 + { "kh", "send cursor home" }, +#define T_at7 37 + { "@7", "send cursor end" }, +#define T_kD 38 + { "kD", "send cursor delete" }, +#define T_str 39 + { NULL, NULL } +}; + +static const struct termcapval { + const char *name; + const char *long_name; +} tval[] = { +#define T_am 0 + { "am", "has automatic margins" }, +#define T_pt 1 + { "pt", "has physical tabs" }, +#define T_li 2 + { "li", "Number of lines" }, +#define T_co 3 + { "co", "Number of columns" }, +#define T_km 4 + { "km", "Has meta key" }, +#define T_xt 5 + { "xt", "Tab chars destructive" }, +#define T_xn 6 + { "xn", "newline ignored at right margin" }, +#define T_MT 7 + { "MT", "Has meta key" }, /* XXX? */ +#define T_val 8 + { NULL, NULL, } +}; +/* do two or more of the attributes use me */ + +static void terminal_setflags(EditLine *); +static int terminal_rebuffer_display(EditLine *); +static void terminal_free_display(EditLine *); +static int terminal_alloc_display(EditLine *); +static void terminal_alloc(EditLine *, const struct termcapstr *, + const char *); +static void terminal_init_arrow(EditLine *); +static void terminal_reset_arrow(EditLine *); +static int terminal_putc(int); +static void terminal_tputs(EditLine *, const char *, int); + +#ifdef _REENTRANT +static pthread_mutex_t terminal_mutex = PTHREAD_MUTEX_INITIALIZER; +#endif +static FILE *terminal_outfile = NULL; + + +/* terminal_setflags(): + * Set the terminal capability flags + */ +static void +terminal_setflags(EditLine *el) +{ + EL_FLAGS = 0; + if (el->el_tty.t_tabs) + EL_FLAGS |= (Val(T_pt) && !Val(T_xt)) ? TERM_CAN_TAB : 0; + + EL_FLAGS |= (Val(T_km) || Val(T_MT)) ? TERM_HAS_META : 0; + EL_FLAGS |= GoodStr(T_ce) ? TERM_CAN_CEOL : 0; + EL_FLAGS |= (GoodStr(T_dc) || GoodStr(T_DC)) ? TERM_CAN_DELETE : 0; + EL_FLAGS |= (GoodStr(T_im) || GoodStr(T_ic) || GoodStr(T_IC)) ? + TERM_CAN_INSERT : 0; + EL_FLAGS |= (GoodStr(T_up) || GoodStr(T_UP)) ? TERM_CAN_UP : 0; + EL_FLAGS |= Val(T_am) ? TERM_HAS_AUTO_MARGINS : 0; + EL_FLAGS |= Val(T_xn) ? TERM_HAS_MAGIC_MARGINS : 0; + + if (GoodStr(T_me) && GoodStr(T_ue)) + EL_FLAGS |= (strcmp(Str(T_me), Str(T_ue)) == 0) ? + TERM_CAN_ME : 0; + else + EL_FLAGS &= ~TERM_CAN_ME; + if (GoodStr(T_me) && GoodStr(T_se)) + EL_FLAGS |= (strcmp(Str(T_me), Str(T_se)) == 0) ? + TERM_CAN_ME : 0; + + +#ifdef DEBUG_SCREEN + if (!EL_CAN_UP) { + (void) fprintf(el->el_errfile, + "WARNING: Your terminal cannot move up.\n"); + (void) fprintf(el->el_errfile, + "Editing may be odd for long lines.\n"); + } + if (!EL_CAN_CEOL) + (void) fprintf(el->el_errfile, "no clear EOL capability.\n"); + if (!EL_CAN_DELETE) + (void) fprintf(el->el_errfile, "no delete char capability.\n"); + if (!EL_CAN_INSERT) + (void) fprintf(el->el_errfile, "no insert char capability.\n"); +#endif /* DEBUG_SCREEN */ +} + +/* terminal_init(): + * Initialize the terminal stuff + */ +libedit_private int +terminal_init(EditLine *el) +{ + + el->el_terminal.t_buf = el_calloc(TC_BUFSIZE, + sizeof(*el->el_terminal.t_buf)); + if (el->el_terminal.t_buf == NULL) + goto fail1; + el->el_terminal.t_cap = el_calloc(TC_BUFSIZE, + sizeof(*el->el_terminal.t_cap)); + if (el->el_terminal.t_cap == NULL) + goto fail2; + el->el_terminal.t_fkey = el_calloc(A_K_NKEYS, + sizeof(*el->el_terminal.t_fkey)); + if (el->el_terminal.t_fkey == NULL) + goto fail3; + el->el_terminal.t_loc = 0; + el->el_terminal.t_str = el_calloc(T_str, + sizeof(*el->el_terminal.t_str)); + if (el->el_terminal.t_str == NULL) + goto fail4; + el->el_terminal.t_val = el_calloc(T_val, + sizeof(*el->el_terminal.t_val)); + if (el->el_terminal.t_val == NULL) + goto fail5; + (void) terminal_set(el, NULL); + terminal_init_arrow(el); + return 0; +fail5: + free(el->el_terminal.t_str); + el->el_terminal.t_str = NULL; +fail4: + free(el->el_terminal.t_fkey); + el->el_terminal.t_fkey = NULL; +fail3: + free(el->el_terminal.t_cap); + el->el_terminal.t_cap = NULL; +fail2: + free(el->el_terminal.t_buf); + el->el_terminal.t_buf = NULL; +fail1: + return -1; +} + +/* terminal_end(): + * Clean up the terminal stuff + */ +libedit_private void +terminal_end(EditLine *el) +{ + + el_free(el->el_terminal.t_buf); + el->el_terminal.t_buf = NULL; + el_free(el->el_terminal.t_cap); + el->el_terminal.t_cap = NULL; + el->el_terminal.t_loc = 0; + el_free(el->el_terminal.t_str); + el->el_terminal.t_str = NULL; + el_free(el->el_terminal.t_val); + el->el_terminal.t_val = NULL; + el_free(el->el_terminal.t_fkey); + el->el_terminal.t_fkey = NULL; + terminal_free_display(el); +} + + +/* terminal_alloc(): + * Maintain a string pool for termcap strings + */ +static void +terminal_alloc(EditLine *el, const struct termcapstr *t, const char *cap) +{ + char termbuf[TC_BUFSIZE]; + size_t tlen, clen; + char **tlist = el->el_terminal.t_str; + char **tmp, **str = &tlist[t - tstr]; + + (void) memset(termbuf, 0, sizeof(termbuf)); + if (cap == NULL || *cap == '\0') { + *str = NULL; + return; + } else + clen = strlen(cap); + + tlen = *str == NULL ? 0 : strlen(*str); + + /* + * New string is shorter; no need to allocate space + */ + if (clen <= tlen) { + if (*str) + (void) strcpy(*str, cap); /* XXX strcpy is safe */ + return; + } + /* + * New string is longer; see if we have enough space to append + */ + if (el->el_terminal.t_loc + 3 < TC_BUFSIZE) { + /* XXX strcpy is safe */ + (void) strcpy(*str = &el->el_terminal.t_buf[ + el->el_terminal.t_loc], cap); + el->el_terminal.t_loc += clen + 1; /* one for \0 */ + return; + } + /* + * Compact our buffer; no need to check compaction, cause we know it + * fits... + */ + tlen = 0; + for (tmp = tlist; tmp < &tlist[T_str]; tmp++) + if (*tmp != NULL && **tmp != '\0' && *tmp != *str) { + char *ptr; + + for (ptr = *tmp; *ptr != '\0'; termbuf[tlen++] = *ptr++) + continue; + termbuf[tlen++] = '\0'; + } + memcpy(el->el_terminal.t_buf, termbuf, TC_BUFSIZE); + el->el_terminal.t_loc = tlen; + if (el->el_terminal.t_loc + 3 >= TC_BUFSIZE) { + (void) fprintf(el->el_errfile, + "Out of termcap string space.\n"); + return; + } + /* XXX strcpy is safe */ + (void) strcpy(*str = &el->el_terminal.t_buf[el->el_terminal.t_loc], + cap); + el->el_terminal.t_loc += (size_t)clen + 1; /* one for \0 */ + return; +} + + +/* terminal_rebuffer_display(): + * Rebuffer the display after the screen changed size + */ +static int +terminal_rebuffer_display(EditLine *el) +{ + coord_t *c = &el->el_terminal.t_size; + + terminal_free_display(el); + + c->h = Val(T_co); + c->v = Val(T_li); + + if (terminal_alloc_display(el) == -1) + return -1; + return 0; +} + +static wint_t ** +terminal_alloc_buffer(EditLine *el) +{ + wint_t **b; + coord_t *c = &el->el_terminal.t_size; + int i; + + b = el_calloc((size_t)(c->v + 1), sizeof(*b)); + if (b == NULL) + return NULL; + for (i = 0; i < c->v; i++) { + b[i] = el_calloc((size_t)(c->h + 1), sizeof(**b)); + if (b[i] == NULL) { + while (--i >= 0) + el_free(b[i]); + el_free(b); + return NULL; + } + } + b[c->v] = NULL; + return b; +} + +static void +terminal_free_buffer(wint_t ***bp) +{ + wint_t **b; + wint_t **bufp; + + if (*bp == NULL) + return; + + b = *bp; + *bp = NULL; + + for (bufp = b; *bufp != NULL; bufp++) + el_free(*bufp); + el_free(b); +} + +/* terminal_alloc_display(): + * Allocate a new display. + */ +static int +terminal_alloc_display(EditLine *el) +{ + el->el_display = terminal_alloc_buffer(el); + if (el->el_display == NULL) + goto done; + el->el_vdisplay = terminal_alloc_buffer(el); + if (el->el_vdisplay == NULL) + goto done; + return 0; +done: + terminal_free_display(el); + return -1; +} + + +/* terminal_free_display(): + * Free the display buffers + */ +static void +terminal_free_display(EditLine *el) +{ + terminal_free_buffer(&el->el_display); + terminal_free_buffer(&el->el_vdisplay); +} + + +/* terminal_move_to_line(): + * move to line (first line == 0) + * as efficiently as possible + */ +libedit_private void +terminal_move_to_line(EditLine *el, int where) +{ + int del; + + if (where == el->el_cursor.v) + return; + + if (where >= el->el_terminal.t_size.v) { +#ifdef DEBUG_SCREEN + (void) fprintf(el->el_errfile, + "%s: where is ridiculous: %d\r\n", __func__, where); +#endif /* DEBUG_SCREEN */ + return; + } + if ((del = where - el->el_cursor.v) > 0) { + /* + * We don't use DO here because some terminals are buggy + * if the destination is beyond bottom of the screen. + */ + for (; del > 0; del--) + terminal__putc(el, '\n'); + /* because the \n will become \r\n */ + el->el_cursor.h = 0; + } else { /* del < 0 */ + if (GoodStr(T_UP) && (-del > 1 || !GoodStr(T_up))) + terminal_tputs(el, tgoto(Str(T_UP), -del, -del), -del); + else { + if (GoodStr(T_up)) + for (; del < 0; del++) + terminal_tputs(el, Str(T_up), 1); + } + } + el->el_cursor.v = where;/* now where is here */ +} + + +/* terminal_move_to_char(): + * Move to the character position specified + */ +libedit_private void +terminal_move_to_char(EditLine *el, int where) +{ + int del, i; + +mc_again: + if (where == el->el_cursor.h) + return; + + if (where > el->el_terminal.t_size.h) { +#ifdef DEBUG_SCREEN + (void) fprintf(el->el_errfile, + "%s: where is ridiculous: %d\r\n", __func__, where); +#endif /* DEBUG_SCREEN */ + return; + } + if (!where) { /* if where is first column */ + terminal__putc(el, '\r'); /* do a CR */ + el->el_cursor.h = 0; + return; + } + del = where - el->el_cursor.h; + + if ((del < -4 || del > 4) && GoodStr(T_ch)) + /* go there directly */ + terminal_tputs(el, tgoto(Str(T_ch), where, where), where); + else { + if (del > 0) { /* moving forward */ + if ((del > 4) && GoodStr(T_RI)) + terminal_tputs(el, tgoto(Str(T_RI), del, del), + del); + else { + /* if I can do tabs, use them */ + if (EL_CAN_TAB) { + if ((el->el_cursor.h & 0370) != + (where & ~0x7) + && (el->el_display[ + el->el_cursor.v][where & 0370] != + MB_FILL_CHAR) + ) { + /* if not within tab stop */ + for (i = + (el->el_cursor.h & 0370); + i < (where & ~0x7); + i += 8) + terminal__putc(el, + '\t'); + /* then tab over */ + el->el_cursor.h = where & ~0x7; + } + } + /* + * it's usually cheaper to just write the + * chars, so we do. + */ + /* + * NOTE THAT terminal_overwrite() WILL CHANGE + * el->el_cursor.h!!! + */ + terminal_overwrite(el, &el->el_display[ + el->el_cursor.v][el->el_cursor.h], + (size_t)(where - el->el_cursor.h)); + + } + } else { /* del < 0 := moving backward */ + if ((-del > 4) && GoodStr(T_LE)) + terminal_tputs(el, tgoto(Str(T_LE), -del, -del), + -del); + else { /* can't go directly there */ + /* + * if the "cost" is greater than the "cost" + * from col 0 + */ + if (EL_CAN_TAB ? + ((unsigned int)-del > + (((unsigned int) where >> 3) + + (where & 07))) + : (-del > where)) { + terminal__putc(el, '\r');/* do a CR */ + el->el_cursor.h = 0; + goto mc_again; /* and try again */ + } + for (i = 0; i < -del; i++) + terminal__putc(el, '\b'); + } + } + } + el->el_cursor.h = where; /* now where is here */ +} + + +/* terminal_overwrite(): + * Overstrike num characters + * Assumes MB_FILL_CHARs are present to keep the column count correct + */ +libedit_private void +terminal_overwrite(EditLine *el, const wchar_t *cp, size_t n) +{ + if (n == 0) + return; + + if (n > (size_t)el->el_terminal.t_size.h) { +#ifdef DEBUG_SCREEN + (void) fprintf(el->el_errfile, + "%s: n is ridiculous: %zu\r\n", __func__, n); +#endif /* DEBUG_SCREEN */ + return; + } + + do { + /* terminal__putc() ignores any MB_FILL_CHARs */ + terminal__putc(el, *cp++); + el->el_cursor.h++; + } while (--n); + + if (el->el_cursor.h >= el->el_terminal.t_size.h) { /* wrap? */ + if (EL_HAS_AUTO_MARGINS) { /* yes */ + el->el_cursor.h = 0; + if (el->el_cursor.v + 1 < el->el_terminal.t_size.v) + el->el_cursor.v++; + if (EL_HAS_MAGIC_MARGINS) { + /* force the wrap to avoid the "magic" + * situation */ + wchar_t c; + if ((c = el->el_display[el->el_cursor.v] + [el->el_cursor.h]) != '\0') { + terminal_overwrite(el, &c, (size_t)1); + while (el->el_display[el->el_cursor.v] + [el->el_cursor.h] == MB_FILL_CHAR) + el->el_cursor.h++; + } else { + terminal__putc(el, ' '); + el->el_cursor.h = 1; + } + } + } else /* no wrap, but cursor stays on screen */ + el->el_cursor.h = el->el_terminal.t_size.h - 1; + } +} + + +/* terminal_deletechars(): + * Delete num characters + */ +libedit_private void +terminal_deletechars(EditLine *el, int num) +{ + if (num <= 0) + return; + + if (!EL_CAN_DELETE) { +#ifdef DEBUG_EDIT + (void) fprintf(el->el_errfile, " ERROR: cannot delete \n"); +#endif /* DEBUG_EDIT */ + return; + } + if (num > el->el_terminal.t_size.h) { +#ifdef DEBUG_SCREEN + (void) fprintf(el->el_errfile, + "%s: num is ridiculous: %d\r\n", __func__, num); +#endif /* DEBUG_SCREEN */ + return; + } + if (GoodStr(T_DC)) /* if I have multiple delete */ + if ((num > 1) || !GoodStr(T_dc)) { /* if dc would be more + * expen. */ + terminal_tputs(el, tgoto(Str(T_DC), num, num), num); + return; + } + if (GoodStr(T_dm)) /* if I have delete mode */ + terminal_tputs(el, Str(T_dm), 1); + + if (GoodStr(T_dc)) /* else do one at a time */ + while (num--) + terminal_tputs(el, Str(T_dc), 1); + + if (GoodStr(T_ed)) /* if I have delete mode */ + terminal_tputs(el, Str(T_ed), 1); +} + + +/* terminal_insertwrite(): + * Puts terminal in insert character mode or inserts num + * characters in the line + * Assumes MB_FILL_CHARs are present to keep column count correct + */ +libedit_private void +terminal_insertwrite(EditLine *el, wchar_t *cp, int num) +{ + if (num <= 0) + return; + if (!EL_CAN_INSERT) { +#ifdef DEBUG_EDIT + (void) fprintf(el->el_errfile, " ERROR: cannot insert \n"); +#endif /* DEBUG_EDIT */ + return; + } + if (num > el->el_terminal.t_size.h) { +#ifdef DEBUG_SCREEN + (void) fprintf(el->el_errfile, + "%s: num is ridiculous: %d\r\n", __func__, num); +#endif /* DEBUG_SCREEN */ + return; + } + if (GoodStr(T_IC)) /* if I have multiple insert */ + if ((num > 1) || !GoodStr(T_ic)) { + /* if ic would be more expensive */ + terminal_tputs(el, tgoto(Str(T_IC), num, num), num); + terminal_overwrite(el, cp, (size_t)num); + /* this updates el_cursor.h */ + return; + } + if (GoodStr(T_im) && GoodStr(T_ei)) { /* if I have insert mode */ + terminal_tputs(el, Str(T_im), 1); + + el->el_cursor.h += num; + do + terminal__putc(el, *cp++); + while (--num); + + if (GoodStr(T_ip)) /* have to make num chars insert */ + terminal_tputs(el, Str(T_ip), 1); + + terminal_tputs(el, Str(T_ei), 1); + return; + } + do { + if (GoodStr(T_ic)) /* have to make num chars insert */ + terminal_tputs(el, Str(T_ic), 1); + + terminal__putc(el, *cp++); + + el->el_cursor.h++; + + if (GoodStr(T_ip)) /* have to make num chars insert */ + terminal_tputs(el, Str(T_ip), 1); + /* pad the inserted char */ + + } while (--num); +} + + +/* terminal_clear_EOL(): + * clear to end of line. There are num characters to clear + */ +libedit_private void +terminal_clear_EOL(EditLine *el, int num) +{ + int i; + + if (EL_CAN_CEOL && GoodStr(T_ce)) + terminal_tputs(el, Str(T_ce), 1); + else { + for (i = 0; i < num; i++) + terminal__putc(el, ' '); + el->el_cursor.h += num; /* have written num spaces */ + } +} + + +/* terminal_clear_screen(): + * Clear the screen + */ +libedit_private void +terminal_clear_screen(EditLine *el) +{ /* clear the whole screen and home */ + + if (GoodStr(T_cl)) + /* send the clear screen code */ + terminal_tputs(el, Str(T_cl), Val(T_li)); + else if (GoodStr(T_ho) && GoodStr(T_cd)) { + terminal_tputs(el, Str(T_ho), Val(T_li)); /* home */ + /* clear to bottom of screen */ + terminal_tputs(el, Str(T_cd), Val(T_li)); + } else { + terminal__putc(el, '\r'); + terminal__putc(el, '\n'); + } +} + + +/* terminal_beep(): + * Beep the way the terminal wants us + */ +libedit_private void +terminal_beep(EditLine *el) +{ + if (GoodStr(T_bl)) + /* what termcap says we should use */ + terminal_tputs(el, Str(T_bl), 1); + else + terminal__putc(el, '\007'); /* an ASCII bell; ^G */ +} + + +libedit_private void +terminal_get(EditLine *el, const char **term) +{ + *term = el->el_terminal.t_name; +} + + +/* terminal_set(): + * Read in the terminal capabilities from the requested terminal + */ +libedit_private int +terminal_set(EditLine *el, const char *term) +{ + int i; + char buf[TC_BUFSIZE]; + char *area; + const struct termcapstr *t; + sigset_t oset, nset; + int lins, cols; + + (void) sigemptyset(&nset); + (void) sigaddset(&nset, SIGWINCH); + (void) sigprocmask(SIG_BLOCK, &nset, &oset); + + area = buf; + + + if (term == NULL) + term = getenv("TERM"); + + if (!term || !term[0]) + term = "dumb"; + + if (strcmp(term, "emacs") == 0) + el->el_flags |= EDIT_DISABLED; + + (void) memset(el->el_terminal.t_cap, 0, TC_BUFSIZE); + + i = tgetent(el->el_terminal.t_cap, term); + + if (i <= 0) { + if (i == -1) + (void) fprintf(el->el_errfile, + "Cannot read termcap database;\n"); + else if (i == 0) + (void) fprintf(el->el_errfile, + "No entry for terminal type \"%s\";\n", term); + (void) fprintf(el->el_errfile, + "using dumb terminal settings.\n"); + Val(T_co) = 80; /* do a dumb terminal */ + Val(T_pt) = Val(T_km) = Val(T_li) = 0; + Val(T_xt) = Val(T_MT); + for (t = tstr; t->name != NULL; t++) + terminal_alloc(el, t, NULL); + } else { + /* auto/magic margins */ + Val(T_am) = tgetflag("am"); + Val(T_xn) = tgetflag("xn"); + /* Can we tab */ + Val(T_pt) = tgetflag("pt"); + Val(T_xt) = tgetflag("xt"); + /* do we have a meta? */ + Val(T_km) = tgetflag("km"); + Val(T_MT) = tgetflag("MT"); + /* Get the size */ + Val(T_co) = tgetnum("co"); + Val(T_li) = tgetnum("li"); + for (t = tstr; t->name != NULL; t++) { + /* XXX: some systems' tgetstr needs non const */ + terminal_alloc(el, t, tgetstr(strchr(t->name, *t->name), + &area)); + } + } + + if (Val(T_co) < 2) + Val(T_co) = 80; /* just in case */ + if (Val(T_li) < 1) + Val(T_li) = 24; + + el->el_terminal.t_size.v = Val(T_co); + el->el_terminal.t_size.h = Val(T_li); + + terminal_setflags(el); + + /* get the correct window size */ + (void) terminal_get_size(el, &lins, &cols); + if (terminal_change_size(el, lins, cols) == -1) + return -1; + (void) sigprocmask(SIG_SETMASK, &oset, NULL); + terminal_bind_arrow(el); + el->el_terminal.t_name = term; + return i <= 0 ? -1 : 0; +} + + +/* terminal_get_size(): + * Return the new window size in lines and cols, and + * true if the size was changed. + */ +libedit_private int +terminal_get_size(EditLine *el, int *lins, int *cols) +{ + + *cols = Val(T_co); + *lins = Val(T_li); + +#ifdef TIOCGWINSZ + { + struct winsize ws; + if (ioctl(el->el_infd, TIOCGWINSZ, &ws) != -1) { + if (ws.ws_col) + *cols = ws.ws_col; + if (ws.ws_row) + *lins = ws.ws_row; + } + } +#endif +#ifdef TIOCGSIZE + { + struct ttysize ts; + if (ioctl(el->el_infd, TIOCGSIZE, &ts) != -1) { + if (ts.ts_cols) + *cols = ts.ts_cols; + if (ts.ts_lines) + *lins = ts.ts_lines; + } + } +#endif + return Val(T_co) != *cols || Val(T_li) != *lins; +} + + +/* terminal_change_size(): + * Change the size of the terminal + */ +libedit_private int +terminal_change_size(EditLine *el, int lins, int cols) +{ + coord_t cur = el->el_cursor; + /* + * Just in case + */ + Val(T_co) = (cols < 2) ? 80 : cols; + Val(T_li) = (lins < 1) ? 24 : lins; + + /* re-make display buffers */ + if (terminal_rebuffer_display(el) == -1) + return -1; + re_clear_display(el); + el->el_cursor = cur; + return 0; +} + + +/* terminal_init_arrow(): + * Initialize the arrow key bindings from termcap + */ +static void +terminal_init_arrow(EditLine *el) +{ + funckey_t *arrow = el->el_terminal.t_fkey; + + arrow[A_K_DN].name = L"down"; + arrow[A_K_DN].key = T_kd; + arrow[A_K_DN].fun.cmd = ED_NEXT_HISTORY; + arrow[A_K_DN].type = XK_CMD; + + arrow[A_K_UP].name = L"up"; + arrow[A_K_UP].key = T_ku; + arrow[A_K_UP].fun.cmd = ED_PREV_HISTORY; + arrow[A_K_UP].type = XK_CMD; + + arrow[A_K_LT].name = L"left"; + arrow[A_K_LT].key = T_kl; + arrow[A_K_LT].fun.cmd = ED_PREV_CHAR; + arrow[A_K_LT].type = XK_CMD; + + arrow[A_K_RT].name = L"right"; + arrow[A_K_RT].key = T_kr; + arrow[A_K_RT].fun.cmd = ED_NEXT_CHAR; + arrow[A_K_RT].type = XK_CMD; + + arrow[A_K_HO].name = L"home"; + arrow[A_K_HO].key = T_kh; + arrow[A_K_HO].fun.cmd = ED_MOVE_TO_BEG; + arrow[A_K_HO].type = XK_CMD; + + arrow[A_K_EN].name = L"end"; + arrow[A_K_EN].key = T_at7; + arrow[A_K_EN].fun.cmd = ED_MOVE_TO_END; + arrow[A_K_EN].type = XK_CMD; + + arrow[A_K_DE].name = L"delete"; + arrow[A_K_DE].key = T_kD; + arrow[A_K_DE].fun.cmd = ED_DELETE_NEXT_CHAR; + arrow[A_K_DE].type = XK_CMD; +} + + +/* terminal_reset_arrow(): + * Reset arrow key bindings + */ +static void +terminal_reset_arrow(EditLine *el) +{ + funckey_t *arrow = el->el_terminal.t_fkey; + static const wchar_t strA[] = L"\033[A"; + static const wchar_t strB[] = L"\033[B"; + static const wchar_t strC[] = L"\033[C"; + static const wchar_t strD[] = L"\033[D"; + static const wchar_t strH[] = L"\033[H"; + static const wchar_t strF[] = L"\033[F"; + static const wchar_t stOA[] = L"\033OA"; + static const wchar_t stOB[] = L"\033OB"; + static const wchar_t stOC[] = L"\033OC"; + static const wchar_t stOD[] = L"\033OD"; + static const wchar_t stOH[] = L"\033OH"; + static const wchar_t stOF[] = L"\033OF"; + + keymacro_add(el, strA, &arrow[A_K_UP].fun, arrow[A_K_UP].type); + keymacro_add(el, strB, &arrow[A_K_DN].fun, arrow[A_K_DN].type); + keymacro_add(el, strC, &arrow[A_K_RT].fun, arrow[A_K_RT].type); + keymacro_add(el, strD, &arrow[A_K_LT].fun, arrow[A_K_LT].type); + keymacro_add(el, strH, &arrow[A_K_HO].fun, arrow[A_K_HO].type); + keymacro_add(el, strF, &arrow[A_K_EN].fun, arrow[A_K_EN].type); + keymacro_add(el, stOA, &arrow[A_K_UP].fun, arrow[A_K_UP].type); + keymacro_add(el, stOB, &arrow[A_K_DN].fun, arrow[A_K_DN].type); + keymacro_add(el, stOC, &arrow[A_K_RT].fun, arrow[A_K_RT].type); + keymacro_add(el, stOD, &arrow[A_K_LT].fun, arrow[A_K_LT].type); + keymacro_add(el, stOH, &arrow[A_K_HO].fun, arrow[A_K_HO].type); + keymacro_add(el, stOF, &arrow[A_K_EN].fun, arrow[A_K_EN].type); + + if (el->el_map.type != MAP_VI) + return; + keymacro_add(el, &strA[1], &arrow[A_K_UP].fun, arrow[A_K_UP].type); + keymacro_add(el, &strB[1], &arrow[A_K_DN].fun, arrow[A_K_DN].type); + keymacro_add(el, &strC[1], &arrow[A_K_RT].fun, arrow[A_K_RT].type); + keymacro_add(el, &strD[1], &arrow[A_K_LT].fun, arrow[A_K_LT].type); + keymacro_add(el, &strH[1], &arrow[A_K_HO].fun, arrow[A_K_HO].type); + keymacro_add(el, &strF[1], &arrow[A_K_EN].fun, arrow[A_K_EN].type); + keymacro_add(el, &stOA[1], &arrow[A_K_UP].fun, arrow[A_K_UP].type); + keymacro_add(el, &stOB[1], &arrow[A_K_DN].fun, arrow[A_K_DN].type); + keymacro_add(el, &stOC[1], &arrow[A_K_RT].fun, arrow[A_K_RT].type); + keymacro_add(el, &stOD[1], &arrow[A_K_LT].fun, arrow[A_K_LT].type); + keymacro_add(el, &stOH[1], &arrow[A_K_HO].fun, arrow[A_K_HO].type); + keymacro_add(el, &stOF[1], &arrow[A_K_EN].fun, arrow[A_K_EN].type); +} + + +/* terminal_set_arrow(): + * Set an arrow key binding + */ +libedit_private int +terminal_set_arrow(EditLine *el, const wchar_t *name, keymacro_value_t *fun, + int type) +{ + funckey_t *arrow = el->el_terminal.t_fkey; + int i; + + for (i = 0; i < A_K_NKEYS; i++) + if (wcscmp(name, arrow[i].name) == 0) { + arrow[i].fun = *fun; + arrow[i].type = type; + return 0; + } + return -1; +} + + +/* terminal_clear_arrow(): + * Clear an arrow key binding + */ +libedit_private int +terminal_clear_arrow(EditLine *el, const wchar_t *name) +{ + funckey_t *arrow = el->el_terminal.t_fkey; + int i; + + for (i = 0; i < A_K_NKEYS; i++) + if (wcscmp(name, arrow[i].name) == 0) { + arrow[i].type = XK_NOD; + return 0; + } + return -1; +} + + +/* terminal_print_arrow(): + * Print the arrow key bindings + */ +libedit_private void +terminal_print_arrow(EditLine *el, const wchar_t *name) +{ + int i; + funckey_t *arrow = el->el_terminal.t_fkey; + + for (i = 0; i < A_K_NKEYS; i++) + if (*name == '\0' || wcscmp(name, arrow[i].name) == 0) + if (arrow[i].type != XK_NOD) + keymacro_kprint(el, arrow[i].name, + &arrow[i].fun, arrow[i].type); +} + + +/* terminal_bind_arrow(): + * Bind the arrow keys + */ +libedit_private void +terminal_bind_arrow(EditLine *el) +{ + el_action_t *map; + const el_action_t *dmap; + int i, j; + char *p; + funckey_t *arrow = el->el_terminal.t_fkey; + + /* Check if the components needed are initialized */ + if (el->el_terminal.t_buf == NULL || el->el_map.key == NULL) + return; + + map = el->el_map.type == MAP_VI ? el->el_map.alt : el->el_map.key; + dmap = el->el_map.type == MAP_VI ? el->el_map.vic : el->el_map.emacs; + + terminal_reset_arrow(el); + + for (i = 0; i < A_K_NKEYS; i++) { + wchar_t wt_str[VISUAL_WIDTH_MAX]; + wchar_t *px; + size_t n; + + p = el->el_terminal.t_str[arrow[i].key]; + if (!p || !*p) + continue; + for (n = 0; n < VISUAL_WIDTH_MAX && p[n]; ++n) + wt_str[n] = p[n]; + while (n < VISUAL_WIDTH_MAX) + wt_str[n++] = '\0'; + px = wt_str; + j = (unsigned char) *p; + /* + * Assign the arrow keys only if: + * + * 1. They are multi-character arrow keys and the user + * has not re-assigned the leading character, or + * has re-assigned the leading character to be + * ED_SEQUENCE_LEAD_IN + * 2. They are single arrow keys pointing to an + * unassigned key. + */ + if (arrow[i].type == XK_NOD) + keymacro_clear(el, map, px); + else { + if (p[1] && (dmap[j] == map[j] || + map[j] == ED_SEQUENCE_LEAD_IN)) { + keymacro_add(el, px, &arrow[i].fun, + arrow[i].type); + map[j] = ED_SEQUENCE_LEAD_IN; + } else if (map[j] == ED_UNASSIGNED) { + keymacro_clear(el, map, px); + if (arrow[i].type == XK_CMD) + map[j] = arrow[i].fun.cmd; + else + keymacro_add(el, px, &arrow[i].fun, + arrow[i].type); + } + } + } +} + +/* terminal_putc(): + * Add a character + */ +static int +terminal_putc(int c) +{ + if (terminal_outfile == NULL) + return -1; + return fputc(c, terminal_outfile); +} + +static void +terminal_tputs(EditLine *el, const char *cap, int affcnt) +{ +#ifdef _REENTRANT + pthread_mutex_lock(&terminal_mutex); +#endif + terminal_outfile = el->el_outfile; + (void)tputs(cap, affcnt, terminal_putc); +#ifdef _REENTRANT + pthread_mutex_unlock(&terminal_mutex); +#endif +} + +/* terminal__putc(): + * Add a character + */ +libedit_private int +terminal__putc(EditLine *el, wint_t c) +{ + char buf[MB_LEN_MAX +1]; + ssize_t i; + if (c == MB_FILL_CHAR) + return 0; + if (c & EL_LITERAL) + return fputs(literal_get(el, c), el->el_outfile); + i = ct_encode_char(buf, (size_t)MB_LEN_MAX, c); + if (i <= 0) + return (int)i; + buf[i] = '\0'; + return fputs(buf, el->el_outfile); +} + +/* terminal__flush(): + * Flush output + */ +libedit_private void +terminal__flush(EditLine *el) +{ + + (void) fflush(el->el_outfile); +} + +/* terminal_writec(): + * Write the given character out, in a human readable form + */ +libedit_private void +terminal_writec(EditLine *el, wint_t c) +{ + wchar_t visbuf[VISUAL_WIDTH_MAX +1]; + ssize_t vcnt = ct_visual_char(visbuf, VISUAL_WIDTH_MAX, c); + if (vcnt < 0) + vcnt = 0; + visbuf[vcnt] = '\0'; + terminal_overwrite(el, visbuf, (size_t)vcnt); + terminal__flush(el); +} + + +/* terminal_telltc(): + * Print the current termcap characteristics + */ +libedit_private int +/*ARGSUSED*/ +terminal_telltc(EditLine *el, int argc __attribute__((__unused__)), + const wchar_t **argv __attribute__((__unused__))) +{ + const struct termcapstr *t; + char **ts; + + (void) fprintf(el->el_outfile, "\n\tYour terminal has the\n"); + (void) fprintf(el->el_outfile, "\tfollowing characteristics:\n\n"); + (void) fprintf(el->el_outfile, "\tIt has %d columns and %d lines\n", + Val(T_co), Val(T_li)); + (void) fprintf(el->el_outfile, + "\tIt has %s meta key\n", EL_HAS_META ? "a" : "no"); + (void) fprintf(el->el_outfile, + "\tIt can%suse tabs\n", EL_CAN_TAB ? " " : "not "); + (void) fprintf(el->el_outfile, "\tIt %s automatic margins\n", + EL_HAS_AUTO_MARGINS ? "has" : "does not have"); + if (EL_HAS_AUTO_MARGINS) + (void) fprintf(el->el_outfile, "\tIt %s magic margins\n", + EL_HAS_MAGIC_MARGINS ? "has" : "does not have"); + + for (t = tstr, ts = el->el_terminal.t_str; t->name != NULL; t++, ts++) { + const char *ub; + if (*ts && **ts) { + ub = ct_encode_string(ct_visual_string( + ct_decode_string(*ts, &el->el_scratch), + &el->el_visual), &el->el_scratch); + } else { + ub = "(empty)"; + } + (void) fprintf(el->el_outfile, "\t%25s (%s) == %s\n", + t->long_name, t->name, ub); + } + (void) fputc('\n', el->el_outfile); + return 0; +} + + +/* terminal_settc(): + * Change the current terminal characteristics + */ +libedit_private int +/*ARGSUSED*/ +terminal_settc(EditLine *el, int argc __attribute__((__unused__)), + const wchar_t **argv) +{ + const struct termcapstr *ts; + const struct termcapval *tv; + char what[8], how[8]; + + if (argv == NULL || argv[1] == NULL || argv[2] == NULL) + return -1; + + strncpy(what, ct_encode_string(argv[1], &el->el_scratch), sizeof(what)); + what[sizeof(what) - 1] = '\0'; + strncpy(how, ct_encode_string(argv[2], &el->el_scratch), sizeof(how)); + how[sizeof(how) - 1] = '\0'; + + /* + * Do the strings first + */ + for (ts = tstr; ts->name != NULL; ts++) + if (strcmp(ts->name, what) == 0) + break; + + if (ts->name != NULL) { + terminal_alloc(el, ts, how); + terminal_setflags(el); + return 0; + } + /* + * Do the numeric ones second + */ + for (tv = tval; tv->name != NULL; tv++) + if (strcmp(tv->name, what) == 0) + break; + + if (tv->name != NULL) + return -1; + + if (tv == &tval[T_pt] || tv == &tval[T_km] || + tv == &tval[T_am] || tv == &tval[T_xn]) { + if (strcmp(how, "yes") == 0) + el->el_terminal.t_val[tv - tval] = 1; + else if (strcmp(how, "no") == 0) + el->el_terminal.t_val[tv - tval] = 0; + else { + (void) fprintf(el->el_errfile, + "%ls: Bad value `%s'.\n", argv[0], how); + return -1; + } + terminal_setflags(el); + if (terminal_change_size(el, Val(T_li), Val(T_co)) == -1) + return -1; + return 0; + } else { + long i; + char *ep; + + i = strtol(how, &ep, 10); + if (*ep != '\0') { + (void) fprintf(el->el_errfile, + "%ls: Bad value `%s'.\n", argv[0], how); + return -1; + } + el->el_terminal.t_val[tv - tval] = (int) i; + el->el_terminal.t_size.v = Val(T_co); + el->el_terminal.t_size.h = Val(T_li); + if (tv == &tval[T_co] || tv == &tval[T_li]) + if (terminal_change_size(el, Val(T_li), Val(T_co)) + == -1) + return -1; + return 0; + } +} + + +/* terminal_gettc(): + * Get the current terminal characteristics + */ +libedit_private int +/*ARGSUSED*/ +terminal_gettc(EditLine *el, int argc __attribute__((__unused__)), char **argv) +{ + const struct termcapstr *ts; + const struct termcapval *tv; + char *what; + void *how; + + if (argv == NULL || argv[1] == NULL || argv[2] == NULL) + return -1; + + what = argv[1]; + how = argv[2]; + + /* + * Do the strings first + */ + for (ts = tstr; ts->name != NULL; ts++) + if (strcmp(ts->name, what) == 0) + break; + + if (ts->name != NULL) { + *(char **)how = el->el_terminal.t_str[ts - tstr]; + return 0; + } + /* + * Do the numeric ones second + */ + for (tv = tval; tv->name != NULL; tv++) + if (strcmp(tv->name, what) == 0) + break; + + if (tv->name == NULL) + return -1; + + if (tv == &tval[T_pt] || tv == &tval[T_km] || + tv == &tval[T_am] || tv == &tval[T_xn]) { + static char yes[] = "yes"; + static char no[] = "no"; + if (el->el_terminal.t_val[tv - tval]) + *(char **)how = yes; + else + *(char **)how = no; + return 0; + } else { + *(int *)how = el->el_terminal.t_val[tv - tval]; + return 0; + } +} + +/* terminal_echotc(): + * Print the termcap string out with variable substitution + */ +libedit_private int +/*ARGSUSED*/ +terminal_echotc(EditLine *el, int argc __attribute__((__unused__)), + const wchar_t **argv) +{ + char *cap, *scap; + wchar_t *ep; + int arg_need, arg_cols, arg_rows; + int verbose = 0, silent = 0; + char *area; + static const char fmts[] = "%s\n", fmtd[] = "%d\n"; + const struct termcapstr *t; + char buf[TC_BUFSIZE]; + long i; + + area = buf; + + if (argv == NULL || argv[1] == NULL) + return -1; + argv++; + + if (argv[0][0] == '-') { + switch (argv[0][1]) { + case 'v': + verbose = 1; + break; + case 's': + silent = 1; + break; + default: + /* stderror(ERR_NAME | ERR_TCUSAGE); */ + break; + } + argv++; + } + if (!*argv || *argv[0] == '\0') + return 0; + if (wcscmp(*argv, L"tabs") == 0) { + (void) fprintf(el->el_outfile, fmts, EL_CAN_TAB ? "yes" : "no"); + return 0; + } else if (wcscmp(*argv, L"meta") == 0) { + (void) fprintf(el->el_outfile, fmts, Val(T_km) ? "yes" : "no"); + return 0; + } else if (wcscmp(*argv, L"xn") == 0) { + (void) fprintf(el->el_outfile, fmts, EL_HAS_MAGIC_MARGINS ? + "yes" : "no"); + return 0; + } else if (wcscmp(*argv, L"am") == 0) { + (void) fprintf(el->el_outfile, fmts, EL_HAS_AUTO_MARGINS ? + "yes" : "no"); + return 0; + } else if (wcscmp(*argv, L"baud") == 0) { + (void) fprintf(el->el_outfile, fmtd, (int)el->el_tty.t_speed); + return 0; + } else if (wcscmp(*argv, L"rows") == 0 || + wcscmp(*argv, L"lines") == 0) { + (void) fprintf(el->el_outfile, fmtd, Val(T_li)); + return 0; + } else if (wcscmp(*argv, L"cols") == 0) { + (void) fprintf(el->el_outfile, fmtd, Val(T_co)); + return 0; + } + /* + * Try to use our local definition first + */ + scap = NULL; + for (t = tstr; t->name != NULL; t++) + if (strcmp(t->name, + ct_encode_string(*argv, &el->el_scratch)) == 0) { + scap = el->el_terminal.t_str[t - tstr]; + break; + } + if (t->name == NULL) { + /* XXX: some systems' tgetstr needs non const */ + scap = tgetstr(ct_encode_string(*argv, &el->el_scratch), &area); + } + if (!scap || scap[0] == '\0') { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Termcap parameter `%ls' not found.\n", + *argv); + return -1; + } + /* + * Count home many values we need for this capability. + */ + for (cap = scap, arg_need = 0; *cap; cap++) + if (*cap == '%') + switch (*++cap) { + case 'd': + case '2': + case '3': + case '.': + case '+': + arg_need++; + break; + case '%': + case '>': + case 'i': + case 'r': + case 'n': + case 'B': + case 'D': + break; + default: + /* + * hpux has lot's of them... + */ + if (verbose) + (void) fprintf(el->el_errfile, + "echotc: Warning: unknown termcap %% `%c'.\n", + *cap); + /* This is bad, but I won't complain */ + break; + } + + switch (arg_need) { + case 0: + argv++; + if (*argv && *argv[0]) { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Warning: Extra argument `%ls'.\n", + *argv); + return -1; + } + terminal_tputs(el, scap, 1); + break; + case 1: + argv++; + if (!*argv || *argv[0] == '\0') { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Warning: Missing argument.\n"); + return -1; + } + arg_cols = 0; + i = wcstol(*argv, &ep, 10); + if (*ep != '\0' || i < 0) { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Bad value `%ls' for rows.\n", + *argv); + return -1; + } + arg_rows = (int) i; + argv++; + if (*argv && *argv[0]) { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Warning: Extra argument `%ls" + "'.\n", *argv); + return -1; + } + terminal_tputs(el, tgoto(scap, arg_cols, arg_rows), 1); + break; + default: + /* This is wrong, but I will ignore it... */ + if (verbose) + (void) fprintf(el->el_errfile, + "echotc: Warning: Too many required arguments (%d).\n", + arg_need); + /* FALLTHROUGH */ + case 2: + argv++; + if (!*argv || *argv[0] == '\0') { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Warning: Missing argument.\n"); + return -1; + } + i = wcstol(*argv, &ep, 10); + if (*ep != '\0' || i < 0) { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Bad value `%ls' for cols.\n", + *argv); + return -1; + } + arg_cols = (int) i; + argv++; + if (!*argv || *argv[0] == '\0') { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Warning: Missing argument.\n"); + return -1; + } + i = wcstol(*argv, &ep, 10); + if (*ep != '\0' || i < 0) { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Bad value `%ls' for rows.\n", + *argv); + return -1; + } + arg_rows = (int) i; + if (*ep != '\0') { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Bad value `%ls'.\n", *argv); + return -1; + } + argv++; + if (*argv && *argv[0]) { + if (!silent) + (void) fprintf(el->el_errfile, + "echotc: Warning: Extra argument `%ls" + "'.\n", *argv); + return -1; + } + terminal_tputs(el, tgoto(scap, arg_cols, arg_rows), arg_rows); + break; + } + return 0; +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/terminal.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/terminal.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/terminal.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/terminal.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,134 @@ +/* $NetBSD: terminal.h,v 1.9 2016/05/09 21:46:56 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)term.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.term.h: Termcap header + */ +#ifndef _h_el_terminal +#define _h_el_terminal + +typedef struct { /* Symbolic function key bindings */ + const wchar_t *name; /* name of the key */ + int key; /* Index in termcap table */ + keymacro_value_t fun; /* Function bound to it */ + int type; /* Type of function */ +} funckey_t; + +typedef struct { + const char *t_name; /* the terminal name */ + coord_t t_size; /* # lines and cols */ + int t_flags; +#define TERM_CAN_INSERT 0x001 /* Has insert cap */ +#define TERM_CAN_DELETE 0x002 /* Has delete cap */ +#define TERM_CAN_CEOL 0x004 /* Has CEOL cap */ +#define TERM_CAN_TAB 0x008 /* Can use tabs */ +#define TERM_CAN_ME 0x010 /* Can turn all attrs. */ +#define TERM_CAN_UP 0x020 /* Can move up */ +#define TERM_HAS_META 0x040 /* Has a meta key */ +#define TERM_HAS_AUTO_MARGINS 0x080 /* Has auto margins */ +#define TERM_HAS_MAGIC_MARGINS 0x100 /* Has magic margins */ + char *t_buf; /* Termcap buffer */ + size_t t_loc; /* location used */ + char **t_str; /* termcap strings */ + int *t_val; /* termcap values */ + char *t_cap; /* Termcap buffer */ + funckey_t *t_fkey; /* Array of keys */ +} el_terminal_t; + +/* + * fKey indexes + */ +#define A_K_DN 0 +#define A_K_UP 1 +#define A_K_LT 2 +#define A_K_RT 3 +#define A_K_HO 4 +#define A_K_EN 5 +#define A_K_DE 6 +#define A_K_NKEYS 7 + +#ifdef __sun +extern int tgetent(char *, const char *); +extern int tgetflag(char *); +extern int tgetnum(char *); +extern int tputs(const char *, int, int (*)(int)); +extern char* tgoto(const char*, int, int); +extern char* tgetstr(char*, char**); +#endif + +libedit_private void terminal_move_to_line(EditLine *, int); +libedit_private void terminal_move_to_char(EditLine *, int); +libedit_private void terminal_clear_EOL(EditLine *, int); +libedit_private void terminal_overwrite(EditLine *, const wchar_t *, size_t); +libedit_private void terminal_insertwrite(EditLine *, wchar_t *, int); +libedit_private void terminal_deletechars(EditLine *, int); +libedit_private void terminal_clear_screen(EditLine *); +libedit_private void terminal_beep(EditLine *); +libedit_private int terminal_change_size(EditLine *, int, int); +libedit_private int terminal_get_size(EditLine *, int *, int *); +libedit_private int terminal_init(EditLine *); +libedit_private void terminal_bind_arrow(EditLine *); +libedit_private void terminal_print_arrow(EditLine *, const wchar_t *); +libedit_private int terminal_clear_arrow(EditLine *, const wchar_t *); +libedit_private int terminal_set_arrow(EditLine *, const wchar_t *, + keymacro_value_t *, int); +libedit_private void terminal_end(EditLine *); +libedit_private void terminal_get(EditLine *, const char **); +libedit_private int terminal_set(EditLine *, const char *); +libedit_private int terminal_settc(EditLine *, int, const wchar_t **); +libedit_private int terminal_gettc(EditLine *, int, char **); +libedit_private int terminal_telltc(EditLine *, int, const wchar_t **); +libedit_private int terminal_echotc(EditLine *, int, const wchar_t **); +libedit_private void terminal_writec(EditLine *, wint_t); +libedit_private int terminal__putc(EditLine *, wint_t); +libedit_private void terminal__flush(EditLine *); + +/* + * Easy access macros + */ +#define EL_FLAGS (el)->el_terminal.t_flags + +#define EL_CAN_INSERT (EL_FLAGS & TERM_CAN_INSERT) +#define EL_CAN_DELETE (EL_FLAGS & TERM_CAN_DELETE) +#define EL_CAN_CEOL (EL_FLAGS & TERM_CAN_CEOL) +#define EL_CAN_TAB (EL_FLAGS & TERM_CAN_TAB) +#define EL_CAN_ME (EL_FLAGS & TERM_CAN_ME) +#define EL_CAN_UP (EL_FLAGS & TERM_CAN_UP) +#define EL_HAS_META (EL_FLAGS & TERM_HAS_META) +#define EL_HAS_AUTO_MARGINS (EL_FLAGS & TERM_HAS_AUTO_MARGINS) +#define EL_HAS_MAGIC_MARGINS (EL_FLAGS & TERM_HAS_MAGIC_MARGINS) + +#endif /* _h_el_terminal */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/tokenizer.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/tokenizer.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/tokenizer.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/tokenizer.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,469 @@ +/* $NetBSD: tokenizer.c,v 1.28 2016/04/11 18:56:31 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef NARROWCHAR +#include "config.h" +#endif + +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)tokenizer.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: tokenizer.c,v 1.28 2016/04/11 18:56:31 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* We build this file twice, once as NARROW, once as WIDE. */ +/* + * tokenize.c: Bourne shell like tokenizer + */ +#include +#include + +#include "histedit.h" + +typedef enum { + Q_none, Q_single, Q_double, Q_one, Q_doubleone +} quote_t; + +#define TOK_KEEP 1 +#define TOK_EAT 2 + +#define WINCR 20 +#define AINCR 10 + +#define IFS STR("\t \n") + +#define tok_malloc(a) malloc(a) +#define tok_free(a) free(a) +#define tok_realloc(a, b) realloc(a, b) + +#ifdef NARROWCHAR +#define Char char +#define FUN(prefix, rest) prefix ## _ ## rest +#define TYPE(type) type +#define STR(x) x +#define Strchr(s, c) strchr(s, c) +#define tok_strdup(s) strdup(s) +#else +#define Char wchar_t +#define FUN(prefix, rest) prefix ## _w ## rest +#define TYPE(type) type ## W +#define STR(x) L ## x +#define Strchr(s, c) wcschr(s, c) +#define tok_strdup(s) wcsdup(s) +#endif + +struct TYPE(tokenizer) { + Char *ifs; /* In field separator */ + size_t argc, amax; /* Current and maximum number of args */ + Char **argv; /* Argument list */ + Char *wptr, *wmax; /* Space and limit on the word buffer */ + Char *wstart; /* Beginning of next word */ + Char *wspace; /* Space of word buffer */ + quote_t quote; /* Quoting state */ + int flags; /* flags; */ +}; + + +static void FUN(tok,finish)(TYPE(Tokenizer) *); + + +/* FUN(tok,finish)(): + * Finish a word in the tokenizer. + */ +static void +FUN(tok,finish)(TYPE(Tokenizer) *tok) +{ + + *tok->wptr = '\0'; + if ((tok->flags & TOK_KEEP) || tok->wptr != tok->wstart) { + tok->argv[tok->argc++] = tok->wstart; + tok->argv[tok->argc] = NULL; + tok->wstart = ++tok->wptr; + } + tok->flags &= ~TOK_KEEP; +} + + +/* FUN(tok,init)(): + * Initialize the tokenizer + */ +TYPE(Tokenizer) * +FUN(tok,init)(const Char *ifs) +{ + TYPE(Tokenizer) *tok = tok_malloc(sizeof(*tok)); + + if (tok == NULL) + return NULL; + tok->ifs = tok_strdup(ifs ? ifs : IFS); + if (tok->ifs == NULL) { + tok_free(tok); + return NULL; + } + tok->argc = 0; + tok->amax = AINCR; + tok->argv = tok_malloc(sizeof(*tok->argv) * tok->amax); + if (tok->argv == NULL) { + tok_free(tok->ifs); + tok_free(tok); + return NULL; + } + tok->argv[0] = NULL; + tok->wspace = tok_malloc(WINCR * sizeof(*tok->wspace)); + if (tok->wspace == NULL) { + tok_free(tok->argv); + tok_free(tok->ifs); + tok_free(tok); + return NULL; + } + tok->wmax = tok->wspace + WINCR; + tok->wstart = tok->wspace; + tok->wptr = tok->wspace; + tok->flags = 0; + tok->quote = Q_none; + + return tok; +} + + +/* FUN(tok,reset)(): + * Reset the tokenizer + */ +void +FUN(tok,reset)(TYPE(Tokenizer) *tok) +{ + + tok->argc = 0; + tok->wstart = tok->wspace; + tok->wptr = tok->wspace; + tok->flags = 0; + tok->quote = Q_none; +} + + +/* FUN(tok,end)(): + * Clean up + */ +void +FUN(tok,end)(TYPE(Tokenizer) *tok) +{ + + tok_free(tok->ifs); + tok_free(tok->wspace); + tok_free(tok->argv); + tok_free(tok); +} + + + +/* FUN(tok,line)(): + * Bourne shell (sh(1)) like tokenizing + * Arguments: + * tok current tokenizer state (setup with FUN(tok,init)()) + * line line to parse + * Returns: + * -1 Internal error + * 3 Quoted return + * 2 Unmatched double quote + * 1 Unmatched single quote + * 0 Ok + * Modifies (if return value is 0): + * argc number of arguments + * argv argument array + * cursorc if !NULL, argv element containing cursor + * cursorv if !NULL, offset in argv[cursorc] of cursor + */ +int +FUN(tok,line)(TYPE(Tokenizer) *tok, const TYPE(LineInfo) *line, + int *argc, const Char ***argv, int *cursorc, int *cursoro) +{ + const Char *ptr; + int cc, co; + + cc = co = -1; + ptr = line->buffer; + for (ptr = line->buffer; ;ptr++) { + if (ptr >= line->lastchar) + ptr = STR(""); + if (ptr == line->cursor) { + cc = (int)tok->argc; + co = (int)(tok->wptr - tok->wstart); + } + switch (*ptr) { + case '\'': + tok->flags |= TOK_KEEP; + tok->flags &= ~TOK_EAT; + switch (tok->quote) { + case Q_none: + tok->quote = Q_single; /* Enter single quote + * mode */ + break; + + case Q_single: /* Exit single quote mode */ + tok->quote = Q_none; + break; + + case Q_one: /* Quote this ' */ + tok->quote = Q_none; + *tok->wptr++ = *ptr; + break; + + case Q_double: /* Stay in double quote mode */ + *tok->wptr++ = *ptr; + break; + + case Q_doubleone: /* Quote this ' */ + tok->quote = Q_double; + *tok->wptr++ = *ptr; + break; + + default: + return -1; + } + break; + + case '"': + tok->flags &= ~TOK_EAT; + tok->flags |= TOK_KEEP; + switch (tok->quote) { + case Q_none: /* Enter double quote mode */ + tok->quote = Q_double; + break; + + case Q_double: /* Exit double quote mode */ + tok->quote = Q_none; + break; + + case Q_one: /* Quote this " */ + tok->quote = Q_none; + *tok->wptr++ = *ptr; + break; + + case Q_single: /* Stay in single quote mode */ + *tok->wptr++ = *ptr; + break; + + case Q_doubleone: /* Quote this " */ + tok->quote = Q_double; + *tok->wptr++ = *ptr; + break; + + default: + return -1; + } + break; + + case '\\': + tok->flags |= TOK_KEEP; + tok->flags &= ~TOK_EAT; + switch (tok->quote) { + case Q_none: /* Quote next character */ + tok->quote = Q_one; + break; + + case Q_double: /* Quote next character */ + tok->quote = Q_doubleone; + break; + + case Q_one: /* Quote this, restore state */ + *tok->wptr++ = *ptr; + tok->quote = Q_none; + break; + + case Q_single: /* Stay in single quote mode */ + *tok->wptr++ = *ptr; + break; + + case Q_doubleone: /* Quote this \ */ + tok->quote = Q_double; + *tok->wptr++ = *ptr; + break; + + default: + return -1; + } + break; + + case '\n': + tok->flags &= ~TOK_EAT; + switch (tok->quote) { + case Q_none: + goto tok_line_outok; + + case Q_single: + case Q_double: + *tok->wptr++ = *ptr; /* Add the return */ + break; + + case Q_doubleone: /* Back to double, eat the '\n' */ + tok->flags |= TOK_EAT; + tok->quote = Q_double; + break; + + case Q_one: /* No quote, more eat the '\n' */ + tok->flags |= TOK_EAT; + tok->quote = Q_none; + break; + + default: + return 0; + } + break; + + case '\0': + switch (tok->quote) { + case Q_none: + /* Finish word and return */ + if (tok->flags & TOK_EAT) { + tok->flags &= ~TOK_EAT; + return 3; + } + goto tok_line_outok; + + case Q_single: + return 1; + + case Q_double: + return 2; + + case Q_doubleone: + tok->quote = Q_double; + *tok->wptr++ = *ptr; + break; + + case Q_one: + tok->quote = Q_none; + *tok->wptr++ = *ptr; + break; + + default: + return -1; + } + break; + + default: + tok->flags &= ~TOK_EAT; + switch (tok->quote) { + case Q_none: + if (Strchr(tok->ifs, *ptr) != NULL) + FUN(tok,finish)(tok); + else + *tok->wptr++ = *ptr; + break; + + case Q_single: + case Q_double: + *tok->wptr++ = *ptr; + break; + + + case Q_doubleone: + *tok->wptr++ = '\\'; + tok->quote = Q_double; + *tok->wptr++ = *ptr; + break; + + case Q_one: + tok->quote = Q_none; + *tok->wptr++ = *ptr; + break; + + default: + return -1; + + } + break; + } + + if (tok->wptr >= tok->wmax - 4) { + size_t size = (size_t)(tok->wmax - tok->wspace + WINCR); + Char *s = tok_realloc(tok->wspace, + size * sizeof(*s)); + if (s == NULL) + return -1; + + if (s != tok->wspace) { + size_t i; + for (i = 0; i < tok->argc; i++) { + tok->argv[i] = + (tok->argv[i] - tok->wspace) + s; + } + tok->wptr = (tok->wptr - tok->wspace) + s; + tok->wstart = (tok->wstart - tok->wspace) + s; + tok->wspace = s; + } + tok->wmax = s + size; + } + if (tok->argc >= tok->amax - 4) { + Char **p; + tok->amax += AINCR; + p = tok_realloc(tok->argv, tok->amax * sizeof(*p)); + if (p == NULL) { + tok->amax -= AINCR; + return -1; + } + tok->argv = p; + } + } + tok_line_outok: + if (cc == -1 && co == -1) { + cc = (int)tok->argc; + co = (int)(tok->wptr - tok->wstart); + } + if (cursorc != NULL) + *cursorc = cc; + if (cursoro != NULL) + *cursoro = co; + FUN(tok,finish)(tok); + *argv = (const Char **)tok->argv; + *argc = (int)tok->argc; + return 0; +} + +/* FUN(tok,str)(): + * Simpler version of tok_line, taking a NUL terminated line + * and splitting into words, ignoring cursor state. + */ +int +FUN(tok,str)(TYPE(Tokenizer) *tok, const Char *line, int *argc, + const Char ***argv) +{ + TYPE(LineInfo) li; + + memset(&li, 0, sizeof(li)); + li.buffer = line; + li.cursor = li.lastchar = Strchr(line, '\0'); + return FUN(tok,line)(tok, &li, argc, argv, NULL, NULL); +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/tokenizern.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/tokenizern.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/tokenizern.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/tokenizern.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,3 @@ +#include "config.h" +#define NARROWCHAR +#include "tokenizer.c" diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/tty.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/tty.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/tty.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/tty.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,1373 @@ +/* $NetBSD: tty.c,v 1.68 2018/12/02 16:58:13 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)tty.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: tty.c,v 1.68 2018/12/02 16:58:13 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * tty.c: tty interface stuff + */ +#include +#include +#include /* for abort */ +#include +#include /* for ffs */ +#include /* for isatty */ + +#include "el.h" +#include "fcns.h" +#include "parse.h" + +typedef struct ttymodes_t { + const char *m_name; + unsigned int m_value; + int m_type; +} ttymodes_t; + +typedef struct ttymap_t { + wint_t nch, och; /* Internal and termio rep of chars */ + el_action_t bind[3]; /* emacs, vi, and vi-cmd */ +} ttymap_t; + + +static const ttyperm_t ttyperm = { + { + {"iflag:", ICRNL, (INLCR | IGNCR)}, + {"oflag:", (OPOST | ONLCR), ONLRET}, + {"cflag:", 0, 0}, + {"lflag:", (ISIG | ICANON | ECHO | ECHOE | ECHOCTL | IEXTEN), + (NOFLSH | ECHONL | EXTPROC | FLUSHO)}, + {"chars:", 0, 0}, + }, + { + {"iflag:", (INLCR | ICRNL), IGNCR}, + {"oflag:", (OPOST | ONLCR), ONLRET}, + {"cflag:", 0, 0}, + {"lflag:", ISIG, + (NOFLSH | ICANON | ECHO | ECHOK | ECHONL | EXTPROC | IEXTEN | FLUSHO)}, + {"chars:", (C_SH(C_MIN) | C_SH(C_TIME) | C_SH(C_SWTCH) | C_SH(C_DSWTCH) | + C_SH(C_SUSP) | C_SH(C_DSUSP) | C_SH(C_EOL) | C_SH(C_DISCARD) | + C_SH(C_PGOFF) | C_SH(C_PAGE) | C_SH(C_STATUS)), 0} + }, + { + {"iflag:", 0, IXON | IXOFF | INLCR | ICRNL}, + {"oflag:", 0, 0}, + {"cflag:", 0, 0}, + {"lflag:", 0, ISIG | IEXTEN}, + {"chars:", 0, 0}, + } +}; + +static const ttychar_t ttychar = { + { + CINTR, CQUIT, CERASE, CKILL, + CEOF, CEOL, CEOL2, CSWTCH, + CDSWTCH, CERASE2, CSTART, CSTOP, + CWERASE, CSUSP, CDSUSP, CREPRINT, + CDISCARD, CLNEXT, CSTATUS, CPAGE, + CPGOFF, CKILL2, CBRK, CMIN, + CTIME + }, + { + CINTR, CQUIT, CERASE, CKILL, + _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, + _POSIX_VDISABLE, CERASE2, CSTART, CSTOP, + _POSIX_VDISABLE, CSUSP, _POSIX_VDISABLE, _POSIX_VDISABLE, + CDISCARD, _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, + _POSIX_VDISABLE, _POSIX_VDISABLE, _POSIX_VDISABLE, 1, + 0 + }, + { + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0 + } +}; + +static const ttymap_t tty_map[] = { +#ifdef VERASE + {C_ERASE, VERASE, + {EM_DELETE_PREV_CHAR, VI_DELETE_PREV_CHAR, ED_PREV_CHAR}}, +#endif /* VERASE */ +#ifdef VERASE2 + {C_ERASE2, VERASE2, + {EM_DELETE_PREV_CHAR, VI_DELETE_PREV_CHAR, ED_PREV_CHAR}}, +#endif /* VERASE2 */ +#ifdef VKILL + {C_KILL, VKILL, + {EM_KILL_LINE, VI_KILL_LINE_PREV, ED_UNASSIGNED}}, +#endif /* VKILL */ +#ifdef VKILL2 + {C_KILL2, VKILL2, + {EM_KILL_LINE, VI_KILL_LINE_PREV, ED_UNASSIGNED}}, +#endif /* VKILL2 */ +#ifdef VEOF + {C_EOF, VEOF, + {EM_DELETE_OR_LIST, VI_LIST_OR_EOF, ED_UNASSIGNED}}, +#endif /* VEOF */ +#ifdef VWERASE + {C_WERASE, VWERASE, + {ED_DELETE_PREV_WORD, ED_DELETE_PREV_WORD, ED_PREV_WORD}}, +#endif /* VWERASE */ +#ifdef VREPRINT + {C_REPRINT, VREPRINT, + {ED_REDISPLAY, ED_INSERT, ED_REDISPLAY}}, +#endif /* VREPRINT */ +#ifdef VLNEXT + {C_LNEXT, VLNEXT, + {ED_QUOTED_INSERT, ED_QUOTED_INSERT, ED_UNASSIGNED}}, +#endif /* VLNEXT */ + {(wint_t)-1, (wint_t)-1, + {ED_UNASSIGNED, ED_UNASSIGNED, ED_UNASSIGNED}} +}; + +static const ttymodes_t ttymodes[] = { +#ifdef IGNBRK + {"ignbrk", IGNBRK, MD_INP}, +#endif /* IGNBRK */ +#ifdef BRKINT + {"brkint", BRKINT, MD_INP}, +#endif /* BRKINT */ +#ifdef IGNPAR + {"ignpar", IGNPAR, MD_INP}, +#endif /* IGNPAR */ +#ifdef PARMRK + {"parmrk", PARMRK, MD_INP}, +#endif /* PARMRK */ +#ifdef INPCK + {"inpck", INPCK, MD_INP}, +#endif /* INPCK */ +#ifdef ISTRIP + {"istrip", ISTRIP, MD_INP}, +#endif /* ISTRIP */ +#ifdef INLCR + {"inlcr", INLCR, MD_INP}, +#endif /* INLCR */ +#ifdef IGNCR + {"igncr", IGNCR, MD_INP}, +#endif /* IGNCR */ +#ifdef ICRNL + {"icrnl", ICRNL, MD_INP}, +#endif /* ICRNL */ +#ifdef IUCLC + {"iuclc", IUCLC, MD_INP}, +#endif /* IUCLC */ +#ifdef IXON + {"ixon", IXON, MD_INP}, +#endif /* IXON */ +#ifdef IXANY + {"ixany", IXANY, MD_INP}, +#endif /* IXANY */ +#ifdef IXOFF + {"ixoff", IXOFF, MD_INP}, +#endif /* IXOFF */ +#ifdef IMAXBEL + {"imaxbel", IMAXBEL, MD_INP}, +#endif /* IMAXBEL */ + +#ifdef OPOST + {"opost", OPOST, MD_OUT}, +#endif /* OPOST */ +#ifdef OLCUC + {"olcuc", OLCUC, MD_OUT}, +#endif /* OLCUC */ +#ifdef ONLCR + {"onlcr", ONLCR, MD_OUT}, +#endif /* ONLCR */ +#ifdef OCRNL + {"ocrnl", OCRNL, MD_OUT}, +#endif /* OCRNL */ +#ifdef ONOCR + {"onocr", ONOCR, MD_OUT}, +#endif /* ONOCR */ +#ifdef ONOEOT + {"onoeot", ONOEOT, MD_OUT}, +#endif /* ONOEOT */ +#ifdef ONLRET + {"onlret", ONLRET, MD_OUT}, +#endif /* ONLRET */ +#ifdef OFILL + {"ofill", OFILL, MD_OUT}, +#endif /* OFILL */ +#ifdef OFDEL + {"ofdel", OFDEL, MD_OUT}, +#endif /* OFDEL */ +#ifdef NLDLY + {"nldly", NLDLY, MD_OUT}, +#endif /* NLDLY */ +#ifdef CRDLY + {"crdly", CRDLY, MD_OUT}, +#endif /* CRDLY */ +#ifdef TABDLY + {"tabdly", TABDLY, MD_OUT}, +#endif /* TABDLY */ +#ifdef XTABS + {"xtabs", XTABS, MD_OUT}, +#endif /* XTABS */ +#ifdef BSDLY + {"bsdly", BSDLY, MD_OUT}, +#endif /* BSDLY */ +#ifdef VTDLY + {"vtdly", VTDLY, MD_OUT}, +#endif /* VTDLY */ +#ifdef FFDLY + {"ffdly", FFDLY, MD_OUT}, +#endif /* FFDLY */ +#ifdef PAGEOUT + {"pageout", PAGEOUT, MD_OUT}, +#endif /* PAGEOUT */ +#ifdef WRAP + {"wrap", WRAP, MD_OUT}, +#endif /* WRAP */ + +#ifdef CIGNORE + {"cignore", CIGNORE, MD_CTL}, +#endif /* CBAUD */ +#ifdef CBAUD + {"cbaud", CBAUD, MD_CTL}, +#endif /* CBAUD */ +#ifdef CSTOPB + {"cstopb", CSTOPB, MD_CTL}, +#endif /* CSTOPB */ +#ifdef CREAD + {"cread", CREAD, MD_CTL}, +#endif /* CREAD */ +#ifdef PARENB + {"parenb", PARENB, MD_CTL}, +#endif /* PARENB */ +#ifdef PARODD + {"parodd", PARODD, MD_CTL}, +#endif /* PARODD */ +#ifdef HUPCL + {"hupcl", HUPCL, MD_CTL}, +#endif /* HUPCL */ +#ifdef CLOCAL + {"clocal", CLOCAL, MD_CTL}, +#endif /* CLOCAL */ +#ifdef LOBLK + {"loblk", LOBLK, MD_CTL}, +#endif /* LOBLK */ +#ifdef CIBAUD + {"cibaud", CIBAUD, MD_CTL}, +#endif /* CIBAUD */ +#ifdef CRTSCTS +#ifdef CCTS_OFLOW + {"ccts_oflow", CCTS_OFLOW, MD_CTL}, +#else + {"crtscts", CRTSCTS, MD_CTL}, +#endif /* CCTS_OFLOW */ +#endif /* CRTSCTS */ +#ifdef CRTS_IFLOW + {"crts_iflow", CRTS_IFLOW, MD_CTL}, +#endif /* CRTS_IFLOW */ +#ifdef CDTRCTS + {"cdtrcts", CDTRCTS, MD_CTL}, +#endif /* CDTRCTS */ +#ifdef MDMBUF + {"mdmbuf", MDMBUF, MD_CTL}, +#endif /* MDMBUF */ +#ifdef RCV1EN + {"rcv1en", RCV1EN, MD_CTL}, +#endif /* RCV1EN */ +#ifdef XMT1EN + {"xmt1en", XMT1EN, MD_CTL}, +#endif /* XMT1EN */ + +#ifdef ISIG + {"isig", ISIG, MD_LIN}, +#endif /* ISIG */ +#ifdef ICANON + {"icanon", ICANON, MD_LIN}, +#endif /* ICANON */ +#ifdef XCASE + {"xcase", XCASE, MD_LIN}, +#endif /* XCASE */ +#ifdef ECHO + {"echo", ECHO, MD_LIN}, +#endif /* ECHO */ +#ifdef ECHOE + {"echoe", ECHOE, MD_LIN}, +#endif /* ECHOE */ +#ifdef ECHOK + {"echok", ECHOK, MD_LIN}, +#endif /* ECHOK */ +#ifdef ECHONL + {"echonl", ECHONL, MD_LIN}, +#endif /* ECHONL */ +#ifdef NOFLSH + {"noflsh", NOFLSH, MD_LIN}, +#endif /* NOFLSH */ +#ifdef TOSTOP + {"tostop", TOSTOP, MD_LIN}, +#endif /* TOSTOP */ +#ifdef ECHOCTL + {"echoctl", ECHOCTL, MD_LIN}, +#endif /* ECHOCTL */ +#ifdef ECHOPRT + {"echoprt", ECHOPRT, MD_LIN}, +#endif /* ECHOPRT */ +#ifdef ECHOKE + {"echoke", ECHOKE, MD_LIN}, +#endif /* ECHOKE */ +#ifdef DEFECHO + {"defecho", DEFECHO, MD_LIN}, +#endif /* DEFECHO */ +#ifdef FLUSHO + {"flusho", FLUSHO, MD_LIN}, +#endif /* FLUSHO */ +#ifdef PENDIN + {"pendin", PENDIN, MD_LIN}, +#endif /* PENDIN */ +#ifdef IEXTEN + {"iexten", IEXTEN, MD_LIN}, +#endif /* IEXTEN */ +#ifdef NOKERNINFO + {"nokerninfo", NOKERNINFO, MD_LIN}, +#endif /* NOKERNINFO */ +#ifdef ALTWERASE + {"altwerase", ALTWERASE, MD_LIN}, +#endif /* ALTWERASE */ +#ifdef EXTPROC + {"extproc", EXTPROC, MD_LIN}, +#endif /* EXTPROC */ + +#if defined(VINTR) + {"intr", C_SH(C_INTR), MD_CHAR}, +#endif /* VINTR */ +#if defined(VQUIT) + {"quit", C_SH(C_QUIT), MD_CHAR}, +#endif /* VQUIT */ +#if defined(VERASE) + {"erase", C_SH(C_ERASE), MD_CHAR}, +#endif /* VERASE */ +#if defined(VKILL) + {"kill", C_SH(C_KILL), MD_CHAR}, +#endif /* VKILL */ +#if defined(VEOF) + {"eof", C_SH(C_EOF), MD_CHAR}, +#endif /* VEOF */ +#if defined(VEOL) + {"eol", C_SH(C_EOL), MD_CHAR}, +#endif /* VEOL */ +#if defined(VEOL2) + {"eol2", C_SH(C_EOL2), MD_CHAR}, +#endif /* VEOL2 */ +#if defined(VSWTCH) + {"swtch", C_SH(C_SWTCH), MD_CHAR}, +#endif /* VSWTCH */ +#if defined(VDSWTCH) + {"dswtch", C_SH(C_DSWTCH), MD_CHAR}, +#endif /* VDSWTCH */ +#if defined(VERASE2) + {"erase2", C_SH(C_ERASE2), MD_CHAR}, +#endif /* VERASE2 */ +#if defined(VSTART) + {"start", C_SH(C_START), MD_CHAR}, +#endif /* VSTART */ +#if defined(VSTOP) + {"stop", C_SH(C_STOP), MD_CHAR}, +#endif /* VSTOP */ +#if defined(VWERASE) + {"werase", C_SH(C_WERASE), MD_CHAR}, +#endif /* VWERASE */ +#if defined(VSUSP) + {"susp", C_SH(C_SUSP), MD_CHAR}, +#endif /* VSUSP */ +#if defined(VDSUSP) + {"dsusp", C_SH(C_DSUSP), MD_CHAR}, +#endif /* VDSUSP */ +#if defined(VREPRINT) + {"reprint", C_SH(C_REPRINT), MD_CHAR}, +#endif /* VREPRINT */ +#if defined(VDISCARD) + {"discard", C_SH(C_DISCARD), MD_CHAR}, +#endif /* VDISCARD */ +#if defined(VLNEXT) + {"lnext", C_SH(C_LNEXT), MD_CHAR}, +#endif /* VLNEXT */ +#if defined(VSTATUS) + {"status", C_SH(C_STATUS), MD_CHAR}, +#endif /* VSTATUS */ +#if defined(VPAGE) + {"page", C_SH(C_PAGE), MD_CHAR}, +#endif /* VPAGE */ +#if defined(VPGOFF) + {"pgoff", C_SH(C_PGOFF), MD_CHAR}, +#endif /* VPGOFF */ +#if defined(VKILL2) + {"kill2", C_SH(C_KILL2), MD_CHAR}, +#endif /* VKILL2 */ +#if defined(VBRK) + {"brk", C_SH(C_BRK), MD_CHAR}, +#endif /* VBRK */ +#if defined(VMIN) + {"min", C_SH(C_MIN), MD_CHAR}, +#endif /* VMIN */ +#if defined(VTIME) + {"time", C_SH(C_TIME), MD_CHAR}, +#endif /* VTIME */ + {NULL, 0, -1}, +}; + + + +#define tty__gettabs(td) ((((td)->c_oflag & TAB3) == TAB3) ? 0 : 1) +#define tty__geteightbit(td) (((td)->c_cflag & CSIZE) == CS8) +#define tty__cooked_mode(td) ((td)->c_lflag & ICANON) + +static int tty_getty(EditLine *, struct termios *); +static int tty_setty(EditLine *, int, const struct termios *); +static int tty__getcharindex(int); +static void tty__getchar(struct termios *, unsigned char *); +static void tty__setchar(struct termios *, unsigned char *); +static speed_t tty__getspeed(struct termios *); +static int tty_setup(EditLine *); +static void tty_setup_flags(EditLine *, struct termios *, int); + +#define t_qu t_ts + +/* tty_getty(): + * Wrapper for tcgetattr to handle EINTR + */ +static int +tty_getty(EditLine *el, struct termios *t) +{ + int rv; + while ((rv = tcgetattr(el->el_infd, t)) == -1 && errno == EINTR) + continue; + return rv; +} + +/* tty_setty(): + * Wrapper for tcsetattr to handle EINTR + */ +static int +tty_setty(EditLine *el, int action, const struct termios *t) +{ + int rv; + while ((rv = tcsetattr(el->el_infd, action, t)) == -1 && errno == EINTR) + continue; + return rv; +} + +/* tty_setup(): + * Get the tty parameters and initialize the editing state + */ +static int +tty_setup(EditLine *el) +{ + int rst = (el->el_flags & NO_RESET) == 0; + + if (el->el_flags & EDIT_DISABLED) + return 0; + + if (el->el_tty.t_initialized) + return -1; + + if (!isatty(el->el_outfd)) { +#ifdef DEBUG_TTY + (void) fprintf(el->el_errfile, "%s: isatty: %s\n", __func__, + strerror(errno)); +#endif /* DEBUG_TTY */ + return -1; + } + if (tty_getty(el, &el->el_tty.t_or) == -1) { +#ifdef DEBUG_TTY + (void) fprintf(el->el_errfile, "%s: tty_getty: %s\n", __func__, + strerror(errno)); +#endif /* DEBUG_TTY */ + return -1; + } + el->el_tty.t_ts = el->el_tty.t_ex = el->el_tty.t_ed = el->el_tty.t_or; + + el->el_tty.t_speed = tty__getspeed(&el->el_tty.t_ex); + el->el_tty.t_tabs = tty__gettabs(&el->el_tty.t_ex); + el->el_tty.t_eight = tty__geteightbit(&el->el_tty.t_ex); + + tty_setup_flags(el, &el->el_tty.t_ex, EX_IO); + + /* + * Reset the tty chars to reasonable defaults + * If they are disabled, then enable them. + */ + if (rst) { + if (tty__cooked_mode(&el->el_tty.t_ts)) { + tty__getchar(&el->el_tty.t_ts, el->el_tty.t_c[TS_IO]); + /* + * Don't affect CMIN and CTIME for the editor mode + */ + for (rst = 0; rst < C_NCC - 2; rst++) + if (el->el_tty.t_c[TS_IO][rst] != + el->el_tty.t_vdisable + && el->el_tty.t_c[ED_IO][rst] != + el->el_tty.t_vdisable) + el->el_tty.t_c[ED_IO][rst] = + el->el_tty.t_c[TS_IO][rst]; + for (rst = 0; rst < C_NCC; rst++) + if (el->el_tty.t_c[TS_IO][rst] != + el->el_tty.t_vdisable) + el->el_tty.t_c[EX_IO][rst] = + el->el_tty.t_c[TS_IO][rst]; + } + tty__setchar(&el->el_tty.t_ex, el->el_tty.t_c[EX_IO]); + if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ex) == -1) { +#ifdef DEBUG_TTY + (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", + __func__, strerror(errno)); +#endif /* DEBUG_TTY */ + return -1; + } + } + + tty_setup_flags(el, &el->el_tty.t_ed, ED_IO); + + tty__setchar(&el->el_tty.t_ed, el->el_tty.t_c[ED_IO]); + tty_bind_char(el, 1); + el->el_tty.t_initialized = 1; + return 0; +} + +libedit_private int +tty_init(EditLine *el) +{ + + el->el_tty.t_mode = EX_IO; + el->el_tty.t_vdisable = _POSIX_VDISABLE; + el->el_tty.t_initialized = 0; + (void) memcpy(el->el_tty.t_t, ttyperm, sizeof(ttyperm_t)); + (void) memcpy(el->el_tty.t_c, ttychar, sizeof(ttychar_t)); + return tty_setup(el); +} + + +/* tty_end(): + * Restore the tty to its original settings + */ +libedit_private void +/*ARGSUSED*/ +tty_end(EditLine *el, int how) +{ + if (el->el_flags & EDIT_DISABLED) + return; + + if (!el->el_tty.t_initialized) + return; + + if (tty_setty(el, how, &el->el_tty.t_or) == -1) + { +#ifdef DEBUG_TTY + (void) fprintf(el->el_errfile, + "%s: tty_setty: %s\n", __func__, strerror(errno)); +#endif /* DEBUG_TTY */ + } +} + + +/* tty__getspeed(): + * Get the tty speed + */ +static speed_t +tty__getspeed(struct termios *td) +{ + speed_t spd; + + if ((spd = cfgetispeed(td)) == 0) + spd = cfgetospeed(td); + return spd; +} + +/* tty__getspeed(): + * Return the index of the asked char in the c_cc array + */ +static int +tty__getcharindex(int i) +{ + switch (i) { +#ifdef VINTR + case C_INTR: + return VINTR; +#endif /* VINTR */ +#ifdef VQUIT + case C_QUIT: + return VQUIT; +#endif /* VQUIT */ +#ifdef VERASE + case C_ERASE: + return VERASE; +#endif /* VERASE */ +#ifdef VKILL + case C_KILL: + return VKILL; +#endif /* VKILL */ +#ifdef VEOF + case C_EOF: + return VEOF; +#endif /* VEOF */ +#ifdef VEOL + case C_EOL: + return VEOL; +#endif /* VEOL */ +#ifdef VEOL2 + case C_EOL2: + return VEOL2; +#endif /* VEOL2 */ +#ifdef VSWTCH + case C_SWTCH: + return VSWTCH; +#endif /* VSWTCH */ +#ifdef VDSWTCH + case C_DSWTCH: + return VDSWTCH; +#endif /* VDSWTCH */ +#ifdef VERASE2 + case C_ERASE2: + return VERASE2; +#endif /* VERASE2 */ +#ifdef VSTART + case C_START: + return VSTART; +#endif /* VSTART */ +#ifdef VSTOP + case C_STOP: + return VSTOP; +#endif /* VSTOP */ +#ifdef VWERASE + case C_WERASE: + return VWERASE; +#endif /* VWERASE */ +#ifdef VSUSP + case C_SUSP: + return VSUSP; +#endif /* VSUSP */ +#ifdef VDSUSP + case C_DSUSP: + return VDSUSP; +#endif /* VDSUSP */ +#ifdef VREPRINT + case C_REPRINT: + return VREPRINT; +#endif /* VREPRINT */ +#ifdef VDISCARD + case C_DISCARD: + return VDISCARD; +#endif /* VDISCARD */ +#ifdef VLNEXT + case C_LNEXT: + return VLNEXT; +#endif /* VLNEXT */ +#ifdef VSTATUS + case C_STATUS: + return VSTATUS; +#endif /* VSTATUS */ +#ifdef VPAGE + case C_PAGE: + return VPAGE; +#endif /* VPAGE */ +#ifdef VPGOFF + case C_PGOFF: + return VPGOFF; +#endif /* VPGOFF */ +#ifdef VKILL2 + case C_KILL2: + return VKILL2; +#endif /* KILL2 */ +#ifdef VMIN + case C_MIN: + return VMIN; +#endif /* VMIN */ +#ifdef VTIME + case C_TIME: + return VTIME; +#endif /* VTIME */ + default: + return -1; + } +} + +/* tty__getchar(): + * Get the tty characters + */ +static void +tty__getchar(struct termios *td, unsigned char *s) +{ + +#ifdef VINTR + s[C_INTR] = td->c_cc[VINTR]; +#endif /* VINTR */ +#ifdef VQUIT + s[C_QUIT] = td->c_cc[VQUIT]; +#endif /* VQUIT */ +#ifdef VERASE + s[C_ERASE] = td->c_cc[VERASE]; +#endif /* VERASE */ +#ifdef VKILL + s[C_KILL] = td->c_cc[VKILL]; +#endif /* VKILL */ +#ifdef VEOF + s[C_EOF] = td->c_cc[VEOF]; +#endif /* VEOF */ +#ifdef VEOL + s[C_EOL] = td->c_cc[VEOL]; +#endif /* VEOL */ +#ifdef VEOL2 + s[C_EOL2] = td->c_cc[VEOL2]; +#endif /* VEOL2 */ +#ifdef VSWTCH + s[C_SWTCH] = td->c_cc[VSWTCH]; +#endif /* VSWTCH */ +#ifdef VDSWTCH + s[C_DSWTCH] = td->c_cc[VDSWTCH]; +#endif /* VDSWTCH */ +#ifdef VERASE2 + s[C_ERASE2] = td->c_cc[VERASE2]; +#endif /* VERASE2 */ +#ifdef VSTART + s[C_START] = td->c_cc[VSTART]; +#endif /* VSTART */ +#ifdef VSTOP + s[C_STOP] = td->c_cc[VSTOP]; +#endif /* VSTOP */ +#ifdef VWERASE + s[C_WERASE] = td->c_cc[VWERASE]; +#endif /* VWERASE */ +#ifdef VSUSP + s[C_SUSP] = td->c_cc[VSUSP]; +#endif /* VSUSP */ +#ifdef VDSUSP + s[C_DSUSP] = td->c_cc[VDSUSP]; +#endif /* VDSUSP */ +#ifdef VREPRINT + s[C_REPRINT] = td->c_cc[VREPRINT]; +#endif /* VREPRINT */ +#ifdef VDISCARD + s[C_DISCARD] = td->c_cc[VDISCARD]; +#endif /* VDISCARD */ +#ifdef VLNEXT + s[C_LNEXT] = td->c_cc[VLNEXT]; +#endif /* VLNEXT */ +#ifdef VSTATUS + s[C_STATUS] = td->c_cc[VSTATUS]; +#endif /* VSTATUS */ +#ifdef VPAGE + s[C_PAGE] = td->c_cc[VPAGE]; +#endif /* VPAGE */ +#ifdef VPGOFF + s[C_PGOFF] = td->c_cc[VPGOFF]; +#endif /* VPGOFF */ +#ifdef VKILL2 + s[C_KILL2] = td->c_cc[VKILL2]; +#endif /* KILL2 */ +#ifdef VMIN + s[C_MIN] = td->c_cc[VMIN]; +#endif /* VMIN */ +#ifdef VTIME + s[C_TIME] = td->c_cc[VTIME]; +#endif /* VTIME */ +} /* tty__getchar */ + + +/* tty__setchar(): + * Set the tty characters + */ +static void +tty__setchar(struct termios *td, unsigned char *s) +{ + +#ifdef VINTR + td->c_cc[VINTR] = s[C_INTR]; +#endif /* VINTR */ +#ifdef VQUIT + td->c_cc[VQUIT] = s[C_QUIT]; +#endif /* VQUIT */ +#ifdef VERASE + td->c_cc[VERASE] = s[C_ERASE]; +#endif /* VERASE */ +#ifdef VKILL + td->c_cc[VKILL] = s[C_KILL]; +#endif /* VKILL */ +#ifdef VEOF + td->c_cc[VEOF] = s[C_EOF]; +#endif /* VEOF */ +#ifdef VEOL + td->c_cc[VEOL] = s[C_EOL]; +#endif /* VEOL */ +#ifdef VEOL2 + td->c_cc[VEOL2] = s[C_EOL2]; +#endif /* VEOL2 */ +#ifdef VSWTCH + td->c_cc[VSWTCH] = s[C_SWTCH]; +#endif /* VSWTCH */ +#ifdef VDSWTCH + td->c_cc[VDSWTCH] = s[C_DSWTCH]; +#endif /* VDSWTCH */ +#ifdef VERASE2 + td->c_cc[VERASE2] = s[C_ERASE2]; +#endif /* VERASE2 */ +#ifdef VSTART + td->c_cc[VSTART] = s[C_START]; +#endif /* VSTART */ +#ifdef VSTOP + td->c_cc[VSTOP] = s[C_STOP]; +#endif /* VSTOP */ +#ifdef VWERASE + td->c_cc[VWERASE] = s[C_WERASE]; +#endif /* VWERASE */ +#ifdef VSUSP + td->c_cc[VSUSP] = s[C_SUSP]; +#endif /* VSUSP */ +#ifdef VDSUSP + td->c_cc[VDSUSP] = s[C_DSUSP]; +#endif /* VDSUSP */ +#ifdef VREPRINT + td->c_cc[VREPRINT] = s[C_REPRINT]; +#endif /* VREPRINT */ +#ifdef VDISCARD + td->c_cc[VDISCARD] = s[C_DISCARD]; +#endif /* VDISCARD */ +#ifdef VLNEXT + td->c_cc[VLNEXT] = s[C_LNEXT]; +#endif /* VLNEXT */ +#ifdef VSTATUS + td->c_cc[VSTATUS] = s[C_STATUS]; +#endif /* VSTATUS */ +#ifdef VPAGE + td->c_cc[VPAGE] = s[C_PAGE]; +#endif /* VPAGE */ +#ifdef VPGOFF + td->c_cc[VPGOFF] = s[C_PGOFF]; +#endif /* VPGOFF */ +#ifdef VKILL2 + td->c_cc[VKILL2] = s[C_KILL2]; +#endif /* VKILL2 */ +#ifdef VMIN + td->c_cc[VMIN] = s[C_MIN]; +#endif /* VMIN */ +#ifdef VTIME + td->c_cc[VTIME] = s[C_TIME]; +#endif /* VTIME */ +} /* tty__setchar */ + + +/* tty_bind_char(): + * Rebind the editline functions + */ +libedit_private void +tty_bind_char(EditLine *el, int force) +{ + + unsigned char *t_n = el->el_tty.t_c[ED_IO]; + unsigned char *t_o = el->el_tty.t_ed.c_cc; + wchar_t new[2], old[2]; + const ttymap_t *tp; + el_action_t *map, *alt; + const el_action_t *dmap, *dalt; + new[1] = old[1] = '\0'; + + map = el->el_map.key; + alt = el->el_map.alt; + if (el->el_map.type == MAP_VI) { + dmap = el->el_map.vii; + dalt = el->el_map.vic; + } else { + dmap = el->el_map.emacs; + dalt = NULL; + } + + for (tp = tty_map; tp->nch != (wint_t)-1; tp++) { + new[0] = (wchar_t)t_n[tp->nch]; + old[0] = (wchar_t)t_o[tp->och]; + if (new[0] == old[0] && !force) + continue; + /* Put the old default binding back, and set the new binding */ + keymacro_clear(el, map, old); + map[(unsigned char)old[0]] = dmap[(unsigned char)old[0]]; + keymacro_clear(el, map, new); + /* MAP_VI == 1, MAP_EMACS == 0... */ + map[(unsigned char)new[0]] = tp->bind[el->el_map.type]; + if (dalt) { + keymacro_clear(el, alt, old); + alt[(unsigned char)old[0]] = + dalt[(unsigned char)old[0]]; + keymacro_clear(el, alt, new); + alt[(unsigned char)new[0]] = + tp->bind[el->el_map.type + 1]; + } + } +} + + +static tcflag_t * +tty__get_flag(struct termios *t, int kind) { + switch (kind) { + case MD_INP: + return &t->c_iflag; + case MD_OUT: + return &t->c_oflag; + case MD_CTL: + return &t->c_cflag; + case MD_LIN: + return &t->c_lflag; + default: + abort(); + /*NOTREACHED*/ + } +} + + +static tcflag_t +tty_update_flag(EditLine *el, tcflag_t f, int mode, int kind) +{ + f &= ~el->el_tty.t_t[mode][kind].t_clrmask; + f |= el->el_tty.t_t[mode][kind].t_setmask; + return f; +} + + +static void +tty_update_flags(EditLine *el, int kind) +{ + tcflag_t *tt, *ed, *ex; + tt = tty__get_flag(&el->el_tty.t_ts, kind); + ed = tty__get_flag(&el->el_tty.t_ed, kind); + ex = tty__get_flag(&el->el_tty.t_ex, kind); + + if (*tt != *ex && (kind != MD_CTL || *tt != *ed)) { + *ed = tty_update_flag(el, *tt, ED_IO, kind); + *ex = tty_update_flag(el, *tt, EX_IO, kind); + } +} + + +static void +tty_update_char(EditLine *el, int mode, int c) { + if (!((el->el_tty.t_t[mode][MD_CHAR].t_setmask & C_SH(c))) + && (el->el_tty.t_c[TS_IO][c] != el->el_tty.t_c[EX_IO][c])) + el->el_tty.t_c[mode][c] = el->el_tty.t_c[TS_IO][c]; + if (el->el_tty.t_t[mode][MD_CHAR].t_clrmask & C_SH(c)) + el->el_tty.t_c[mode][c] = el->el_tty.t_vdisable; +} + + +/* tty_rawmode(): + * Set terminal into 1 character at a time mode. + */ +libedit_private int +tty_rawmode(EditLine *el) +{ + + if (el->el_tty.t_mode == ED_IO || el->el_tty.t_mode == QU_IO) + return 0; + + if (el->el_flags & EDIT_DISABLED) + return 0; + + if (tty_getty(el, &el->el_tty.t_ts) == -1) { +#ifdef DEBUG_TTY + (void) fprintf(el->el_errfile, "%s: tty_getty: %s\n", __func__, + strerror(errno)); +#endif /* DEBUG_TTY */ + return -1; + } + /* + * We always keep up with the eight bit setting and the speed of the + * tty. But we only believe changes that are made to cooked mode! + */ + el->el_tty.t_eight = tty__geteightbit(&el->el_tty.t_ts); + el->el_tty.t_speed = tty__getspeed(&el->el_tty.t_ts); + + if (tty__getspeed(&el->el_tty.t_ex) != el->el_tty.t_speed || + tty__getspeed(&el->el_tty.t_ed) != el->el_tty.t_speed) { + (void) cfsetispeed(&el->el_tty.t_ex, el->el_tty.t_speed); + (void) cfsetospeed(&el->el_tty.t_ex, el->el_tty.t_speed); + (void) cfsetispeed(&el->el_tty.t_ed, el->el_tty.t_speed); + (void) cfsetospeed(&el->el_tty.t_ed, el->el_tty.t_speed); + } + if (tty__cooked_mode(&el->el_tty.t_ts)) { + int i; + + for (i = MD_INP; i <= MD_LIN; i++) + tty_update_flags(el, i); + + if (tty__gettabs(&el->el_tty.t_ex) == 0) + el->el_tty.t_tabs = 0; + else + el->el_tty.t_tabs = EL_CAN_TAB ? 1 : 0; + + tty__getchar(&el->el_tty.t_ts, el->el_tty.t_c[TS_IO]); + /* + * Check if the user made any changes. + * If he did, then propagate the changes to the + * edit and execute data structures. + */ + for (i = 0; i < C_NCC; i++) + if (el->el_tty.t_c[TS_IO][i] != + el->el_tty.t_c[EX_IO][i]) + break; + + if (i != C_NCC) { + /* + * Propagate changes only to the unlibedit_private + * chars that have been modified just now. + */ + for (i = 0; i < C_NCC; i++) + tty_update_char(el, ED_IO, i); + + tty_bind_char(el, 0); + tty__setchar(&el->el_tty.t_ed, el->el_tty.t_c[ED_IO]); + + for (i = 0; i < C_NCC; i++) + tty_update_char(el, EX_IO, i); + + tty__setchar(&el->el_tty.t_ex, el->el_tty.t_c[EX_IO]); + } + } + if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ed) == -1) { +#ifdef DEBUG_TTY + (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, + strerror(errno)); +#endif /* DEBUG_TTY */ + return -1; + } + el->el_tty.t_mode = ED_IO; + return 0; +} + + +/* tty_cookedmode(): + * Set the tty back to normal mode + */ +libedit_private int +tty_cookedmode(EditLine *el) +{ /* set tty in normal setup */ + + if (el->el_tty.t_mode == EX_IO) + return 0; + + if (el->el_flags & EDIT_DISABLED) + return 0; + + if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ex) == -1) { +#ifdef DEBUG_TTY + (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, + strerror(errno)); +#endif /* DEBUG_TTY */ + return -1; + } + el->el_tty.t_mode = EX_IO; + return 0; +} + + +/* tty_quotemode(): + * Turn on quote mode + */ +libedit_private int +tty_quotemode(EditLine *el) +{ + if (el->el_tty.t_mode == QU_IO) + return 0; + + el->el_tty.t_qu = el->el_tty.t_ed; + + tty_setup_flags(el, &el->el_tty.t_qu, QU_IO); + + if (tty_setty(el, TCSADRAIN, &el->el_tty.t_qu) == -1) { +#ifdef DEBUG_TTY + (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, + strerror(errno)); +#endif /* DEBUG_TTY */ + return -1; + } + el->el_tty.t_mode = QU_IO; + return 0; +} + + +/* tty_noquotemode(): + * Turn off quote mode + */ +libedit_private int +tty_noquotemode(EditLine *el) +{ + + if (el->el_tty.t_mode != QU_IO) + return 0; + if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ed) == -1) { +#ifdef DEBUG_TTY + (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, + strerror(errno)); +#endif /* DEBUG_TTY */ + return -1; + } + el->el_tty.t_mode = ED_IO; + return 0; +} + + +/* tty_stty(): + * Stty builtin + */ +libedit_private int +/*ARGSUSED*/ +tty_stty(EditLine *el, int argc __attribute__((__unused__)), + const wchar_t **argv) +{ + const ttymodes_t *m; + char x; + int aflag = 0; + const wchar_t *s, *d; + char name[EL_BUFSIZ]; + struct termios *tios = &el->el_tty.t_ex; + int z = EX_IO; + + if (argv == NULL) + return -1; + strncpy(name, ct_encode_string(*argv++, &el->el_scratch), sizeof(name)); + name[sizeof(name) - 1] = '\0'; + + while (argv && *argv && argv[0][0] == '-' && argv[0][2] == '\0') + switch (argv[0][1]) { + case 'a': + aflag++; + argv++; + break; + case 'd': + argv++; + tios = &el->el_tty.t_ed; + z = ED_IO; + break; + case 'x': + argv++; + tios = &el->el_tty.t_ex; + z = EX_IO; + break; + case 'q': + argv++; + tios = &el->el_tty.t_ts; + z = QU_IO; + break; + default: + (void) fprintf(el->el_errfile, + "%s: Unknown switch `%lc'.\n", + name, (wint_t)argv[0][1]); + return -1; + } + + if (!argv || !*argv) { + int i = -1; + size_t len = 0, st = 0, cu; + for (m = ttymodes; m->m_name; m++) { + if (m->m_type != i) { + (void) fprintf(el->el_outfile, "%s%s", + i != -1 ? "\n" : "", + el->el_tty.t_t[z][m->m_type].t_name); + i = m->m_type; + st = len = + strlen(el->el_tty.t_t[z][m->m_type].t_name); + } + if (i != -1) { + x = (el->el_tty.t_t[z][i].t_setmask & m->m_value) + ? '+' : '\0'; + + if (el->el_tty.t_t[z][i].t_clrmask & m->m_value) + x = '-'; + } else { + x = '\0'; + } + + if (x != '\0' || aflag) { + + cu = strlen(m->m_name) + (x != '\0') + 1; + + if (len + cu >= + (size_t)el->el_terminal.t_size.h) { + (void) fprintf(el->el_outfile, "\n%*s", + (int)st, ""); + len = st + cu; + } else + len += cu; + + if (x != '\0') + (void) fprintf(el->el_outfile, "%c%s ", + x, m->m_name); + else + (void) fprintf(el->el_outfile, "%s ", + m->m_name); + } + } + (void) fprintf(el->el_outfile, "\n"); + return 0; + } + while (argv && (s = *argv++)) { + const wchar_t *p; + switch (*s) { + case '+': + case '-': + x = (char)*s++; + break; + default: + x = '\0'; + break; + } + d = s; + p = wcschr(s, L'='); + for (m = ttymodes; m->m_name; m++) + if ((p ? strncmp(m->m_name, ct_encode_string(d, + &el->el_scratch), (size_t)(p - d)) : + strcmp(m->m_name, ct_encode_string(d, + &el->el_scratch))) == 0 && + (p == NULL || m->m_type == MD_CHAR)) + break; + + if (!m->m_name) { + (void) fprintf(el->el_errfile, + "%s: Invalid argument `%ls'.\n", name, d); + return -1; + } + if (p) { + int c = ffs((int)m->m_value); + int v = *++p ? parse__escape(&p) : + el->el_tty.t_vdisable; + assert(c != 0); + c--; + c = tty__getcharindex(c); + assert(c != -1); + tios->c_cc[c] = (cc_t)v; + continue; + } + switch (x) { + case '+': + el->el_tty.t_t[z][m->m_type].t_setmask |= m->m_value; + el->el_tty.t_t[z][m->m_type].t_clrmask &= ~m->m_value; + break; + case '-': + el->el_tty.t_t[z][m->m_type].t_setmask &= ~m->m_value; + el->el_tty.t_t[z][m->m_type].t_clrmask |= m->m_value; + break; + default: + el->el_tty.t_t[z][m->m_type].t_setmask &= ~m->m_value; + el->el_tty.t_t[z][m->m_type].t_clrmask &= ~m->m_value; + break; + } + } + + tty_setup_flags(el, tios, z); + if (el->el_tty.t_mode == z) { + if (tty_setty(el, TCSADRAIN, tios) == -1) { +#ifdef DEBUG_TTY + (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", + __func__, strerror(errno)); +#endif /* DEBUG_TTY */ + return -1; + } + } + + return 0; +} + + +#ifdef notyet +/* tty_printchar(): + * DEbugging routine to print the tty characters + */ +static void +tty_printchar(EditLine *el, unsigned char *s) +{ + ttyperm_t *m; + int i; + + for (i = 0; i < C_NCC; i++) { + for (m = el->el_tty.t_t; m->m_name; m++) + if (m->m_type == MD_CHAR && C_SH(i) == m->m_value) + break; + if (m->m_name) + (void) fprintf(el->el_errfile, "%s ^%c ", + m->m_name, s[i] + 'A' - 1); + if (i % 5 == 0) + (void) fprintf(el->el_errfile, "\n"); + } + (void) fprintf(el->el_errfile, "\n"); +} +#endif /* notyet */ + + +static void +tty_setup_flags(EditLine *el, struct termios *tios, int mode) +{ + int kind; + for (kind = MD_INP; kind <= MD_LIN; kind++) { + tcflag_t *f = tty__get_flag(tios, kind); + *f = tty_update_flag(el, *f, mode, kind); + } +} + +libedit_private int +tty_get_signal_character(EditLine *el, int sig) +{ +#ifdef ECHOCTL + tcflag_t *ed = tty__get_flag(&el->el_tty.t_ed, MD_INP); + if ((*ed & ECHOCTL) == 0) + return -1; +#endif + switch (sig) { +#ifdef SIGINT + case SIGINT: + return el->el_tty.t_c[ED_IO][VINTR]; +#endif +#ifdef SIGQUIT + case SIGQUIT: + return el->el_tty.t_c[ED_IO][VQUIT]; +#endif +#ifdef SIGINFO + case SIGINFO: + return el->el_tty.t_c[ED_IO][VSTATUS]; +#endif +#ifdef SIGTSTP + case SIGTSTP: + return el->el_tty.t_c[ED_IO][VSUSP]; +#endif + default: + return -1; + } +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/tty.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/tty.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/tty.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/tty.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,482 @@ +/* $NetBSD: tty.h,v 1.23 2018/12/02 16:58:13 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)tty.h 8.1 (Berkeley) 6/4/93 + */ + +/* + * el.tty.h: Local terminal header + */ +#ifndef _h_el_tty +#define _h_el_tty + +#include +#include + +/* Define our own since everyone gets it wrong! */ +#define CONTROL(A) ((A) & 037) + +/* + * Aix compatible names + */ +# if defined(VWERSE) && !defined(VWERASE) +# define VWERASE VWERSE +# endif /* VWERSE && !VWERASE */ + +# if defined(VDISCRD) && !defined(VDISCARD) +# define VDISCARD VDISCRD +# endif /* VDISCRD && !VDISCARD */ + +# if defined(VFLUSHO) && !defined(VDISCARD) +# define VDISCARD VFLUSHO +# endif /* VFLUSHO && VDISCARD */ + +# if defined(VSTRT) && !defined(VSTART) +# define VSTART VSTRT +# endif /* VSTRT && ! VSTART */ + +# if defined(VSTAT) && !defined(VSTATUS) +# define VSTATUS VSTAT +# endif /* VSTAT && ! VSTATUS */ + +# ifndef ONLRET +# define ONLRET 0 +# endif /* ONLRET */ + +# ifndef TAB3 +# ifdef OXTABS +# define TAB3 OXTABS +# else +# define TAB3 0 +# endif /* OXTABS */ +# endif /* !TAB3 */ + +# if defined(OXTABS) && !defined(XTABS) +# define XTABS OXTABS +# endif /* OXTABS && !XTABS */ + +# ifndef ONLCR +# define ONLCR 0 +# endif /* ONLCR */ + +# ifndef IEXTEN +# define IEXTEN 0 +# endif /* IEXTEN */ + +# ifndef ECHOCTL +# define ECHOCTL 0 +# endif /* ECHOCTL */ + +# ifndef PARENB +# define PARENB 0 +# endif /* PARENB */ + +# ifndef EXTPROC +# define EXTPROC 0 +# endif /* EXTPROC */ + +# ifndef FLUSHO +# define FLUSHO 0 +# endif /* FLUSHO */ + + +# if defined(VDISABLE) && !defined(_POSIX_VDISABLE) +# define _POSIX_VDISABLE VDISABLE +# endif /* VDISABLE && ! _POSIX_VDISABLE */ + +/* + * Work around ISC's definition of IEXTEN which is + * XCASE! + */ +# ifdef ISC +# if defined(IEXTEN) && defined(XCASE) +# if IEXTEN == XCASE +# undef IEXTEN +# define IEXTEN 0 +# endif /* IEXTEN == XCASE */ +# endif /* IEXTEN && XCASE */ +# if defined(IEXTEN) && !defined(XCASE) +# define XCASE IEXTEN +# undef IEXTEN +# define IEXTEN 0 +# endif /* IEXTEN && !XCASE */ +# endif /* ISC */ + +/* + * Work around convex weirdness where turning off IEXTEN makes us + * lose all postprocessing! + */ +#if defined(convex) || defined(__convex__) +# if defined(IEXTEN) && IEXTEN != 0 +# undef IEXTEN +# define IEXTEN 0 +# endif /* IEXTEN != 0 */ +#endif /* convex || __convex__ */ + +/* + * So that we don't lose job control. + */ +#ifdef __SVR4 +# undef CSWTCH +#endif + +#ifndef _POSIX_VDISABLE +# define _POSIX_VDISABLE ((unsigned char) -1) +#endif /* _POSIX_VDISABLE */ + +#if !defined(CREPRINT) && defined(CRPRNT) +# define CREPRINT CRPRNT +#endif /* !CREPRINT && CRPRNT */ +#if !defined(CDISCARD) && defined(CFLUSH) +# define CDISCARD CFLUSH +#endif /* !CDISCARD && CFLUSH */ + +#ifndef CINTR +# define CINTR CONTROL('c') +#endif /* CINTR */ +#ifndef CQUIT +# define CQUIT 034 /* ^\ */ +#endif /* CQUIT */ +#ifndef CERASE +# define CERASE 0177 /* ^? */ +#endif /* CERASE */ +#ifndef CKILL +# define CKILL CONTROL('u') +#endif /* CKILL */ +#ifndef CEOF +# define CEOF CONTROL('d') +#endif /* CEOF */ +#ifndef CEOL +# define CEOL _POSIX_VDISABLE +#endif /* CEOL */ +#ifndef CEOL2 +# define CEOL2 _POSIX_VDISABLE +#endif /* CEOL2 */ +#ifndef CSWTCH +# define CSWTCH _POSIX_VDISABLE +#endif /* CSWTCH */ +#ifndef CDSWTCH +# define CDSWTCH _POSIX_VDISABLE +#endif /* CDSWTCH */ +#ifndef CERASE2 +# define CERASE2 _POSIX_VDISABLE +#endif /* CERASE2 */ +#ifndef CSTART +# define CSTART CONTROL('q') +#endif /* CSTART */ +#ifndef CSTOP +# define CSTOP CONTROL('s') +#endif /* CSTOP */ +#ifndef CSUSP +# define CSUSP CONTROL('z') +#endif /* CSUSP */ +#ifndef CDSUSP +# define CDSUSP CONTROL('y') +#endif /* CDSUSP */ + +#ifdef hpux + +# ifndef CREPRINT +# define CREPRINT _POSIX_VDISABLE +# endif /* CREPRINT */ +# ifndef CDISCARD +# define CDISCARD _POSIX_VDISABLE +# endif /* CDISCARD */ +# ifndef CLNEXT +# define CLNEXT _POSIX_VDISABLE +# endif /* CLNEXT */ +# ifndef CWERASE +# define CWERASE _POSIX_VDISABLE +# endif /* CWERASE */ + +#else /* !hpux */ + +# ifndef CREPRINT +# define CREPRINT CONTROL('r') +# endif /* CREPRINT */ +# ifndef CDISCARD +# define CDISCARD CONTROL('o') +# endif /* CDISCARD */ +# ifndef CLNEXT +# define CLNEXT CONTROL('v') +# endif /* CLNEXT */ +# ifndef CWERASE +# define CWERASE CONTROL('w') +# endif /* CWERASE */ + +#endif /* hpux */ + +#ifndef CSTATUS +# define CSTATUS CONTROL('t') +#endif /* CSTATUS */ +#ifndef CPAGE +# define CPAGE ' ' +#endif /* CPAGE */ +#ifndef CPGOFF +# define CPGOFF CONTROL('m') +#endif /* CPGOFF */ +#ifndef CKILL2 +# define CKILL2 _POSIX_VDISABLE +#endif /* CKILL2 */ +#ifndef CBRK +# ifndef masscomp +# define CBRK 0377 +# else +# define CBRK '\0' +# endif /* masscomp */ +#endif /* CBRK */ +#ifndef CMIN +# define CMIN CEOF +#endif /* CMIN */ +#ifndef CTIME +# define CTIME CEOL +#endif /* CTIME */ + +/* + * Fix for sun inconsistency. On termio VSUSP and the rest of the + * ttychars > NCC are defined. So we undefine them. + */ +#if defined(TERMIO) || defined(POSIX) +# if defined(POSIX) && defined(NCCS) +# define NUMCC NCCS +# else +# ifdef NCC +# define NUMCC NCC +# endif /* NCC */ +# endif /* POSIX && NCCS */ +# ifdef NUMCC +# ifdef VINTR +# if NUMCC <= VINTR +# undef VINTR +# endif /* NUMCC <= VINTR */ +# endif /* VINTR */ +# ifdef VQUIT +# if NUMCC <= VQUIT +# undef VQUIT +# endif /* NUMCC <= VQUIT */ +# endif /* VQUIT */ +# ifdef VERASE +# if NUMCC <= VERASE +# undef VERASE +# endif /* NUMCC <= VERASE */ +# endif /* VERASE */ +# ifdef VKILL +# if NUMCC <= VKILL +# undef VKILL +# endif /* NUMCC <= VKILL */ +# endif /* VKILL */ +# ifdef VEOF +# if NUMCC <= VEOF +# undef VEOF +# endif /* NUMCC <= VEOF */ +# endif /* VEOF */ +# ifdef VEOL +# if NUMCC <= VEOL +# undef VEOL +# endif /* NUMCC <= VEOL */ +# endif /* VEOL */ +# ifdef VEOL2 +# if NUMCC <= VEOL2 +# undef VEOL2 +# endif /* NUMCC <= VEOL2 */ +# endif /* VEOL2 */ +# ifdef VSWTCH +# if NUMCC <= VSWTCH +# undef VSWTCH +# endif /* NUMCC <= VSWTCH */ +# endif /* VSWTCH */ +# ifdef VDSWTCH +# if NUMCC <= VDSWTCH +# undef VDSWTCH +# endif /* NUMCC <= VDSWTCH */ +# endif /* VDSWTCH */ +# ifdef VERASE2 +# if NUMCC <= VERASE2 +# undef VERASE2 +# endif /* NUMCC <= VERASE2 */ +# endif /* VERASE2 */ +# ifdef VSTART +# if NUMCC <= VSTART +# undef VSTART +# endif /* NUMCC <= VSTART */ +# endif /* VSTART */ +# ifdef VSTOP +# if NUMCC <= VSTOP +# undef VSTOP +# endif /* NUMCC <= VSTOP */ +# endif /* VSTOP */ +# ifdef VWERASE +# if NUMCC <= VWERASE +# undef VWERASE +# endif /* NUMCC <= VWERASE */ +# endif /* VWERASE */ +# ifdef VSUSP +# if NUMCC <= VSUSP +# undef VSUSP +# endif /* NUMCC <= VSUSP */ +# endif /* VSUSP */ +# ifdef VDSUSP +# if NUMCC <= VDSUSP +# undef VDSUSP +# endif /* NUMCC <= VDSUSP */ +# endif /* VDSUSP */ +# ifdef VREPRINT +# if NUMCC <= VREPRINT +# undef VREPRINT +# endif /* NUMCC <= VREPRINT */ +# endif /* VREPRINT */ +# ifdef VDISCARD +# if NUMCC <= VDISCARD +# undef VDISCARD +# endif /* NUMCC <= VDISCARD */ +# endif /* VDISCARD */ +# ifdef VLNEXT +# if NUMCC <= VLNEXT +# undef VLNEXT +# endif /* NUMCC <= VLNEXT */ +# endif /* VLNEXT */ +# ifdef VSTATUS +# if NUMCC <= VSTATUS +# undef VSTATUS +# endif /* NUMCC <= VSTATUS */ +# endif /* VSTATUS */ +# ifdef VPAGE +# if NUMCC <= VPAGE +# undef VPAGE +# endif /* NUMCC <= VPAGE */ +# endif /* VPAGE */ +# ifdef VPGOFF +# if NUMCC <= VPGOFF +# undef VPGOFF +# endif /* NUMCC <= VPGOFF */ +# endif /* VPGOFF */ +# ifdef VKILL2 +# if NUMCC <= VKILL2 +# undef VKILL2 +# endif /* NUMCC <= VKILL2 */ +# endif /* VKILL2 */ +# ifdef VBRK +# if NUMCC <= VBRK +# undef VBRK +# endif /* NUMCC <= VBRK */ +# endif /* VBRK */ +# ifdef VMIN +# if NUMCC <= VMIN +# undef VMIN +# endif /* NUMCC <= VMIN */ +# endif /* VMIN */ +# ifdef VTIME +# if NUMCC <= VTIME +# undef VTIME +# endif /* NUMCC <= VTIME */ +# endif /* VTIME */ +# endif /* NUMCC */ +#endif /* !POSIX */ + +#define C_INTR 0 +#define C_QUIT 1 +#define C_ERASE 2 +#define C_KILL 3 +#define C_EOF 4 +#define C_EOL 5 +#define C_EOL2 6 +#define C_SWTCH 7 +#define C_DSWTCH 8 +#define C_ERASE2 9 +#define C_START 10 +#define C_STOP 11 +#define C_WERASE 12 +#define C_SUSP 13 +#define C_DSUSP 14 +#define C_REPRINT 15 +#define C_DISCARD 16 +#define C_LNEXT 17 +#define C_STATUS 18 +#define C_PAGE 19 +#define C_PGOFF 20 +#define C_KILL2 21 +#define C_BRK 22 +#define C_MIN 23 +#define C_TIME 24 +#define C_NCC 25 +#define C_SH(A) ((unsigned int)(1 << (A))) + +/* + * Terminal dependend data structures + */ +#define EX_IO 0 /* while we are executing */ +#define ED_IO 1 /* while we are editing */ +#define TS_IO 2 /* new mode from terminal */ +#define QU_IO 2 /* used only for quoted chars */ +#define NN_IO 3 /* The number of entries */ + +/* Don't re-order */ +#define MD_INP 0 +#define MD_OUT 1 +#define MD_CTL 2 +#define MD_LIN 3 +#define MD_CHAR 4 +#define MD_NN 5 + +typedef struct { + const char *t_name; + unsigned int t_setmask; + unsigned int t_clrmask; +} ttyperm_t[NN_IO][MD_NN]; + +typedef unsigned char ttychar_t[NN_IO][C_NCC]; + +libedit_private int tty_init(EditLine *); +libedit_private void tty_end(EditLine *, int); +libedit_private int tty_stty(EditLine *, int, const wchar_t **); +libedit_private int tty_rawmode(EditLine *); +libedit_private int tty_cookedmode(EditLine *); +libedit_private int tty_quotemode(EditLine *); +libedit_private int tty_noquotemode(EditLine *); +libedit_private void tty_bind_char(EditLine *, int); +libedit_private int tty_get_signal_character(EditLine *, int); + +typedef struct { + ttyperm_t t_t; + ttychar_t t_c; + struct termios t_or, t_ex, t_ed, t_ts; + int t_tabs; + int t_eight; + speed_t t_speed; + unsigned char t_mode; + unsigned char t_vdisable; + unsigned char t_initialized; +} el_tty_t; + + +#endif /* _h_el_tty */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/unvis.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/unvis.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/unvis.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/unvis.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,560 @@ +/* $NetBSD: unvis.c,v 1.44 2014/09/26 15:43:36 roy Exp $ */ + +/*- + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if defined(LIBC_SCCS) && !defined(lint) +#if 0 +static char sccsid[] = "@(#)unvis.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: unvis.c,v 1.44 2014/09/26 15:43:36 roy Exp $"); +#endif +#endif /* LIBC_SCCS and not lint */ + +#include + +#include +#include +#ifdef HAVE_STDINT_H +#include +#endif +#include +#include +#include + +#ifdef __weak_alias +__weak_alias(strnunvisx,_strnunvisx) +#endif + +#if !HAVE_VIS +/* + * decode driven by state machine + */ +#define S_GROUND 0 /* haven't seen escape char */ +#define S_START 1 /* start decoding special sequence */ +#define S_META 2 /* metachar started (M) */ +#define S_META1 3 /* metachar more, regular char (-) */ +#define S_CTRL 4 /* control char started (^) */ +#define S_OCTAL2 5 /* octal digit 2 */ +#define S_OCTAL3 6 /* octal digit 3 */ +#define S_HEX 7 /* mandatory hex digit */ +#define S_HEX1 8 /* http hex digit */ +#define S_HEX2 9 /* http hex digit 2 */ +#define S_MIME1 10 /* mime hex digit 1 */ +#define S_MIME2 11 /* mime hex digit 2 */ +#define S_EATCRNL 12 /* mime eating CRNL */ +#define S_AMP 13 /* seen & */ +#define S_NUMBER 14 /* collecting number */ +#define S_STRING 15 /* collecting string */ + +#define isoctal(c) (((u_char)(c)) >= '0' && ((u_char)(c)) <= '7') +#define xtod(c) (isdigit(c) ? (c - '0') : ((tolower(c) - 'a') + 10)) +#define XTOD(c) (isdigit(c) ? (c - '0') : ((c - 'A') + 10)) + +/* + * RFC 1866 + */ +static const struct nv { + char name[7]; + uint8_t value; +} nv[] = { + { "AElig", 198 }, /* capital AE diphthong (ligature) */ + { "Aacute", 193 }, /* capital A, acute accent */ + { "Acirc", 194 }, /* capital A, circumflex accent */ + { "Agrave", 192 }, /* capital A, grave accent */ + { "Aring", 197 }, /* capital A, ring */ + { "Atilde", 195 }, /* capital A, tilde */ + { "Auml", 196 }, /* capital A, dieresis or umlaut mark */ + { "Ccedil", 199 }, /* capital C, cedilla */ + { "ETH", 208 }, /* capital Eth, Icelandic */ + { "Eacute", 201 }, /* capital E, acute accent */ + { "Ecirc", 202 }, /* capital E, circumflex accent */ + { "Egrave", 200 }, /* capital E, grave accent */ + { "Euml", 203 }, /* capital E, dieresis or umlaut mark */ + { "Iacute", 205 }, /* capital I, acute accent */ + { "Icirc", 206 }, /* capital I, circumflex accent */ + { "Igrave", 204 }, /* capital I, grave accent */ + { "Iuml", 207 }, /* capital I, dieresis or umlaut mark */ + { "Ntilde", 209 }, /* capital N, tilde */ + { "Oacute", 211 }, /* capital O, acute accent */ + { "Ocirc", 212 }, /* capital O, circumflex accent */ + { "Ograve", 210 }, /* capital O, grave accent */ + { "Oslash", 216 }, /* capital O, slash */ + { "Otilde", 213 }, /* capital O, tilde */ + { "Ouml", 214 }, /* capital O, dieresis or umlaut mark */ + { "THORN", 222 }, /* capital THORN, Icelandic */ + { "Uacute", 218 }, /* capital U, acute accent */ + { "Ucirc", 219 }, /* capital U, circumflex accent */ + { "Ugrave", 217 }, /* capital U, grave accent */ + { "Uuml", 220 }, /* capital U, dieresis or umlaut mark */ + { "Yacute", 221 }, /* capital Y, acute accent */ + { "aacute", 225 }, /* small a, acute accent */ + { "acirc", 226 }, /* small a, circumflex accent */ + { "acute", 180 }, /* acute accent */ + { "aelig", 230 }, /* small ae diphthong (ligature) */ + { "agrave", 224 }, /* small a, grave accent */ + { "amp", 38 }, /* ampersand */ + { "aring", 229 }, /* small a, ring */ + { "atilde", 227 }, /* small a, tilde */ + { "auml", 228 }, /* small a, dieresis or umlaut mark */ + { "brvbar", 166 }, /* broken (vertical) bar */ + { "ccedil", 231 }, /* small c, cedilla */ + { "cedil", 184 }, /* cedilla */ + { "cent", 162 }, /* cent sign */ + { "copy", 169 }, /* copyright sign */ + { "curren", 164 }, /* general currency sign */ + { "deg", 176 }, /* degree sign */ + { "divide", 247 }, /* divide sign */ + { "eacute", 233 }, /* small e, acute accent */ + { "ecirc", 234 }, /* small e, circumflex accent */ + { "egrave", 232 }, /* small e, grave accent */ + { "eth", 240 }, /* small eth, Icelandic */ + { "euml", 235 }, /* small e, dieresis or umlaut mark */ + { "frac12", 189 }, /* fraction one-half */ + { "frac14", 188 }, /* fraction one-quarter */ + { "frac34", 190 }, /* fraction three-quarters */ + { "gt", 62 }, /* greater than */ + { "iacute", 237 }, /* small i, acute accent */ + { "icirc", 238 }, /* small i, circumflex accent */ + { "iexcl", 161 }, /* inverted exclamation mark */ + { "igrave", 236 }, /* small i, grave accent */ + { "iquest", 191 }, /* inverted question mark */ + { "iuml", 239 }, /* small i, dieresis or umlaut mark */ + { "laquo", 171 }, /* angle quotation mark, left */ + { "lt", 60 }, /* less than */ + { "macr", 175 }, /* macron */ + { "micro", 181 }, /* micro sign */ + { "middot", 183 }, /* middle dot */ + { "nbsp", 160 }, /* no-break space */ + { "not", 172 }, /* not sign */ + { "ntilde", 241 }, /* small n, tilde */ + { "oacute", 243 }, /* small o, acute accent */ + { "ocirc", 244 }, /* small o, circumflex accent */ + { "ograve", 242 }, /* small o, grave accent */ + { "ordf", 170 }, /* ordinal indicator, feminine */ + { "ordm", 186 }, /* ordinal indicator, masculine */ + { "oslash", 248 }, /* small o, slash */ + { "otilde", 245 }, /* small o, tilde */ + { "ouml", 246 }, /* small o, dieresis or umlaut mark */ + { "para", 182 }, /* pilcrow (paragraph sign) */ + { "plusmn", 177 }, /* plus-or-minus sign */ + { "pound", 163 }, /* pound sterling sign */ + { "quot", 34 }, /* double quote */ + { "raquo", 187 }, /* angle quotation mark, right */ + { "reg", 174 }, /* registered sign */ + { "sect", 167 }, /* section sign */ + { "shy", 173 }, /* soft hyphen */ + { "sup1", 185 }, /* superscript one */ + { "sup2", 178 }, /* superscript two */ + { "sup3", 179 }, /* superscript three */ + { "szlig", 223 }, /* small sharp s, German (sz ligature) */ + { "thorn", 254 }, /* small thorn, Icelandic */ + { "times", 215 }, /* multiply sign */ + { "uacute", 250 }, /* small u, acute accent */ + { "ucirc", 251 }, /* small u, circumflex accent */ + { "ugrave", 249 }, /* small u, grave accent */ + { "uml", 168 }, /* umlaut (dieresis) */ + { "uuml", 252 }, /* small u, dieresis or umlaut mark */ + { "yacute", 253 }, /* small y, acute accent */ + { "yen", 165 }, /* yen sign */ + { "yuml", 255 }, /* small y, dieresis or umlaut mark */ +}; + +/* + * unvis - decode characters previously encoded by vis + */ +int +unvis(char *cp, int c, int *astate, int flag) +{ + unsigned char uc = (unsigned char)c; + unsigned char st, ia, is, lc; + +/* + * Bottom 8 bits of astate hold the state machine state. + * Top 8 bits hold the current character in the http 1866 nv string decoding + */ +#define GS(a) ((a) & 0xff) +#define SS(a, b) (((uint32_t)(a) << 24) | (b)) +#define GI(a) ((uint32_t)(a) >> 24) + + _DIAGASSERT(cp != NULL); + _DIAGASSERT(astate != NULL); + st = GS(*astate); + + if (flag & UNVIS_END) { + switch (st) { + case S_OCTAL2: + case S_OCTAL3: + case S_HEX2: + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case S_GROUND: + return UNVIS_NOCHAR; + default: + return UNVIS_SYNBAD; + } + } + + switch (st) { + + case S_GROUND: + *cp = 0; + if ((flag & VIS_NOESCAPE) == 0 && c == '\\') { + *astate = SS(0, S_START); + return UNVIS_NOCHAR; + } + if ((flag & VIS_HTTP1808) && c == '%') { + *astate = SS(0, S_HEX1); + return UNVIS_NOCHAR; + } + if ((flag & VIS_HTTP1866) && c == '&') { + *astate = SS(0, S_AMP); + return UNVIS_NOCHAR; + } + if ((flag & VIS_MIMESTYLE) && c == '=') { + *astate = SS(0, S_MIME1); + return UNVIS_NOCHAR; + } + *cp = c; + return UNVIS_VALID; + + case S_START: + switch(c) { + case '\\': + *cp = c; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case '0': case '1': case '2': case '3': + case '4': case '5': case '6': case '7': + *cp = (c - '0'); + *astate = SS(0, S_OCTAL2); + return UNVIS_NOCHAR; + case 'M': + *cp = (char)0200; + *astate = SS(0, S_META); + return UNVIS_NOCHAR; + case '^': + *astate = SS(0, S_CTRL); + return UNVIS_NOCHAR; + case 'n': + *cp = '\n'; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case 'r': + *cp = '\r'; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case 'b': + *cp = '\b'; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case 'a': + *cp = '\007'; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case 'v': + *cp = '\v'; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case 't': + *cp = '\t'; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case 'f': + *cp = '\f'; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case 's': + *cp = ' '; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case 'E': + *cp = '\033'; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + case 'x': + *astate = SS(0, S_HEX); + return UNVIS_NOCHAR; + case '\n': + /* + * hidden newline + */ + *astate = SS(0, S_GROUND); + return UNVIS_NOCHAR; + case '$': + /* + * hidden marker + */ + *astate = SS(0, S_GROUND); + return UNVIS_NOCHAR; + default: + if (isgraph(c)) { + *cp = c; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + } + } + goto bad; + + case S_META: + if (c == '-') + *astate = SS(0, S_META1); + else if (c == '^') + *astate = SS(0, S_CTRL); + else + goto bad; + return UNVIS_NOCHAR; + + case S_META1: + *astate = SS(0, S_GROUND); + *cp |= c; + return UNVIS_VALID; + + case S_CTRL: + if (c == '?') + *cp |= 0177; + else + *cp |= c & 037; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + + case S_OCTAL2: /* second possible octal digit */ + if (isoctal(uc)) { + /* + * yes - and maybe a third + */ + *cp = (*cp << 3) + (c - '0'); + *astate = SS(0, S_OCTAL3); + return UNVIS_NOCHAR; + } + /* + * no - done with current sequence, push back passed char + */ + *astate = SS(0, S_GROUND); + return UNVIS_VALIDPUSH; + + case S_OCTAL3: /* third possible octal digit */ + *astate = SS(0, S_GROUND); + if (isoctal(uc)) { + *cp = (*cp << 3) + (c - '0'); + return UNVIS_VALID; + } + /* + * we were done, push back passed char + */ + return UNVIS_VALIDPUSH; + + case S_HEX: + if (!isxdigit(uc)) + goto bad; + /*FALLTHROUGH*/ + case S_HEX1: + if (isxdigit(uc)) { + *cp = xtod(uc); + *astate = SS(0, S_HEX2); + return UNVIS_NOCHAR; + } + /* + * no - done with current sequence, push back passed char + */ + *astate = SS(0, S_GROUND); + return UNVIS_VALIDPUSH; + + case S_HEX2: + *astate = S_GROUND; + if (isxdigit(uc)) { + *cp = xtod(uc) | (*cp << 4); + return UNVIS_VALID; + } + return UNVIS_VALIDPUSH; + + case S_MIME1: + if (uc == '\n' || uc == '\r') { + *astate = SS(0, S_EATCRNL); + return UNVIS_NOCHAR; + } + if (isxdigit(uc) && (isdigit(uc) || isupper(uc))) { + *cp = XTOD(uc); + *astate = SS(0, S_MIME2); + return UNVIS_NOCHAR; + } + goto bad; + + case S_MIME2: + if (isxdigit(uc) && (isdigit(uc) || isupper(uc))) { + *astate = SS(0, S_GROUND); + *cp = XTOD(uc) | (*cp << 4); + return UNVIS_VALID; + } + goto bad; + + case S_EATCRNL: + switch (uc) { + case '\r': + case '\n': + return UNVIS_NOCHAR; + case '=': + *astate = SS(0, S_MIME1); + return UNVIS_NOCHAR; + default: + *cp = uc; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + } + + case S_AMP: + *cp = 0; + if (uc == '#') { + *astate = SS(0, S_NUMBER); + return UNVIS_NOCHAR; + } + *astate = SS(0, S_STRING); + /*FALLTHROUGH*/ + + case S_STRING: + ia = *cp; /* index in the array */ + is = GI(*astate); /* index in the string */ + lc = is == 0 ? 0 : nv[ia].name[is - 1]; /* last character */ + + if (uc == ';') + uc = '\0'; + + for (; ia < __arraycount(nv); ia++) { + if (is != 0 && nv[ia].name[is - 1] != lc) + goto bad; + if (nv[ia].name[is] == uc) + break; + } + + if (ia == __arraycount(nv)) + goto bad; + + if (uc != 0) { + *cp = ia; + *astate = SS(is + 1, S_STRING); + return UNVIS_NOCHAR; + } + + *cp = nv[ia].value; + *astate = SS(0, S_GROUND); + return UNVIS_VALID; + + case S_NUMBER: + if (uc == ';') + return UNVIS_VALID; + if (!isdigit(uc)) + goto bad; + *cp += (*cp * 10) + uc - '0'; + return UNVIS_NOCHAR; + + default: + bad: + /* + * decoder in unknown state - (probably uninitialized) + */ + *astate = SS(0, S_GROUND); + return UNVIS_SYNBAD; + } +} + +/* + * strnunvisx - decode src into dst + * + * Number of chars decoded into dst is returned, -1 on error. + * Dst is null terminated. + */ + +int +strnunvisx(char *dst, size_t dlen, const char *src, int flag) +{ + char c; + char t = '\0', *start = dst; + int state = 0; + + _DIAGASSERT(src != NULL); + _DIAGASSERT(dst != NULL); +#define CHECKSPACE() \ + do { \ + if (dlen-- == 0) { \ + errno = ENOSPC; \ + return -1; \ + } \ + } while (/*CONSTCOND*/0) + + while ((c = *src++) != '\0') { + again: + switch (unvis(&t, c, &state, flag)) { + case UNVIS_VALID: + CHECKSPACE(); + *dst++ = t; + break; + case UNVIS_VALIDPUSH: + CHECKSPACE(); + *dst++ = t; + goto again; + case 0: + case UNVIS_NOCHAR: + break; + case UNVIS_SYNBAD: + errno = EINVAL; + return -1; + default: + _DIAGASSERT(/*CONSTCOND*/0); + errno = EINVAL; + return -1; + } + } + if (unvis(&t, c, &state, UNVIS_END) == UNVIS_VALID) { + CHECKSPACE(); + *dst++ = t; + } + CHECKSPACE(); + *dst = '\0'; + return (int)(dst - start); +} + +int +strunvisx(char *dst, const char *src, int flag) +{ + return strnunvisx(dst, (size_t)~0, src, flag); +} + +int +strunvis(char *dst, const char *src) +{ + return strnunvisx(dst, (size_t)~0, src, 0); +} + +int +strnunvis(char *dst, size_t dlen, const char *src) +{ + return strnunvisx(dst, dlen, src, 0); +} +#endif diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/vi.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/vi.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/vi.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/vi.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,1157 @@ +/* $NetBSD: vi.c,v 1.63 2019/07/23 10:18:52 christos Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Christos Zoulas of Cornell University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "config.h" +#if !defined(lint) && !defined(SCCSID) +#if 0 +static char sccsid[] = "@(#)vi.c 8.1 (Berkeley) 6/4/93"; +#else +__RCSID("$NetBSD: vi.c,v 1.63 2019/07/23 10:18:52 christos Exp $"); +#endif +#endif /* not lint && not SCCSID */ + +/* + * vi.c: Vi mode commands. + */ +#include +#include +#include +#include +#include +#include + +#include "el.h" +#include "common.h" +#include "emacs.h" +#include "fcns.h" +#include "vi.h" + +static el_action_t cv_action(EditLine *, wint_t); +static el_action_t cv_paste(EditLine *, wint_t); + +/* cv_action(): + * Handle vi actions. + */ +static el_action_t +cv_action(EditLine *el, wint_t c) +{ + + if (el->el_chared.c_vcmd.action != NOP) { + /* 'cc', 'dd' and (possibly) friends */ + if (c != (wint_t)el->el_chared.c_vcmd.action) + return CC_ERROR; + + if (!(c & YANK)) + cv_undo(el); + cv_yank(el, el->el_line.buffer, + (int)(el->el_line.lastchar - el->el_line.buffer)); + el->el_chared.c_vcmd.action = NOP; + el->el_chared.c_vcmd.pos = 0; + if (!(c & YANK)) { + el->el_line.lastchar = el->el_line.buffer; + el->el_line.cursor = el->el_line.buffer; + } + if (c & INSERT) + el->el_map.current = el->el_map.key; + + return CC_REFRESH; + } + el->el_chared.c_vcmd.pos = el->el_line.cursor; + el->el_chared.c_vcmd.action = c; + return CC_ARGHACK; +} + +/* cv_paste(): + * Paste previous deletion before or after the cursor + */ +static el_action_t +cv_paste(EditLine *el, wint_t c) +{ + c_kill_t *k = &el->el_chared.c_kill; + size_t len = (size_t)(k->last - k->buf); + + if (k->buf == NULL || len == 0) + return CC_ERROR; +#ifdef DEBUG_PASTE + (void) fprintf(el->el_errfile, "Paste: \"%.*ls\"\n", (int)len, + k->buf); +#endif + + cv_undo(el); + + if (!c && el->el_line.cursor < el->el_line.lastchar) + el->el_line.cursor++; + + c_insert(el, (int)len); + if (el->el_line.cursor + len > el->el_line.lastchar) + return CC_ERROR; + (void) memcpy(el->el_line.cursor, k->buf, len * + sizeof(*el->el_line.cursor)); + + return CC_REFRESH; +} + + +/* vi_paste_next(): + * Vi paste previous deletion to the right of the cursor + * [p] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_paste_next(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + return cv_paste(el, 0); +} + + +/* vi_paste_prev(): + * Vi paste previous deletion to the left of the cursor + * [P] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_paste_prev(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + return cv_paste(el, 1); +} + + +/* vi_prev_big_word(): + * Vi move to the previous space delimited word + * [B] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_prev_big_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor == el->el_line.buffer) + return CC_ERROR; + + el->el_line.cursor = cv_prev_word(el->el_line.cursor, + el->el_line.buffer, + el->el_state.argument, + cv__isWord); + + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + + +/* vi_prev_word(): + * Vi move to the previous word + * [b] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor == el->el_line.buffer) + return CC_ERROR; + + el->el_line.cursor = cv_prev_word(el->el_line.cursor, + el->el_line.buffer, + el->el_state.argument, + cv__isword); + + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + + +/* vi_next_big_word(): + * Vi move to the next space delimited word + * [W] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_next_big_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor >= el->el_line.lastchar - 1) + return CC_ERROR; + + el->el_line.cursor = cv_next_word(el, el->el_line.cursor, + el->el_line.lastchar, el->el_state.argument, cv__isWord); + + if (el->el_map.type == MAP_VI) + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + + +/* vi_next_word(): + * Vi move to the next word + * [w] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_next_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor >= el->el_line.lastchar - 1) + return CC_ERROR; + + el->el_line.cursor = cv_next_word(el, el->el_line.cursor, + el->el_line.lastchar, el->el_state.argument, cv__isword); + + if (el->el_map.type == MAP_VI) + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + + +/* vi_change_case(): + * Vi change case of character under the cursor and advance one character + * [~] + */ +libedit_private el_action_t +vi_change_case(EditLine *el, wint_t c) +{ + int i; + + if (el->el_line.cursor >= el->el_line.lastchar) + return CC_ERROR; + cv_undo(el); + for (i = 0; i < el->el_state.argument; i++) { + + c = *el->el_line.cursor; + if (iswupper(c)) + *el->el_line.cursor = towlower(c); + else if (iswlower(c)) + *el->el_line.cursor = towupper(c); + + if (++el->el_line.cursor >= el->el_line.lastchar) { + el->el_line.cursor--; + re_fastaddc(el); + break; + } + re_fastaddc(el); + } + return CC_NORM; +} + + +/* vi_change_meta(): + * Vi change prefix command + * [c] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_change_meta(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + /* + * Delete with insert == change: first we delete and then we leave in + * insert mode. + */ + return cv_action(el, DELETE | INSERT); +} + + +/* vi_insert_at_bol(): + * Vi enter insert mode at the beginning of line + * [I] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_insert_at_bol(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_line.cursor = el->el_line.buffer; + cv_undo(el); + el->el_map.current = el->el_map.key; + return CC_CURSOR; +} + + +/* vi_replace_char(): + * Vi replace character under the cursor with the next character typed + * [r] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_replace_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor >= el->el_line.lastchar) + return CC_ERROR; + + el->el_map.current = el->el_map.key; + el->el_state.inputmode = MODE_REPLACE_1; + cv_undo(el); + return CC_ARGHACK; +} + + +/* vi_replace_mode(): + * Vi enter replace mode + * [R] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_replace_mode(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_map.current = el->el_map.key; + el->el_state.inputmode = MODE_REPLACE; + cv_undo(el); + return CC_NORM; +} + + +/* vi_substitute_char(): + * Vi replace character under the cursor and enter insert mode + * [s] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_substitute_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + c_delafter(el, el->el_state.argument); + el->el_map.current = el->el_map.key; + return CC_REFRESH; +} + + +/* vi_substitute_line(): + * Vi substitute entire line + * [S] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_substitute_line(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + cv_undo(el); + cv_yank(el, el->el_line.buffer, + (int)(el->el_line.lastchar - el->el_line.buffer)); + (void) em_kill_line(el, 0); + el->el_map.current = el->el_map.key; + return CC_REFRESH; +} + + +/* vi_change_to_eol(): + * Vi change to end of line + * [C] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_change_to_eol(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + cv_undo(el); + cv_yank(el, el->el_line.cursor, + (int)(el->el_line.lastchar - el->el_line.cursor)); + (void) ed_kill_line(el, 0); + el->el_map.current = el->el_map.key; + return CC_REFRESH; +} + + +/* vi_insert(): + * Vi enter insert mode + * [i] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_insert(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_map.current = el->el_map.key; + cv_undo(el); + return CC_NORM; +} + + +/* vi_add(): + * Vi enter insert mode after the cursor + * [a] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_add(EditLine *el, wint_t c __attribute__((__unused__))) +{ + int ret; + + el->el_map.current = el->el_map.key; + if (el->el_line.cursor < el->el_line.lastchar) { + el->el_line.cursor++; + if (el->el_line.cursor > el->el_line.lastchar) + el->el_line.cursor = el->el_line.lastchar; + ret = CC_CURSOR; + } else + ret = CC_NORM; + + cv_undo(el); + + return (el_action_t)ret; +} + + +/* vi_add_at_eol(): + * Vi enter insert mode at end of line + * [A] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_add_at_eol(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_map.current = el->el_map.key; + el->el_line.cursor = el->el_line.lastchar; + cv_undo(el); + return CC_CURSOR; +} + + +/* vi_delete_meta(): + * Vi delete prefix command + * [d] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_delete_meta(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + return cv_action(el, DELETE); +} + + +/* vi_end_big_word(): + * Vi move to the end of the current space delimited word + * [E] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_end_big_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor == el->el_line.lastchar) + return CC_ERROR; + + el->el_line.cursor = cv__endword(el->el_line.cursor, + el->el_line.lastchar, el->el_state.argument, cv__isWord); + + if (el->el_chared.c_vcmd.action != NOP) { + el->el_line.cursor++; + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + + +/* vi_end_word(): + * Vi move to the end of the current word + * [e] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_end_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor == el->el_line.lastchar) + return CC_ERROR; + + el->el_line.cursor = cv__endword(el->el_line.cursor, + el->el_line.lastchar, el->el_state.argument, cv__isword); + + if (el->el_chared.c_vcmd.action != NOP) { + el->el_line.cursor++; + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + + +/* vi_undo(): + * Vi undo last change + * [u] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_undo(EditLine *el, wint_t c __attribute__((__unused__))) +{ + c_undo_t un = el->el_chared.c_undo; + + if (un.len == -1) + return CC_ERROR; + + /* switch line buffer and undo buffer */ + el->el_chared.c_undo.buf = el->el_line.buffer; + el->el_chared.c_undo.len = el->el_line.lastchar - el->el_line.buffer; + el->el_chared.c_undo.cursor = + (int)(el->el_line.cursor - el->el_line.buffer); + el->el_line.limit = un.buf + (el->el_line.limit - el->el_line.buffer); + el->el_line.buffer = un.buf; + el->el_line.cursor = un.buf + un.cursor; + el->el_line.lastchar = un.buf + un.len; + + return CC_REFRESH; +} + + +/* vi_command_mode(): + * Vi enter command mode (use alternative key bindings) + * [] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_command_mode(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + /* [Esc] cancels pending action */ + el->el_chared.c_vcmd.action = NOP; + el->el_chared.c_vcmd.pos = 0; + + el->el_state.doingarg = 0; + + el->el_state.inputmode = MODE_INSERT; + el->el_map.current = el->el_map.alt; +#ifdef VI_MOVE + if (el->el_line.cursor > el->el_line.buffer) + el->el_line.cursor--; +#endif + return CC_CURSOR; +} + + +/* vi_zero(): + * Vi move to the beginning of line + * [0] + */ +libedit_private el_action_t +vi_zero(EditLine *el, wint_t c) +{ + + if (el->el_state.doingarg) + return ed_argument_digit(el, c); + + el->el_line.cursor = el->el_line.buffer; + if (el->el_chared.c_vcmd.action != NOP) { + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + + +/* vi_delete_prev_char(): + * Vi move to previous character (backspace) + * [^H] in insert mode only + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_line.cursor <= el->el_line.buffer) + return CC_ERROR; + + c_delbefore1(el); + el->el_line.cursor--; + return CC_REFRESH; +} + + +/* vi_list_or_eof(): + * Vi list choices for completion or indicate end of file if empty line + * [^D] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_list_or_eof(EditLine *el, wint_t c) +{ + + if (el->el_line.cursor == el->el_line.lastchar) { + if (el->el_line.cursor == el->el_line.buffer) { + terminal_writec(el, c); /* then do a EOF */ + return CC_EOF; + } else { + /* + * Here we could list completions, but it is an + * error right now + */ + terminal_beep(el); + return CC_ERROR; + } + } else { +#ifdef notyet + re_goto_bottom(el); + *el->el_line.lastchar = '\0'; /* just in case */ + return CC_LIST_CHOICES; +#else + /* + * Just complain for now. + */ + terminal_beep(el); + return CC_ERROR; +#endif + } +} + + +/* vi_kill_line_prev(): + * Vi cut from beginning of line to cursor + * [^U] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_kill_line_prev(EditLine *el, wint_t c __attribute__((__unused__))) +{ + wchar_t *kp, *cp; + + cp = el->el_line.buffer; + kp = el->el_chared.c_kill.buf; + while (cp < el->el_line.cursor) + *kp++ = *cp++; /* copy it */ + el->el_chared.c_kill.last = kp; + c_delbefore(el, (int)(el->el_line.cursor - el->el_line.buffer)); + el->el_line.cursor = el->el_line.buffer; /* zap! */ + return CC_REFRESH; +} + + +/* vi_search_prev(): + * Vi search history previous + * [?] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_search_prev(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + return cv_search(el, ED_SEARCH_PREV_HISTORY); +} + + +/* vi_search_next(): + * Vi search history next + * [/] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_search_next(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + return cv_search(el, ED_SEARCH_NEXT_HISTORY); +} + + +/* vi_repeat_search_next(): + * Vi repeat current search in the same search direction + * [n] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_repeat_search_next(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_search.patlen == 0) + return CC_ERROR; + else + return cv_repeat_srch(el, el->el_search.patdir); +} + + +/* vi_repeat_search_prev(): + * Vi repeat current search in the opposite search direction + * [N] + */ +/*ARGSUSED*/ +libedit_private el_action_t +vi_repeat_search_prev(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + if (el->el_search.patlen == 0) + return CC_ERROR; + else + return (cv_repeat_srch(el, + el->el_search.patdir == ED_SEARCH_PREV_HISTORY ? + ED_SEARCH_NEXT_HISTORY : ED_SEARCH_PREV_HISTORY)); +} + + +/* vi_next_char(): + * Vi move to the character specified next + * [f] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + return cv_csearch(el, CHAR_FWD, -1, el->el_state.argument, 0); +} + + +/* vi_prev_char(): + * Vi move to the character specified previous + * [F] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + return cv_csearch(el, CHAR_BACK, -1, el->el_state.argument, 0); +} + + +/* vi_to_next_char(): + * Vi move up to the character specified next + * [t] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_to_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + return cv_csearch(el, CHAR_FWD, -1, el->el_state.argument, 1); +} + + +/* vi_to_prev_char(): + * Vi move up to the character specified previous + * [T] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_to_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + return cv_csearch(el, CHAR_BACK, -1, el->el_state.argument, 1); +} + + +/* vi_repeat_next_char(): + * Vi repeat current character search in the same search direction + * [;] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_repeat_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + return cv_csearch(el, el->el_search.chadir, el->el_search.chacha, + el->el_state.argument, el->el_search.chatflg); +} + + +/* vi_repeat_prev_char(): + * Vi repeat current character search in the opposite search direction + * [,] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_repeat_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +{ + el_action_t r; + int dir = el->el_search.chadir; + + r = cv_csearch(el, -dir, el->el_search.chacha, + el->el_state.argument, el->el_search.chatflg); + el->el_search.chadir = dir; + return r; +} + + +/* vi_match(): + * Vi go to matching () {} or [] + * [%] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_match(EditLine *el, wint_t c __attribute__((__unused__))) +{ + const wchar_t match_chars[] = L"()[]{}"; + wchar_t *cp; + size_t delta, i, count; + wchar_t o_ch, c_ch; + + *el->el_line.lastchar = '\0'; /* just in case */ + + i = wcscspn(el->el_line.cursor, match_chars); + o_ch = el->el_line.cursor[i]; + if (o_ch == 0) + return CC_ERROR; + delta = (size_t)(wcschr(match_chars, o_ch) - match_chars); + c_ch = match_chars[delta ^ 1]; + count = 1; + delta = 1 - (delta & 1) * 2; + + for (cp = &el->el_line.cursor[i]; count; ) { + cp += delta; + if (cp < el->el_line.buffer || cp >= el->el_line.lastchar) + return CC_ERROR; + if (*cp == o_ch) + count++; + else if (*cp == c_ch) + count--; + } + + el->el_line.cursor = cp; + + if (el->el_chared.c_vcmd.action != NOP) { + /* NB posix says char under cursor should NOT be deleted + for -ve delta - this is different to netbsd vi. */ + if (delta > 0) + el->el_line.cursor++; + cv_delfini(el); + return CC_REFRESH; + } + return CC_CURSOR; +} + +/* vi_undo_line(): + * Vi undo all changes to line + * [U] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_undo_line(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + cv_undo(el); + return hist_get(el); +} + +/* vi_to_column(): + * Vi go to specified column + * [|] + * NB netbsd vi goes to screen column 'n', posix says nth character + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_to_column(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_line.cursor = el->el_line.buffer; + el->el_state.argument--; + return ed_next_char(el, 0); +} + +/* vi_yank_end(): + * Vi yank to end of line + * [Y] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_yank_end(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + cv_yank(el, el->el_line.cursor, + (int)(el->el_line.lastchar - el->el_line.cursor)); + return CC_REFRESH; +} + +/* vi_yank(): + * Vi yank + * [y] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_yank(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + return cv_action(el, YANK); +} + +/* vi_comment_out(): + * Vi comment out current command + * [#] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_comment_out(EditLine *el, wint_t c __attribute__((__unused__))) +{ + + el->el_line.cursor = el->el_line.buffer; + c_insert(el, 1); + *el->el_line.cursor = '#'; + re_refresh(el); + return ed_newline(el, 0); +} + +/* vi_alias(): + * Vi include shell alias + * [@] + * NB: posix implies that we should enter insert mode, however + * this is against historical precedent... + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_alias(EditLine *el, wint_t c __attribute__((__unused__))) +{ + char alias_name[3]; + const char *alias_text; + + if (el->el_chared.c_aliasfun == NULL) + return CC_ERROR; + + alias_name[0] = '_'; + alias_name[2] = 0; + if (el_getc(el, &alias_name[1]) != 1) + return CC_ERROR; + + alias_text = (*el->el_chared.c_aliasfun)(el->el_chared.c_aliasarg, + alias_name); + if (alias_text != NULL) + el_wpush(el, ct_decode_string(alias_text, &el->el_scratch)); + return CC_NORM; +} + +/* vi_to_history_line(): + * Vi go to specified history file line. + * [G] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_to_history_line(EditLine *el, wint_t c __attribute__((__unused__))) +{ + int sv_event_no = el->el_history.eventno; + el_action_t rval; + + + if (el->el_history.eventno == 0) { + (void) wcsncpy(el->el_history.buf, el->el_line.buffer, + EL_BUFSIZ); + el->el_history.last = el->el_history.buf + + (el->el_line.lastchar - el->el_line.buffer); + } + + /* Lack of a 'count' means oldest, not 1 */ + if (!el->el_state.doingarg) { + el->el_history.eventno = 0x7fffffff; + hist_get(el); + } else { + /* This is brain dead, all the rest of this code counts + * upwards going into the past. Here we need count in the + * other direction (to match the output of fc -l). + * I could change the world, but this seems to suffice. + */ + el->el_history.eventno = 1; + if (hist_get(el) == CC_ERROR) + return CC_ERROR; + el->el_history.eventno = 1 + el->el_history.ev.num + - el->el_state.argument; + if (el->el_history.eventno < 0) { + el->el_history.eventno = sv_event_no; + return CC_ERROR; + } + } + rval = hist_get(el); + if (rval == CC_ERROR) + el->el_history.eventno = sv_event_no; + return rval; +} + +/* vi_histedit(): + * Vi edit history line with vi + * [v] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_histedit(EditLine *el, wint_t c __attribute__((__unused__))) +{ + int fd; + pid_t pid; + ssize_t st; + int status; + char tempfile[] = "/tmp/histedit.XXXXXXXXXX"; + char *cp = NULL; + size_t len; + wchar_t *line = NULL; + + if (el->el_state.doingarg) { + if (vi_to_history_line(el, 0) == CC_ERROR) + return CC_ERROR; + } + + fd = mkstemp(tempfile); + if (fd < 0) + return CC_ERROR; + len = (size_t)(el->el_line.lastchar - el->el_line.buffer); +#define TMP_BUFSIZ (EL_BUFSIZ * MB_LEN_MAX) + cp = el_calloc(TMP_BUFSIZ, sizeof(*cp)); + if (cp == NULL) + goto error; + line = el_calloc(len + 1, sizeof(*line)); + if (line == NULL) + goto error; + wcsncpy(line, el->el_line.buffer, len); + line[len] = '\0'; + wcstombs(cp, line, TMP_BUFSIZ - 1); + cp[TMP_BUFSIZ - 1] = '\0'; + len = strlen(cp); + write(fd, cp, len); + write(fd, "\n", (size_t)1); + pid = fork(); + switch (pid) { + case -1: + goto error; + case 0: + close(fd); + execlp("vi", "vi", tempfile, (char *)NULL); + exit(0); + /*NOTREACHED*/ + default: + while (waitpid(pid, &status, 0) != pid) + continue; + lseek(fd, (off_t)0, SEEK_SET); + st = read(fd, cp, TMP_BUFSIZ - 1); + if (st > 0) { + cp[st] = '\0'; + len = (size_t)(el->el_line.limit - el->el_line.buffer); + len = mbstowcs(el->el_line.buffer, cp, len); + if (len > 0 && el->el_line.buffer[len - 1] == '\n') + --len; + } + else + len = 0; + el->el_line.cursor = el->el_line.buffer; + el->el_line.lastchar = el->el_line.buffer + len; + el_free(cp); + el_free(line); + break; + } + + close(fd); + unlink(tempfile); + /* return CC_REFRESH; */ + return ed_newline(el, 0); +error: + el_free(line); + el_free(cp); + close(fd); + unlink(tempfile); + return CC_ERROR; +} + +/* vi_history_word(): + * Vi append word from previous input line + * [_] + * Who knows where this one came from! + * '_' in vi means 'entire current line', so 'cc' is a synonym for 'c_' + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_history_word(EditLine *el, wint_t c __attribute__((__unused__))) +{ + const wchar_t *wp = HIST_FIRST(el); + const wchar_t *wep, *wsp; + int len; + wchar_t *cp; + const wchar_t *lim; + + if (wp == NULL) + return CC_ERROR; + + wep = wsp = NULL; + do { + while (iswspace(*wp)) + wp++; + if (*wp == 0) + break; + wsp = wp; + while (*wp && !iswspace(*wp)) + wp++; + wep = wp; + } while ((!el->el_state.doingarg || --el->el_state.argument > 0) + && *wp != 0); + + if (wsp == NULL || (el->el_state.doingarg && el->el_state.argument != 0)) + return CC_ERROR; + + cv_undo(el); + len = (int)(wep - wsp); + if (el->el_line.cursor < el->el_line.lastchar) + el->el_line.cursor++; + c_insert(el, len + 1); + cp = el->el_line.cursor; + lim = el->el_line.limit; + if (cp < lim) + *cp++ = ' '; + while (wsp < wep && cp < lim) + *cp++ = *wsp++; + el->el_line.cursor = cp; + + el->el_map.current = el->el_map.key; + return CC_REFRESH; +} + +/* vi_redo(): + * Vi redo last non-motion command + * [.] + */ +libedit_private el_action_t +/*ARGSUSED*/ +vi_redo(EditLine *el, wint_t c __attribute__((__unused__))) +{ + c_redo_t *r = &el->el_chared.c_redo; + + if (!el->el_state.doingarg && r->count) { + el->el_state.doingarg = 1; + el->el_state.argument = r->count; + } + + el->el_chared.c_vcmd.pos = el->el_line.cursor; + el->el_chared.c_vcmd.action = r->action; + if (r->pos != r->buf) { + if (r->pos + 1 > r->lim) + /* sanity */ + r->pos = r->lim - 1; + r->pos[0] = 0; + el_wpush(el, r->buf); + } + + el->el_state.thiscmd = r->cmd; + el->el_state.thisch = r->ch; + return (*el->el_map.func[r->cmd])(el, r->ch); +} diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/vis.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/vis.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/vis.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/vis.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,767 @@ +/* $NetBSD: vis.c,v 1.74 2017/11/27 16:37:21 christos Exp $ */ + +/*- + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/*- + * Copyright (c) 1999, 2005 The NetBSD Foundation, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" + +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: vis.c,v 1.74 2017/11/27 16:37:21 christos Exp $"); +#endif /* LIBC_SCCS and not lint */ +#ifdef __FBSDID +__FBSDID("$FreeBSD$"); +#endif + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#ifdef __weak_alias +__weak_alias(strvisx,_strvisx) +#endif + +#if !HAVE_VIS || !HAVE_SVIS +#include +#include +#include +#include + +/* + * The reason for going through the trouble to deal with character encodings + * in vis(3), is that we use this to safe encode output of commands. This + * safe encoding varies depending on the character set. For example if we + * display ps output in French, we don't want to display French characters + * as M-foo. + */ + +static wchar_t *do_svis(wchar_t *, wint_t, int, wint_t, const wchar_t *); + +#undef BELL +#define BELL L'\a' + +#if defined(LC_C_LOCALE) +#define iscgraph(c) isgraph_l(c, LC_C_LOCALE) +#else +/* Keep it simple for now, no locale stuff */ +#define iscgraph(c) isgraph(c) +#ifdef notyet +#include +static int +iscgraph(int c) { + int rv; + char *ol; + + ol = setlocale(LC_CTYPE, "C"); + rv = isgraph(c); + if (ol) + setlocale(LC_CTYPE, ol); + return rv; +} +#endif +#endif + +#define ISGRAPH(flags, c) \ + (((flags) & VIS_NOLOCALE) ? iscgraph(c) : iswgraph(c)) + +#define iswoctal(c) (((u_char)(c)) >= L'0' && ((u_char)(c)) <= L'7') +#define iswwhite(c) (c == L' ' || c == L'\t' || c == L'\n') +#define iswsafe(c) (c == L'\b' || c == BELL || c == L'\r') +#define xtoa(c) L"0123456789abcdef"[c] +#define XTOA(c) L"0123456789ABCDEF"[c] + +#define MAXEXTRAS 30 + +static const wchar_t char_shell[] = L"'`\";&<>()|{}]\\$!^~"; +static const wchar_t char_glob[] = L"*?[#"; + +#if !HAVE_NBTOOL_CONFIG_H +#ifndef __NetBSD__ +/* + * On NetBSD MB_LEN_MAX is currently 32 which does not fit on any integer + * integral type and it is probably wrong, since currently the maximum + * number of bytes and character needs is 6. Until this is fixed, the + * loops below are using sizeof(uint64_t) - 1 instead of MB_LEN_MAX, and + * the assertion is commented out. + */ +#ifdef __FreeBSD__ +/* + * On FreeBSD including for CTASSERT only works in kernel + * mode. + */ +#ifndef CTASSERT +#define CTASSERT(x) _CTASSERT(x, __LINE__) +#define _CTASSERT(x, y) __CTASSERT(x, y) +#define __CTASSERT(x, y) typedef char __assert ## y[(x) ? 1 : -1] +#endif +#endif /* __FreeBSD__ */ +/* +CTASSERT(MB_LEN_MAX <= sizeof(uint64_t)); +*/ +#endif /* !__NetBSD__ */ +#endif + +/* + * This is do_hvis, for HTTP style (RFC 1808) + */ +static wchar_t * +do_hvis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) +{ + if (iswalnum(c) + /* safe */ + || c == L'$' || c == L'-' || c == L'_' || c == L'.' || c == L'+' + /* extra */ + || c == L'!' || c == L'*' || c == L'\'' || c == L'(' || c == L')' + || c == L',') + dst = do_svis(dst, c, flags, nextc, extra); + else { + *dst++ = L'%'; + *dst++ = xtoa(((unsigned int)c >> 4) & 0xf); + *dst++ = xtoa((unsigned int)c & 0xf); + } + + return dst; +} + +/* + * This is do_mvis, for Quoted-Printable MIME (RFC 2045) + * NB: No handling of long lines or CRLF. + */ +static wchar_t * +do_mvis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) +{ + if ((c != L'\n') && + /* Space at the end of the line */ + ((iswspace(c) && (nextc == L'\r' || nextc == L'\n')) || + /* Out of range */ + (!iswspace(c) && (c < 33 || (c > 60 && c < 62) || c > 126)) || + /* Specific char to be escaped */ + wcschr(L"#$@[\\]^`{|}~", c) != NULL)) { + *dst++ = L'='; + *dst++ = XTOA(((unsigned int)c >> 4) & 0xf); + *dst++ = XTOA((unsigned int)c & 0xf); + } else + dst = do_svis(dst, c, flags, nextc, extra); + return dst; +} + +/* + * Output single byte of multibyte character. + */ +static wchar_t * +do_mbyte(wchar_t *dst, wint_t c, int flags, wint_t nextc, int iswextra) +{ + if (flags & VIS_CSTYLE) { + switch (c) { + case L'\n': + *dst++ = L'\\'; *dst++ = L'n'; + return dst; + case L'\r': + *dst++ = L'\\'; *dst++ = L'r'; + return dst; + case L'\b': + *dst++ = L'\\'; *dst++ = L'b'; + return dst; + case BELL: + *dst++ = L'\\'; *dst++ = L'a'; + return dst; + case L'\v': + *dst++ = L'\\'; *dst++ = L'v'; + return dst; + case L'\t': + *dst++ = L'\\'; *dst++ = L't'; + return dst; + case L'\f': + *dst++ = L'\\'; *dst++ = L'f'; + return dst; + case L' ': + *dst++ = L'\\'; *dst++ = L's'; + return dst; + case L'\0': + *dst++ = L'\\'; *dst++ = L'0'; + if (iswoctal(nextc)) { + *dst++ = L'0'; + *dst++ = L'0'; + } + return dst; + /* We cannot encode these characters in VIS_CSTYLE + * because they special meaning */ + case L'n': + case L'r': + case L'b': + case L'a': + case L'v': + case L't': + case L'f': + case L's': + case L'0': + case L'M': + case L'^': + case L'$': /* vis(1) -l */ + break; + default: + if (ISGRAPH(flags, c) && !iswoctal(c)) { + *dst++ = L'\\'; + *dst++ = c; + return dst; + } + } + } + if (iswextra || ((c & 0177) == L' ') || (flags & VIS_OCTAL)) { + *dst++ = L'\\'; + *dst++ = (u_char)(((u_int32_t)(u_char)c >> 6) & 03) + L'0'; + *dst++ = (u_char)(((u_int32_t)(u_char)c >> 3) & 07) + L'0'; + *dst++ = (c & 07) + L'0'; + } else { + if ((flags & VIS_NOSLASH) == 0) + *dst++ = L'\\'; + + if (c & 0200) { + c &= 0177; + *dst++ = L'M'; + } + + if (iswcntrl(c)) { + *dst++ = L'^'; + if (c == 0177) + *dst++ = L'?'; + else + *dst++ = c + L'@'; + } else { + *dst++ = L'-'; + *dst++ = c; + } + } + + return dst; +} + +/* + * This is do_vis, the central code of vis. + * dst: Pointer to the destination buffer + * c: Character to encode + * flags: Flags word + * nextc: The character following 'c' + * extra: Pointer to the list of extra characters to be + * backslash-protected. + */ +static wchar_t * +do_svis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) +{ + int iswextra, i, shft; + uint64_t bmsk, wmsk; + + iswextra = wcschr(extra, c) != NULL; + if (!iswextra && (ISGRAPH(flags, c) || iswwhite(c) || + ((flags & VIS_SAFE) && iswsafe(c)))) { + *dst++ = c; + return dst; + } + + /* See comment in istrsenvisx() output loop, below. */ + wmsk = 0; + for (i = sizeof(wmsk) - 1; i >= 0; i--) { + shft = i * NBBY; + bmsk = (uint64_t)0xffLL << shft; + wmsk |= bmsk; + if ((c & wmsk) || i == 0) + dst = do_mbyte(dst, (wint_t)( + (uint64_t)(c & bmsk) >> shft), + flags, nextc, iswextra); + } + + return dst; +} + +typedef wchar_t *(*visfun_t)(wchar_t *, wint_t, int, wint_t, const wchar_t *); + +/* + * Return the appropriate encoding function depending on the flags given. + */ +static visfun_t +getvisfun(int flags) +{ + if (flags & VIS_HTTPSTYLE) + return do_hvis; + if (flags & VIS_MIMESTYLE) + return do_mvis; + return do_svis; +} + +/* + * Expand list of extra characters to not visually encode. + */ +static wchar_t * +makeextralist(int flags, const char *src) +{ + wchar_t *dst, *d; + size_t len; + const wchar_t *s; + + len = strlen(src); + if ((dst = calloc(len + MAXEXTRAS, sizeof(*dst))) == NULL) + return NULL; + + if ((flags & VIS_NOLOCALE) || mbstowcs(dst, src, len) == (size_t)-1) { + size_t i; + for (i = 0; i < len; i++) + dst[i] = (wchar_t)(u_char)src[i]; + d = dst + len; + } else + d = dst + wcslen(dst); + + if (flags & VIS_GLOB) + for (s = char_glob; *s; *d++ = *s++) + continue; + + if (flags & VIS_SHELL) + for (s = char_shell; *s; *d++ = *s++) + continue; + + if (flags & VIS_SP) *d++ = L' '; + if (flags & VIS_TAB) *d++ = L'\t'; + if (flags & VIS_NL) *d++ = L'\n'; + if (flags & VIS_DQ) *d++ = L'"'; + if ((flags & VIS_NOSLASH) == 0) *d++ = L'\\'; + *d = L'\0'; + + return dst; +} + +/* + * istrsenvisx() + * The main internal function. + * All user-visible functions call this one. + */ +static int +istrsenvisx(char **mbdstp, size_t *dlen, const char *mbsrc, size_t mblength, + int flags, const char *mbextra, int *cerr_ptr) +{ + wchar_t *dst, *src, *pdst, *psrc, *start, *extra; + size_t len, olen; + uint64_t bmsk, wmsk; + wint_t c; + visfun_t f; + int clen = 0, cerr, error = -1, i, shft; + char *mbdst, *mdst; + ssize_t mbslength, maxolen; + + _DIAGASSERT(mbdstp != NULL); + _DIAGASSERT(mbsrc != NULL || mblength == 0); + _DIAGASSERT(mbextra != NULL); + + mbslength = (ssize_t)mblength; + /* + * When inputing a single character, must also read in the + * next character for nextc, the look-ahead character. + */ + if (mbslength == 1) + mbslength++; + + /* + * Input (mbsrc) is a char string considered to be multibyte + * characters. The input loop will read this string pulling + * one character, possibly multiple bytes, from mbsrc and + * converting each to wchar_t in src. + * + * The vis conversion will be done using the wide char + * wchar_t string. + * + * This will then be converted back to a multibyte string to + * return to the caller. + */ + + /* Allocate space for the wide char strings */ + psrc = pdst = extra = NULL; + mdst = NULL; + if ((psrc = calloc(mbslength + 1, sizeof(*psrc))) == NULL) + return -1; + if ((pdst = calloc((16 * mbslength) + 1, sizeof(*pdst))) == NULL) + goto out; + if (*mbdstp == NULL) { + if ((mdst = calloc((16 * mbslength) + 1, sizeof(*mdst))) == NULL) + goto out; + *mbdstp = mdst; + } + + mbdst = *mbdstp; + dst = pdst; + src = psrc; + + if (flags & VIS_NOLOCALE) { + /* Do one byte at a time conversion */ + cerr = 1; + } else { + /* Use caller's multibyte conversion error flag. */ + cerr = cerr_ptr ? *cerr_ptr : 0; + } + + /* + * Input loop. + * Handle up to mblength characters (not bytes). We do not + * stop at NULs because we may be processing a block of data + * that includes NULs. + */ + while (mbslength > 0) { + /* Convert one multibyte character to wchar_t. */ + if (!cerr) + clen = mbtowc(src, mbsrc, MB_LEN_MAX); + if (cerr || clen < 0) { + /* Conversion error, process as a byte instead. */ + *src = (wint_t)(u_char)*mbsrc; + clen = 1; + cerr = 1; + } + if (clen == 0) { + /* + * NUL in input gives 0 return value. process + * as single NUL byte and keep going. + */ + clen = 1; + } + /* Advance buffer character pointer. */ + src++; + /* Advance input pointer by number of bytes read. */ + mbsrc += clen; + /* Decrement input byte count. */ + mbslength -= clen; + } + len = src - psrc; + src = psrc; + + /* + * In the single character input case, we will have actually + * processed two characters, c and nextc. Reset len back to + * just a single character. + */ + if (mblength < len) + len = mblength; + + /* Convert extra argument to list of characters for this mode. */ + extra = makeextralist(flags, mbextra); + if (!extra) { + if (dlen && *dlen == 0) { + errno = ENOSPC; + goto out; + } + *mbdst = '\0'; /* can't create extra, return "" */ + error = 0; + goto out; + } + + /* Look up which processing function to call. */ + f = getvisfun(flags); + + /* + * Main processing loop. + * Call do_Xvis processing function one character at a time + * with next character available for look-ahead. + */ + for (start = dst; len > 0; len--) { + c = *src++; + dst = (*f)(dst, c, flags, len >= 1 ? *src : L'\0', extra); + if (dst == NULL) { + errno = ENOSPC; + goto out; + } + } + + /* Terminate the string in the buffer. */ + *dst = L'\0'; + + /* + * Output loop. + * Convert wchar_t string back to multibyte output string. + * If we have hit a multi-byte conversion error on input, + * output byte-by-byte here. Else use wctomb(). + */ + len = wcslen(start); + maxolen = dlen ? *dlen : (wcslen(start) * MB_LEN_MAX + 1); + olen = 0; + for (dst = start; len > 0; len--) { + if (!cerr) + clen = wctomb(mbdst, *dst); + if (cerr || clen < 0) { + /* + * Conversion error, process as a byte(s) instead. + * Examine each byte and higher-order bytes for + * data. E.g., + * 0x000000000000a264 -> a2 64 + * 0x000000001f00a264 -> 1f 00 a2 64 + */ + clen = 0; + wmsk = 0; + for (i = sizeof(wmsk) - 1; i >= 0; i--) { + shft = i * NBBY; + bmsk = (uint64_t)0xffLL << shft; + wmsk |= bmsk; + if ((*dst & wmsk) || i == 0) + mbdst[clen++] = (char)( + (uint64_t)(*dst & bmsk) >> + shft); + } + cerr = 1; + } + /* If this character would exceed our output limit, stop. */ + if (olen + clen > (size_t)maxolen) + break; + /* Advance output pointer by number of bytes written. */ + mbdst += clen; + /* Advance buffer character pointer. */ + dst++; + /* Incrment output character count. */ + olen += clen; + } + + /* Terminate the output string. */ + *mbdst = '\0'; + + if (flags & VIS_NOLOCALE) { + /* Pass conversion error flag out. */ + if (cerr_ptr) + *cerr_ptr = cerr; + } + + free(extra); + free(pdst); + free(psrc); + + return (int)olen; +out: + free(extra); + free(pdst); + free(psrc); + free(mdst); + return error; +} + +static int +istrsenvisxl(char **mbdstp, size_t *dlen, const char *mbsrc, + int flags, const char *mbextra, int *cerr_ptr) +{ + return istrsenvisx(mbdstp, dlen, mbsrc, + mbsrc != NULL ? strlen(mbsrc) : 0, flags, mbextra, cerr_ptr); +} + +#endif + +#if !HAVE_SVIS +/* + * The "svis" variants all take an "extra" arg that is a pointer + * to a NUL-terminated list of characters to be encoded, too. + * These functions are useful e. g. to encode strings in such a + * way so that they are not interpreted by a shell. + */ + +char * +svis(char *mbdst, int c, int flags, int nextc, const char *mbextra) +{ + char cc[2]; + int ret; + + cc[0] = c; + cc[1] = nextc; + + ret = istrsenvisx(&mbdst, NULL, cc, 1, flags, mbextra, NULL); + if (ret < 0) + return NULL; + return mbdst + ret; +} + +char * +snvis(char *mbdst, size_t dlen, int c, int flags, int nextc, const char *mbextra) +{ + char cc[2]; + int ret; + + cc[0] = c; + cc[1] = nextc; + + ret = istrsenvisx(&mbdst, &dlen, cc, 1, flags, mbextra, NULL); + if (ret < 0) + return NULL; + return mbdst + ret; +} + +int +strsvis(char *mbdst, const char *mbsrc, int flags, const char *mbextra) +{ + return istrsenvisxl(&mbdst, NULL, mbsrc, flags, mbextra, NULL); +} + +int +strsnvis(char *mbdst, size_t dlen, const char *mbsrc, int flags, const char *mbextra) +{ + return istrsenvisxl(&mbdst, &dlen, mbsrc, flags, mbextra, NULL); +} + +int +strsvisx(char *mbdst, const char *mbsrc, size_t len, int flags, const char *mbextra) +{ + return istrsenvisx(&mbdst, NULL, mbsrc, len, flags, mbextra, NULL); +} + +int +strsnvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags, + const char *mbextra) +{ + return istrsenvisx(&mbdst, &dlen, mbsrc, len, flags, mbextra, NULL); +} + +int +strsenvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags, + const char *mbextra, int *cerr_ptr) +{ + return istrsenvisx(&mbdst, &dlen, mbsrc, len, flags, mbextra, cerr_ptr); +} +#endif + +#if !HAVE_VIS +/* + * vis - visually encode characters + */ +char * +vis(char *mbdst, int c, int flags, int nextc) +{ + char cc[2]; + int ret; + + cc[0] = c; + cc[1] = nextc; + + ret = istrsenvisx(&mbdst, NULL, cc, 1, flags, "", NULL); + if (ret < 0) + return NULL; + return mbdst + ret; +} + +char * +nvis(char *mbdst, size_t dlen, int c, int flags, int nextc) +{ + char cc[2]; + int ret; + + cc[0] = c; + cc[1] = nextc; + + ret = istrsenvisx(&mbdst, &dlen, cc, 1, flags, "", NULL); + if (ret < 0) + return NULL; + return mbdst + ret; +} + +/* + * strvis - visually encode characters from src into dst + * + * Dst must be 4 times the size of src to account for possible + * expansion. The length of dst, not including the trailing NULL, + * is returned. + */ + +int +strvis(char *mbdst, const char *mbsrc, int flags) +{ + return istrsenvisxl(&mbdst, NULL, mbsrc, flags, "", NULL); +} + +int +strnvis(char *mbdst, size_t dlen, const char *mbsrc, int flags) +{ + return istrsenvisxl(&mbdst, &dlen, mbsrc, flags, "", NULL); +} + +int +stravis(char **mbdstp, const char *mbsrc, int flags) +{ + *mbdstp = NULL; + return istrsenvisxl(mbdstp, NULL, mbsrc, flags, "", NULL); +} + +/* + * strvisx - visually encode characters from src into dst + * + * Dst must be 4 times the size of src to account for possible + * expansion. The length of dst, not including the trailing NULL, + * is returned. + * + * Strvisx encodes exactly len characters from src into dst. + * This is useful for encoding a block of data. + */ + +int +strvisx(char *mbdst, const char *mbsrc, size_t len, int flags) +{ + return istrsenvisx(&mbdst, NULL, mbsrc, len, flags, "", NULL); +} + +int +strnvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags) +{ + return istrsenvisx(&mbdst, &dlen, mbsrc, len, flags, "", NULL); +} + +int +strenvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags, + int *cerr_ptr) +{ + return istrsenvisx(&mbdst, &dlen, mbsrc, len, flags, "", cerr_ptr); +} +#endif diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/vis.h mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/vis.h --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/vis.h 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/vis.h 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,117 @@ +/* $NetBSD: vis.h,v 1.25 2017/04/23 01:57:36 christos Exp $ */ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)vis.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _VIS_H_ +#define _VIS_H_ + +/* + * to select alternate encoding format + */ +#define VIS_OCTAL 0x0001 /* use octal \ddd format */ +#define VIS_CSTYLE 0x0002 /* use \[nrft0..] where appropiate */ + +/* + * to alter set of characters encoded (default is to encode all + * non-graphic except space, tab, and newline). + */ +#define VIS_SP 0x0004 /* also encode space */ +#define VIS_TAB 0x0008 /* also encode tab */ +#define VIS_NL 0x0010 /* also encode newline */ +#define VIS_WHITE (VIS_SP | VIS_TAB | VIS_NL) +#define VIS_SAFE 0x0020 /* only encode "unsafe" characters */ +#define VIS_DQ 0x8000 /* also encode double quotes */ + +/* + * other + */ +#define VIS_NOSLASH 0x0040 /* inhibit printing '\' */ +#define VIS_HTTP1808 0x0080 /* http-style escape % hex hex */ +#define VIS_HTTPSTYLE 0x0080 /* http-style escape % hex hex */ +#define VIS_MIMESTYLE 0x0100 /* mime-style escape = HEX HEX */ +#define VIS_HTTP1866 0x0200 /* http-style &#num; or &string; */ +#define VIS_NOESCAPE 0x0400 /* don't decode `\' */ +#define _VIS_END 0x0800 /* for unvis */ +#define VIS_GLOB 0x1000 /* encode glob(3) magic characters */ +#define VIS_SHELL 0x2000 /* encode shell special characters [not glob] */ +#define VIS_META (VIS_WHITE | VIS_GLOB | VIS_SHELL) +#define VIS_NOLOCALE 0x4000 /* encode using the C locale */ + +/* + * unvis return codes + */ +#define UNVIS_VALID 1 /* character valid */ +#define UNVIS_VALIDPUSH 2 /* character valid, push back passed char */ +#define UNVIS_NOCHAR 3 /* valid sequence, no character produced */ +#define UNVIS_SYNBAD -1 /* unrecognized escape sequence */ +#define UNVIS_ERROR -2 /* decoder in unknown state (unrecoverable) */ + +/* + * unvis flags + */ +#define UNVIS_END _VIS_END /* no more characters */ + +__BEGIN_DECLS +char *vis(char *, int, int, int); +char *nvis(char *, size_t, int, int, int); + +char *svis(char *, int, int, int, const char *); +char *snvis(char *, size_t, int, int, int, const char *); + +int strvis(char *, const char *, int); +int stravis(char **, const char *, int); +int strnvis(char *, size_t, const char *, int); + +int strsvis(char *, const char *, int, const char *); +int strsnvis(char *, size_t, const char *, int, const char *); + +int strvisx(char *, const char *, size_t, int); +int strnvisx(char *, size_t, const char *, size_t, int); +int strenvisx(char *, size_t, const char *, size_t, int, int *); + +int strsvisx(char *, const char *, size_t, int, const char *); +int strsnvisx(char *, size_t, const char *, size_t, int, const char *); +int strsenvisx(char *, size_t, const char *, size_t , int, const char *, + int *); + +int strunvis(char *, const char *); +int strnunvis(char *, size_t, const char *); + +int strunvisx(char *, const char *, int); +int strnunvisx(char *, size_t, const char *, int); + +#ifndef __LIBC12_SOURCE__ +int unvis(char *, int, int *, int); +#endif +__END_DECLS + +#endif /* !_VIS_H_ */ diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/wcsdup.c mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/wcsdup.c --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/src/wcsdup.c 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/src/wcsdup.c 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,43 @@ +/* $NetBSD: wcsdup.c,v 1.3 2008/05/26 13:17:48 haad Exp $ */ + +/* + * Copyright (C) 2006 Aleksey Cheusov + * + * This material is provided "as is", with absolutely no warranty expressed + * or implied. Any use is at your own risk. + * + * Permission to use or copy this software for any purpose is hereby granted + * without fee. Permission to modify the code and to distribute modified + * code is also granted without any restrictions. + */ + +#ifndef HAVE_WCSDUP + +#include "config.h" + +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: wcsdup.c,v 1.3 2008/05/26 13:17:48 haad Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#include +#include +#include + +wchar_t * +wcsdup(const wchar_t *str) +{ + wchar_t *copy; + size_t len; + + _DIAGASSERT(str != NULL); + + len = wcslen(str) + 1; + copy = malloc(len * sizeof (wchar_t)); + + if (!copy) + return NULL; + + return wmemcpy(copy, str, len); +} + +#endif diff -Nru mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/THANKS mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/THANKS --- mysql-5.7-5.7.33/extra/libedit/libedit-20191231-3.1/THANKS 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/extra/libedit/libedit-20191231-3.1/THANKS 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1 @@ +Thanks to the NetBSD Project maintainers of libedit! diff -Nru mysql-5.7-5.7.33/extra/lz4/my_xxhash.h mysql-5.7-5.7.34/extra/lz4/my_xxhash.h --- mysql-5.7-5.7.33/extra/lz4/my_xxhash.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/lz4/my_xxhash.h 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ #define MY_XXHASH_H_INCLUDED /* - Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/extra/lz4_decompress.cc mysql-5.7-5.7.34/extra/lz4_decompress.cc --- mysql-5.7-5.7.33/extra/lz4_decompress.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/lz4_decompress.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/extra/my_print_defaults.c mysql-5.7-5.7.34/extra/my_print_defaults.c --- mysql-5.7-5.7.33/extra/my_print_defaults.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/my_print_defaults.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /* - Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -64,7 +64,7 @@ "extension (e.g., .ini or .cnf) will be added", &config_file, &config_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit", 0,0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, #else diff -Nru mysql-5.7-5.7.33/extra/perror.c mysql-5.7-5.7.34/extra/perror.c --- mysql-5.7-5.7.33/extra/perror.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/perror.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/extra/protobuf/CMakeLists.txt mysql-5.7-5.7.34/extra/protobuf/CMakeLists.txt --- mysql-5.7-5.7.33/extra/protobuf/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/protobuf/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/extra/RAPIDJSON-README mysql-5.7-5.7.34/extra/RAPIDJSON-README --- mysql-5.7-5.7.33/extra/RAPIDJSON-README 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/RAPIDJSON-README 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/extra/replace.c mysql-5.7-5.7.34/extra/replace.c --- mysql-5.7-5.7.33/extra/replace.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/replace.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/extra/resolveip.c mysql-5.7-5.7.34/extra/resolveip.c --- mysql-5.7-5.7.33/extra/resolveip.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/resolveip.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/extra/resolve_stack_dump.cc mysql-5.7-5.7.34/extra/resolve_stack_dump.cc --- mysql-5.7-5.7.33/extra/resolve_stack_dump.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/resolve_stack_dump.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/extra/zlib_decompress.cc mysql-5.7-5.7.34/extra/zlib_decompress.cc --- mysql-5.7-5.7.33/extra/zlib_decompress.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/extra/zlib_decompress.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/atomic/gcc_atomic.h mysql-5.7-5.7.34/include/atomic/gcc_atomic.h --- mysql-5.7-5.7.33/include/atomic/gcc_atomic.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/atomic/gcc_atomic.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef GCC_ATOMIC_INCLUDED #define GCC_ATOMIC_INCLUDED -/* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/atomic/gcc_sync.h mysql-5.7-5.7.34/include/atomic/gcc_sync.h --- mysql-5.7-5.7.33/include/atomic/gcc_sync.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/atomic/gcc_sync.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef GCC_SYNC_INCLUDED #define GCC_SYNC_INCLUDED -/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/atomic/generic-msvc.h mysql-5.7-5.7.34/include/atomic/generic-msvc.h --- mysql-5.7-5.7.33/include/atomic/generic-msvc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/atomic/generic-msvc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef ATOMIC_MSC_INCLUDED #define ATOMIC_MSC_INCLUDED -/* Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/atomic/solaris.h mysql-5.7-5.7.34/include/atomic/solaris.h --- mysql-5.7-5.7.33/include/atomic/solaris.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/atomic/solaris.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef ATOMIC_SOLARIS_INCLUDED #define ATOMIC_SOLARIS_INCLUDED -/* Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/base64.h mysql-5.7-5.7.34/include/base64.h --- mysql-5.7-5.7.33/include/base64.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/base64.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/big_endian.h mysql-5.7-5.7.34/include/big_endian.h --- mysql-5.7-5.7.33/include/big_endian.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/big_endian.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/disjoint/box_box.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/disjoint/box_box.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/disjoint/box_box.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/disjoint/box_box.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -6,7 +6,7 @@ // Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland. // This file was modified by Oracle on 2013-2015. -// Modifications copyright (c) 2013-2015, Oracle and/or its affiliates. +// Modifications Copyright (c) 2013, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/disjoint/point_box.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/disjoint/point_box.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/disjoint/point_box.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/disjoint/point_box.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -6,7 +6,7 @@ // Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland // This file was modified by Oracle on 2013-2015. -// Modifications copyright (c) 2013-2015, Oracle and/or its affiliates. +// Modifications Copyright (c) 2013, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/distance/segment_to_box.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/distance/segment_to_box.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/distance/segment_to_box.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/distance/segment_to_box.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014, Oracle and/or its affiliates. +// Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/expand_by_epsilon.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/expand_by_epsilon.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/expand_by_epsilon.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/expand_by_epsilon.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry -// Copyright (c) 2015, Oracle and/or its affiliates. +// Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/areal.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/areal.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/areal.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/areal.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014-2015, Oracle and/or its affiliates. +// Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/linear.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/linear.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/linear.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/linear.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014-2015, Oracle and/or its affiliates. +// Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/multipoint.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/multipoint.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/multipoint.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_simple/multipoint.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014-2015, Oracle and/or its affiliates. +// Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_valid/polygon.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_valid/polygon.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_valid/polygon.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/is_valid/polygon.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014-2015, Oracle and/or its affiliates. +// Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/clip_linestring.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/clip_linestring.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/clip_linestring.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/clip_linestring.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014-2015, Oracle and/or its affiliates. +// Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. // This file was modified by Oracle on 2013, 2014, 2015. -// Modifications copyright (c) 2013-2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2013, 2021, Oracle and/or its affiliates. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turns.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turns.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turns.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/get_turns.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -4,7 +4,7 @@ // Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. // This file was modified by Oracle on 2014. -// Modifications copyright (c) 2014 Oracle and/or its affiliates. +// Modifications Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/inconsistent_turns_exception.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/inconsistent_turns_exception.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/inconsistent_turns_exception.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/inconsistent_turns_exception.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014-2015, Oracle and/or its affiliates. +// Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/insert_touch_interior_turns.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/insert_touch_interior_turns.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/insert_touch_interior_turns.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/insert_touch_interior_turns.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2015, Oracle and/or its affiliates. +// Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/intersection_box_box.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/intersection_box_box.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/intersection_box_box.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/intersection_box_box.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015, Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. // This file was modified by Oracle on 2014, 2015. -// Modifications copyright (c) 2014-2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/overlay.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/overlay.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/overlay.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/overlay.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -4,7 +4,7 @@ // Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015, Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/split_rings.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/split_rings.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/split_rings.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/overlay/split_rings.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2015, Oracle and/or its affiliates. +// Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -6,7 +6,7 @@ // Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland. // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/areal_areal.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/areal_areal.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/areal_areal.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/areal_areal.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. // This file was modified by Oracle on 2013, 2014, 2015. -// Modifications copyright (c) 2013-2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2013, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/boundary_checker.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/boundary_checker.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/boundary_checker.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/boundary_checker.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014 Oracle and/or its affiliates. +// Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/topology_check.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/topology_check.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/topology_check.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/topology_check.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014, Oracle and/or its affiliates. +// Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/turns.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/turns.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/turns.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/relate/turns.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. // This file was modified by Oracle on 2013, 2014, 2015. -// Modifications copyright (c) 2013-2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2013, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/sections/sectionalize.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/sections/sectionalize.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/sections/sectionalize.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/sections/sectionalize.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -6,7 +6,7 @@ // Copyright (c) 2014-2015 Adam Wulkiewicz, Lodz, Poland. // This file was modified by Oracle on 2013, 2014, 2015. -// Modifications copyright (c) 2013-2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2013, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/sections/section_functions.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/sections/section_functions.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/sections/section_functions.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/detail/sections/section_functions.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ // Copyright (c) 2015 Barend Gehrels, Amsterdam, the Netherlands. // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015, Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/overlaps.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/overlaps.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/overlaps.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/overlaps.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -5,7 +5,7 @@ // Copyright (c) 2009-2015 Mateusz Loskot, London, UK. // This file was modified by Oracle on 2014, 2015. -// Modifications copyright (c) 2014-2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/touches.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/touches.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/algorithms/touches.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/algorithms/touches.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -6,7 +6,7 @@ // Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland. // This file was modified by Oracle on 2013, 2014, 2015. -// Modifications copyright (c) 2013-2015, Oracle and/or its affiliates. +// Modifications Copyright (c) 2013, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/core/exception.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/core/exception.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/core/exception.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/core/exception.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -5,7 +5,7 @@ // Copyright (c) 2009-2015 Mateusz Loskot, London, UK. // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/strategies/agnostic/simplify_douglas_peucker.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/strategies/agnostic/simplify_douglas_peucker.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/strategies/agnostic/simplify_douglas_peucker.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/strategies/agnostic/simplify_douglas_peucker.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -4,7 +4,7 @@ // Copyright (c) 1995 Maarten Hilferink, Amsterdam, the Netherlands // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015, Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/strategies/cartesian/box_in_box.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/strategies/cartesian/box_in_box.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/strategies/cartesian/box_in_box.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/strategies/cartesian/box_in_box.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -6,7 +6,7 @@ // Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland. // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015, Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/strategies/cartesian/point_in_box.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/strategies/cartesian/point_in_box.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/strategies/cartesian/point_in_box.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/strategies/cartesian/point_in_box.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -5,7 +5,7 @@ // Copyright (c) 2009-2015 Mateusz Loskot, London, UK. // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015, Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/strategies/transform/matrix_transformers.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/strategies/transform/matrix_transformers.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/strategies/transform/matrix_transformers.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/strategies/transform/matrix_transformers.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -5,7 +5,7 @@ // Copyright (c) 2009-2015 Mateusz Loskot, London, UK. // This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015 Oracle and/or its affiliates. +// Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/util/has_nan_coordinate.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/util/has_nan_coordinate.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/util/has_nan_coordinate.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/util/has_nan_coordinate.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ // Boost.Geometry -// Copyright (c) 2015 Oracle and/or its affiliates. +// Copyright (c) 2015, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/util/math.hpp mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/util/math.hpp --- mysql-5.7-5.7.33/include/boost_1_59_0/patches/boost/geometry/util/math.hpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/boost_1_59_0/patches/boost/geometry/util/math.hpp 2021-03-26 06:58:52.000000000 +0000 @@ -5,7 +5,7 @@ // Copyright (c) 2009-2015 Mateusz Loskot, London, UK. // This file was modified by Oracle on 2014, 2015. -// Modifications copyright (c) 2014-2015, Oracle and/or its affiliates. +// Modifications Copyright (c) 2014, 2021, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle diff -Nru mysql-5.7-5.7.33/include/byte_order_generic.h mysql-5.7-5.7.34/include/byte_order_generic.h --- mysql-5.7-5.7.33/include/byte_order_generic.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/byte_order_generic.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/byte_order_generic_x86.h mysql-5.7-5.7.34/include/byte_order_generic_x86.h --- mysql-5.7-5.7.33/include/byte_order_generic_x86.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/byte_order_generic_x86.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/caching_sha2_passwordopt-longopts.h mysql-5.7-5.7.34/include/caching_sha2_passwordopt-longopts.h --- mysql-5.7-5.7.33/include/caching_sha2_passwordopt-longopts.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/caching_sha2_passwordopt-longopts.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2018, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/caching_sha2_passwordopt-vars.h mysql-5.7-5.7.34/include/caching_sha2_passwordopt-vars.h --- mysql-5.7-5.7.33/include/caching_sha2_passwordopt-vars.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/caching_sha2_passwordopt-vars.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2018, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/CMakeLists.txt mysql-5.7-5.7.34/include/CMakeLists.txt --- mysql-5.7-5.7.33/include/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/crypt_genhash_impl.h mysql-5.7-5.7.34/include/crypt_genhash_impl.h --- mysql-5.7-5.7.33/include/crypt_genhash_impl.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/crypt_genhash_impl.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/decimal.h mysql-5.7-5.7.34/include/decimal.h --- mysql-5.7-5.7.33/include/decimal.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/decimal.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/dur_prop.h mysql-5.7-5.7.34/include/dur_prop.h --- mysql-5.7-5.7.33/include/dur_prop.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/dur_prop.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/errmsg.h mysql-5.7-5.7.34/include/errmsg.h --- mysql-5.7-5.7.33/include/errmsg.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/errmsg.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef ERRMSG_INCLUDED #define ERRMSG_INCLUDED -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/ft_global.h mysql-5.7-5.7.34/include/ft_global.h --- mysql-5.7-5.7.33/include/ft_global.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/ft_global.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef FT_GLOBAL_INCLUDED #define FT_GLOBAL_INCLUDED -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/hash.h mysql-5.7-5.7.34/include/hash.h --- mysql-5.7-5.7.33/include/hash.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/hash.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/heap.h mysql-5.7-5.7.34/include/heap.h --- mysql-5.7-5.7.33/include/heap.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/heap.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/i_callable.h mysql-5.7-5.7.34/include/i_callable.h --- mysql-5.7-5.7.33/include/i_callable.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/i_callable.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/instance_callback.h mysql-5.7-5.7.34/include/instance_callback.h --- mysql-5.7-5.7.33/include/instance_callback.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/instance_callback.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/keycache.h mysql-5.7-5.7.34/include/keycache.h --- mysql-5.7-5.7.33/include/keycache.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/keycache.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/lf.h mysql-5.7-5.7.34/include/lf.h --- mysql-5.7-5.7.33/include/lf.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/lf.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/little_endian.h mysql-5.7-5.7.34/include/little_endian.h --- mysql-5.7-5.7.33/include/little_endian.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/little_endian.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef LITTLE_ENDIAN_INCLUDED #define LITTLE_ENDIAN_INCLUDED -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/m_ctype.h mysql-5.7-5.7.34/include/m_ctype.h --- mysql-5.7-5.7.33/include/m_ctype.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/m_ctype.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/m_string.h mysql-5.7-5.7.34/include/m_string.h --- mysql-5.7-5.7.33/include/m_string.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/m_string.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -301,7 +301,7 @@ const uchar *start_words= (const uchar *)(intptr) ((((ulonglong)(intptr)ptr) + SIZEOF_INT - 1) / SIZEOF_INT * SIZEOF_INT); - DBUG_ASSERT(end_words > ptr); + assert(end_words > ptr); while (end > end_words && end[-1] == 0x20) end--; if (end[-1] == 0x20 && start_words < end_words) diff -Nru mysql-5.7-5.7.33/include/mutex_lock.h mysql-5.7-5.7.34/include/mutex_lock.h --- mysql-5.7-5.7.33/include/mutex_lock.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mutex_lock.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_aes.h mysql-5.7-5.7.34/include/my_aes.h --- mysql-5.7-5.7.33/include/my_aes.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_aes.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MY_AES_INCLUDED #define MY_AES_INCLUDED -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_alloc.h mysql-5.7-5.7.34/include/my_alloc.h --- mysql-5.7-5.7.33/include/my_alloc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_alloc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_atomic.h mysql-5.7-5.7.34/include/my_atomic.h --- mysql-5.7-5.7.33/include/my_atomic.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_atomic.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MY_ATOMIC_INCLUDED #define MY_ATOMIC_INCLUDED -/* Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_base.h mysql-5.7-5.7.34/include/my_base.h --- mysql-5.7-5.7.33/include/my_base.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_base.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_bit.h mysql-5.7-5.7.34/include/my_bit.h --- mysql-5.7-5.7.33/include/my_bit.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_bit.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_bitmap.h mysql-5.7-5.7.34/include/my_bitmap.h --- mysql-5.7-5.7.33/include/my_bitmap.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_bitmap.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -84,28 +84,28 @@ static inline void bitmap_set_bit(MY_BITMAP *map, uint bit) { - DBUG_ASSERT(bit < map->n_bits); + assert(bit < map->n_bits); ((uchar*)map->bitmap)[bit / 8] |= (1 << (bit & 7)); } static inline void bitmap_flip_bit(MY_BITMAP *map, uint bit) { - DBUG_ASSERT(bit < map->n_bits); + assert(bit < map->n_bits); ((uchar*)map->bitmap)[bit / 8] ^= (1 << (bit & 7)); } static inline void bitmap_clear_bit(MY_BITMAP *map, uint bit) { - DBUG_ASSERT(bit < map->n_bits); + assert(bit < map->n_bits); ((uchar*)map->bitmap)[bit / 8] &= ~(1 << (bit & 7)); } static inline my_bool bitmap_is_set(const MY_BITMAP *map, uint bit) { - DBUG_ASSERT(bit < map->n_bits); + assert(bit < map->n_bits); return ((uchar*)map->bitmap)[bit / 8] & (1 << (bit & 7)); } @@ -119,8 +119,8 @@ */ static inline my_bool bitmap_cmp(const MY_BITMAP *map1, const MY_BITMAP *map2) { - DBUG_ASSERT(map1->n_bits > 0); - DBUG_ASSERT(map2->n_bits > 0); + assert(map1->n_bits > 0); + assert(map2->n_bits > 0); if (memcmp(map1->bitmap, map2->bitmap, 4*(no_words_in_map(map1)-1)) != 0) return FALSE; diff -Nru mysql-5.7-5.7.33/include/my_byteorder.h mysql-5.7-5.7.34/include/my_byteorder.h --- mysql-5.7-5.7.33/include/my_byteorder.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_byteorder.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MY_BYTEORDER_INCLUDED #define MY_BYTEORDER_INCLUDED -/* Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_check_opt.h mysql-5.7-5.7.34/include/my_check_opt.h --- mysql-5.7-5.7.33/include/my_check_opt.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_check_opt.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_command.h mysql-5.7-5.7.34/include/my_command.h --- mysql-5.7-5.7.33/include/my_command.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_command.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_compare.h mysql-5.7-5.7.34/include/my_compare.h --- mysql-5.7-5.7.33/include/my_compare.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_compare.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_compiler.h mysql-5.7-5.7.34/include/my_compiler.h --- mysql-5.7-5.7.33/include/my_compiler.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_compiler.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MY_COMPILER_INCLUDED #define MY_COMPILER_INCLUDED -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_dbug.h mysql-5.7-5.7.34/include/my_dbug.h --- mysql-5.7-5.7.33/include/my_dbug.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_dbug.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -33,7 +33,7 @@ #ifdef __cplusplus extern "C" { #endif -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) struct _db_stack_frame_ { const char *func; /* function name of the previous stack frame */ @@ -127,7 +127,6 @@ #define DBUG_END() _db_end_ () #define DBUG_LOCK_FILE _db_lock_file_() #define DBUG_UNLOCK_FILE _db_unlock_file_() -#define DBUG_ASSERT(A) assert(A) #define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len)) #define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len)) #define DEBUGGER_OFF do { _dbug_on_= 0; } while(0) @@ -193,7 +192,6 @@ #define DBUG_LONGJMP(a1) longjmp(a1) #define DBUG_DUMP(keyword,a1,a2) do { } while(0) #define DBUG_END() do { } while(0) -#define DBUG_ASSERT(A) do { } while(0) #define DBUG_LOCK_FILE do { } while(0) #define DBUG_FILE (stderr) #define DBUG_UNLOCK_FILE do { } while(0) @@ -229,7 +227,7 @@ #endif #ifdef __cplusplus -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) #include /* @@ -251,7 +249,7 @@ sout << v; \ DBUG_PUTS(keyword, sout.str().c_str()); \ } while(0) -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ #endif /* __cplusplus */ #endif /* MY_DBUG_INCLUDED */ diff -Nru mysql-5.7-5.7.33/include/my_default.h mysql-5.7-5.7.34/include/my_default.h --- mysql-5.7-5.7.33/include/my_default.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_default.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_dir.h mysql-5.7-5.7.34/include/my_dir.h --- mysql-5.7-5.7.33/include/my_dir.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_dir.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_getopt.h mysql-5.7-5.7.34/include/my_getopt.h --- mysql-5.7-5.7.33/include/my_getopt.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_getopt.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_global.h mysql-5.7-5.7.34/include/my_global.h --- mysql-5.7-5.7.33/include/my_global.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_global.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -74,7 +74,7 @@ /* A lot of our programs uses asserts, so better to always include it - This also fixes a problem when people uses DBUG_ASSERT without including + This also fixes a problem when people uses assert without including assert.h */ #include diff -Nru mysql-5.7-5.7.33/include/my_icp.h mysql-5.7-5.7.34/include/my_icp.h --- mysql-5.7-5.7.33/include/my_icp.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_icp.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/myisam.h mysql-5.7-5.7.34/include/myisam.h --- mysql-5.7-5.7.33/include/myisam.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/myisam.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/myisammrg.h mysql-5.7-5.7.34/include/myisammrg.h --- mysql-5.7-5.7.33/include/myisammrg.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/myisammrg.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000-2002, 2004, 2006-2008 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/include/myisampack.h mysql-5.7-5.7.34/include/myisampack.h --- mysql-5.7-5.7.33/include/myisampack.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/myisampack.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MYISAMPACK_INCLUDED #define MYISAMPACK_INCLUDED -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_list.h mysql-5.7-5.7.34/include/my_list.h --- mysql-5.7-5.7.33/include/my_list.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_list.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_md5.h mysql-5.7-5.7.34/include/my_md5.h --- mysql-5.7-5.7.33/include/my_md5.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_md5.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MY_MD5_INCLUDED #define MY_MD5_INCLUDED -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_md5_size.h mysql-5.7-5.7.34/include/my_md5_size.h --- mysql-5.7-5.7.33/include/my_md5_size.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_md5_size.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef MY_MD5_SIZE_INCLUDED #define MY_MD5_SIZE_INCLUDED -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_murmur3.h mysql-5.7-5.7.34/include/my_murmur3.h --- mysql-5.7-5.7.33/include/my_murmur3.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_murmur3.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MY_MURMUR3_INCLUDED #define MY_MURMUR3_INCLUDED -/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_openssl.h mysql-5.7-5.7.34/include/my_openssl.h --- mysql-5.7-5.7.33/include/my_openssl.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_openssl.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2020, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_rdtsc.h mysql-5.7-5.7.34/include/my_rdtsc.h --- mysql-5.7-5.7.33/include/my_rdtsc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_rdtsc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_rnd.h mysql-5.7-5.7.34/include/my_rnd.h --- mysql-5.7-5.7.33/include/my_rnd.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_rnd.h 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ #define MY_RANDOM_INCLUDED /* - Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/client_authentication.h mysql-5.7-5.7.34/include/mysql/client_authentication.h --- mysql-5.7-5.7.33/include/mysql/client_authentication.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/client_authentication.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/client_plugin.h mysql-5.7-5.7.34/include/mysql/client_plugin.h --- mysql-5.7-5.7.33/include/mysql/client_plugin.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/client_plugin.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ #ifndef MYSQL_CLIENT_PLUGIN_INCLUDED -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/com_data.h mysql-5.7-5.7.34/include/mysql/com_data.h --- mysql-5.7-5.7.33/include/mysql/com_data.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/com_data.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/get_password.h mysql-5.7-5.7.34/include/mysql/get_password.h --- mysql-5.7-5.7.33/include/mysql/get_password.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/get_password.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/group_replication_priv.h mysql-5.7-5.7.34/include/mysql/group_replication_priv.h --- mysql-5.7-5.7.33/include/mysql/group_replication_priv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/group_replication_priv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -135,7 +135,7 @@ bool get_server_encoded_gtid_executed(uchar **encoded_gtid_executed, size_t *length); -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) /** Returns a text representation of a encoded GTID set. diff -Nru mysql-5.7-5.7.33/include/mysql/innodb_priv.h mysql-5.7-5.7.34/include/mysql/innodb_priv.h --- mysql-5.7-5.7.33/include/mysql/innodb_priv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/innodb_priv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/mysql_lex_string.h mysql-5.7-5.7.34/include/mysql/mysql_lex_string.h --- mysql-5.7-5.7.33/include/mysql/mysql_lex_string.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/mysql_lex_string.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/plugin_audit.h mysql-5.7-5.7.34/include/mysql/plugin_audit.h --- mysql-5.7-5.7.33/include/mysql/plugin_audit.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/plugin_audit.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/plugin_auth_common.h mysql-5.7-5.7.34/include/mysql/plugin_auth_common.h --- mysql-5.7-5.7.33/include/mysql/plugin_auth_common.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/plugin_auth_common.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ #ifndef MYSQL_PLUGIN_AUTH_COMMON_INCLUDED -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/plugin_auth.h mysql-5.7-5.7.34/include/mysql/plugin_auth.h --- mysql-5.7-5.7.33/include/mysql/plugin_auth.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/plugin_auth.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ #ifndef MYSQL_PLUGIN_AUTH_INCLUDED -/* Copyright (c) 2010, 2016 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/plugin_ftparser.h mysql-5.7-5.7.34/include/mysql/plugin_ftparser.h --- mysql-5.7-5.7.33/include/mysql/plugin_ftparser.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/plugin_ftparser.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/plugin_group_replication.h mysql-5.7-5.7.34/include/mysql/plugin_group_replication.h --- mysql-5.7-5.7.33/include/mysql/plugin_group_replication.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/plugin_group_replication.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/plugin.h mysql-5.7-5.7.34/include/mysql/plugin.h --- mysql-5.7-5.7.33/include/mysql/plugin.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/plugin.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/plugin_keyring.h mysql-5.7-5.7.34/include/mysql/plugin_keyring.h --- mysql-5.7-5.7.33/include/mysql/plugin_keyring.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/plugin_keyring.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, 2017 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/plugin_trace.h mysql-5.7-5.7.34/include/mysql/plugin_trace.h --- mysql-5.7-5.7.33/include/mysql/plugin_trace.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/plugin_trace.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -338,7 +338,7 @@ extern struct st_mysql_client_plugin_TRACE *trace_plugin; -#ifndef DBUG_OFF +#ifndef NDEBUG /* Functions for getting names of trace events and protocol diff -Nru mysql-5.7-5.7.33/include/mysql/plugin_validate_password.h mysql-5.7-5.7.34/include/mysql/plugin_validate_password.h --- mysql-5.7-5.7.33/include/mysql/plugin_validate_password.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/plugin_validate_password.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_file.h mysql-5.7-5.7.34/include/mysql/psi/mysql_file.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_file.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_file.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -218,7 +218,7 @@ With the instrumentation, mysql_fclose(NULL, ...) will safely return 0, which is an extension compared to my_fclose and is therefore compliant. mysql_fclose is on purpose *not* implementing - @code DBUG_ASSERT(file != NULL) @endcode, + @code assert(file != NULL) @endcode, since doing so could introduce regressions. */ #ifdef HAVE_PSI_FILE_INTERFACE diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_idle.h mysql-5.7-5.7.34/include/mysql/psi/mysql_idle.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_idle.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_idle.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_mdl.h mysql-5.7-5.7.34/include/mysql/psi/mysql_mdl.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_mdl.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_mdl.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_memory.h mysql-5.7-5.7.34/include/mysql/psi/mysql_memory.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_memory.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_memory.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_ps.h mysql-5.7-5.7.34/include/mysql/psi/mysql_ps.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_ps.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_ps.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_socket.h mysql-5.7-5.7.34/include/mysql/psi/mysql_socket.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_socket.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_socket.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_sp.h mysql-5.7-5.7.34/include/mysql/psi/mysql_sp.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_sp.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_sp.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_stage.h mysql-5.7-5.7.34/include/mysql/psi/mysql_stage.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_stage.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_stage.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_statement.h mysql-5.7-5.7.34/include/mysql/psi/mysql_statement.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_statement.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_statement.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_table.h mysql-5.7-5.7.34/include/mysql/psi/mysql_table.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_table.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_table.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_thread.h mysql-5.7-5.7.34/include/mysql/psi/mysql_thread.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_thread.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_thread.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/mysql_transaction.h mysql-5.7-5.7.34/include/mysql/psi/mysql_transaction.h --- mysql-5.7-5.7.33/include/mysql/psi/mysql_transaction.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/mysql_transaction.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/psi_abi_v0.h mysql-5.7-5.7.34/include/mysql/psi/psi_abi_v0.h --- mysql-5.7-5.7.33/include/mysql/psi/psi_abi_v0.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/psi_abi_v0.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/psi_abi_v1.h mysql-5.7-5.7.34/include/mysql/psi/psi_abi_v1.h --- mysql-5.7-5.7.33/include/mysql/psi/psi_abi_v1.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/psi_abi_v1.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/psi_abi_v2.h mysql-5.7-5.7.34/include/mysql/psi/psi_abi_v2.h --- mysql-5.7-5.7.33/include/mysql/psi/psi_abi_v2.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/psi_abi_v2.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/psi_base.h mysql-5.7-5.7.34/include/mysql/psi/psi_base.h --- mysql-5.7-5.7.33/include/mysql/psi/psi_base.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/psi_base.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/psi.h mysql-5.7-5.7.34/include/mysql/psi/psi.h --- mysql-5.7-5.7.33/include/mysql/psi/psi.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/psi.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/psi/psi_memory.h mysql-5.7-5.7.34/include/mysql/psi/psi_memory.h --- mysql-5.7-5.7.33/include/mysql/psi/psi_memory.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/psi/psi_memory.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_command.h mysql-5.7-5.7.34/include/mysql/service_command.h --- mysql-5.7-5.7.33/include/mysql/service_command.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_command.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef MYSQL_SERVICE_COMMAND_INCLUDED #define MYSQL_SERVICE_COMMAND_INCLUDED -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_locking.h mysql-5.7-5.7.34/include/mysql/service_locking.h --- mysql-5.7-5.7.33/include/mysql/service_locking.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_locking.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_my_plugin_log.h mysql-5.7-5.7.34/include/mysql/service_my_plugin_log.h --- mysql-5.7-5.7.33/include/mysql/service_my_plugin_log.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_my_plugin_log.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_my_snprintf.h mysql-5.7-5.7.34/include/mysql/service_my_snprintf.h --- mysql-5.7-5.7.33/include/mysql/service_my_snprintf.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_my_snprintf.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef MYSQL_SERVICE_MY_SNPRINTF_INCLUDED #define MYSQL_SERVICE_MY_SNPRINTF_INCLUDED -/* Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_mysql_alloc.h mysql-5.7-5.7.34/include/mysql/service_mysql_alloc.h --- mysql-5.7-5.7.33/include/mysql/service_mysql_alloc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_mysql_alloc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_mysql_keyring.h mysql-5.7-5.7.34/include/mysql/service_mysql_keyring.h --- mysql-5.7-5.7.33/include/mysql/service_mysql_keyring.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_mysql_keyring.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_mysql_password_policy.h mysql-5.7-5.7.34/include/mysql/service_mysql_password_policy.h --- mysql-5.7-5.7.33/include/mysql/service_mysql_password_policy.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_mysql_password_policy.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_mysql_string.h mysql-5.7-5.7.34/include/mysql/service_mysql_string.h --- mysql-5.7-5.7.33/include/mysql/service_mysql_string.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_mysql_string.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_parser.h mysql-5.7-5.7.34/include/mysql/service_parser.h --- mysql-5.7-5.7.33/include/mysql/service_parser.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_parser.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef MYSQL_SERVICE_PARSER_INCLUDED #define MYSQL_SERVICE_PARSER_INCLUDED -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_rpl_transaction_ctx.h mysql-5.7-5.7.34/include/mysql/service_rpl_transaction_ctx.h --- mysql-5.7-5.7.33/include/mysql/service_rpl_transaction_ctx.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_rpl_transaction_ctx.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_rpl_transaction_write_set.h mysql-5.7-5.7.34/include/mysql/service_rpl_transaction_write_set.h --- mysql-5.7-5.7.33/include/mysql/service_rpl_transaction_write_set.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_rpl_transaction_write_set.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_rules_table.h mysql-5.7-5.7.34/include/mysql/service_rules_table.h --- mysql-5.7-5.7.33/include/mysql/service_rules_table.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_rules_table.h 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ #ifndef SERVICE_RULES_TABLE_INCLUDED #define SERVICE_RULES_TABLE_INCLUDED -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_security_context.h mysql-5.7-5.7.34/include/mysql/service_security_context.h --- mysql-5.7-5.7.33/include/mysql/service_security_context.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_security_context.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/services.h mysql-5.7-5.7.34/include/mysql/services.h --- mysql-5.7-5.7.33/include/mysql/services.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/services.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ #ifndef MYSQL_SERVICES_INCLUDED -/* Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_srv_session.h mysql-5.7-5.7.34/include/mysql/service_srv_session.h --- mysql-5.7-5.7.33/include/mysql/service_srv_session.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_srv_session.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_srv_session_info.h mysql-5.7-5.7.34/include/mysql/service_srv_session_info.h --- mysql-5.7-5.7.33/include/mysql/service_srv_session_info.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_srv_session_info.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef MYSQL_SERVICE_SRV_SESSION_INFO_INCLUDED #define MYSQL_SERVICE_SRV_SESSION_INFO_INCLUDED -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_ssl_wrapper.h mysql-5.7-5.7.34/include/mysql/service_ssl_wrapper.h --- mysql-5.7-5.7.33/include/mysql/service_ssl_wrapper.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_ssl_wrapper.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SSL_WRAPPER_INCLUDED #define SSL_WRAPPER_INCLUDED -/* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_thd_alloc.h mysql-5.7-5.7.34/include/mysql/service_thd_alloc.h --- mysql-5.7-5.7.33/include/mysql/service_thd_alloc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_thd_alloc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ #ifndef MYSQL_SERVICE_THD_ALLOC_INCLUDED -/* Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_thd_engine_lock.h mysql-5.7-5.7.34/include/mysql/service_thd_engine_lock.h --- mysql-5.7-5.7.33/include/mysql/service_thd_engine_lock.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_thd_engine_lock.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_thd_wait.h mysql-5.7-5.7.34/include/mysql/service_thd_wait.h --- mysql-5.7-5.7.33/include/mysql/service_thd_wait.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_thd_wait.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/service_thread_scheduler.h mysql-5.7-5.7.34/include/mysql/service_thread_scheduler.h --- mysql-5.7-5.7.33/include/mysql/service_thread_scheduler.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/service_thread_scheduler.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/thread_pool_priv.h mysql-5.7-5.7.34/include/mysql/thread_pool_priv.h --- mysql-5.7-5.7.33/include/mysql/thread_pool_priv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/thread_pool_priv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql/thread_type.h mysql-5.7-5.7.34/include/mysql/thread_type.h --- mysql-5.7-5.7.33/include/mysql/thread_type.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql/thread_type.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql_com.h mysql-5.7-5.7.34/include/mysql_com.h --- mysql-5.7-5.7.33/include/mysql_com.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql_com.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_sqlcommand.h mysql-5.7-5.7.34/include/my_sqlcommand.h --- mysql-5.7-5.7.33/include/my_sqlcommand.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_sqlcommand.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql_com_server.h mysql-5.7-5.7.34/include/mysql_com_server.h --- mysql-5.7-5.7.33/include/mysql_com_server.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql_com_server.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql_embed.h mysql-5.7-5.7.34/include/mysql_embed.h --- mysql-5.7-5.7.33/include/mysql_embed.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql_embed.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MYSQL_EMBED_INCLUDED #define MYSQL_EMBED_INCLUDED -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql.h mysql-5.7-5.7.34/include/mysql.h --- mysql-5.7-5.7.33/include/mysql.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysql_time.h mysql-5.7-5.7.34/include/mysql_time.h --- mysql-5.7-5.7.33/include/mysql_time.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysql_time.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_stacktrace.h mysql-5.7-5.7.34/include/my_stacktrace.h --- mysql-5.7-5.7.33/include/my_stacktrace.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_stacktrace.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/mysys_err.h mysql-5.7-5.7.34/include/mysys_err.h --- mysql-5.7-5.7.33/include/mysys_err.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/mysys_err.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_sys.h mysql-5.7-5.7.34/include/my_sys.h --- mysql-5.7-5.7.33/include/my_sys.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_sys.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -173,7 +173,7 @@ #define my_safe_afree(ptr, size, max_alloca_sz) if (size > max_alloca_sz) \ my_free(ptr) -#if !defined(DBUG_OFF) || defined(HAVE_VALGRIND) +#if !defined(NDEBUG) || defined(HAVE_VALGRIND) /** Put bad content in memory to be sure it will segfault if dereferenced. With Valgrind, verify that memory is addressable, and mark it undefined. diff -Nru mysql-5.7-5.7.33/include/my_thread.h mysql-5.7-5.7.34/include/my_thread.h --- mysql-5.7-5.7.33/include/my_thread.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_thread.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_thread_local.h mysql-5.7-5.7.34/include/my_thread_local.h --- mysql-5.7-5.7.33/include/my_thread_local.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_thread_local.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -99,7 +99,7 @@ #endif -#ifndef DBUG_OFF +#ifndef NDEBUG /* Return pointer to DBUG for holding current state */ struct _db_code_state_ **my_thread_var_dbug(); diff -Nru mysql-5.7-5.7.33/include/my_thread_os_id.h mysql-5.7-5.7.34/include/my_thread_os_id.h --- mysql-5.7-5.7.33/include/my_thread_os_id.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_thread_os_id.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_time.h mysql-5.7-5.7.34/include/my_time.h --- mysql-5.7-5.7.33/include/my_time.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_time.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_timer.h mysql-5.7-5.7.34/include/my_timer.h --- mysql-5.7-5.7.33/include/my_timer.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_timer.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_tree.h mysql-5.7-5.7.34/include/my_tree.h --- mysql-5.7-5.7.33/include/my_tree.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_tree.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/my_uctype.h mysql-5.7-5.7.34/include/my_uctype.h --- mysql-5.7-5.7.33/include/my_uctype.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_uctype.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MY_UCTYPE_INCLUDED #define MY_UCTYPE_INCLUDED -/* Copyright (c) 2006 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/include/my_user.h mysql-5.7-5.7.34/include/my_user.h --- mysql-5.7-5.7.33/include/my_user.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_user.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005-2007 MySQL AB +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/include/my_xml.h mysql-5.7-5.7.34/include/my_xml.h --- mysql-5.7-5.7.33/include/my_xml.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/my_xml.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/nullable.h mysql-5.7-5.7.34/include/nullable.h --- mysql-5.7-5.7.33/include/nullable.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/nullable.h 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ #define NULLABLE_INCLUDED /* - Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -77,7 +77,7 @@ */ const T_value& value() const { - DBUG_ASSERT(this->m_has_value); + assert(this->m_has_value); return this->m_value; } diff -Nru mysql-5.7-5.7.33/include/password.h mysql-5.7-5.7.34/include/password.h --- mysql-5.7-5.7.33/include/password.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/password.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/pfs_file_provider.h mysql-5.7-5.7.34/include/pfs_file_provider.h --- mysql-5.7-5.7.33/include/pfs_file_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/pfs_file_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/pfs_idle_provider.h mysql-5.7-5.7.34/include/pfs_idle_provider.h --- mysql-5.7-5.7.33/include/pfs_idle_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/pfs_idle_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/pfs_memory_provider.h mysql-5.7-5.7.34/include/pfs_memory_provider.h --- mysql-5.7-5.7.33/include/pfs_memory_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/pfs_memory_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/pfs_metadata_provider.h mysql-5.7-5.7.34/include/pfs_metadata_provider.h --- mysql-5.7-5.7.33/include/pfs_metadata_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/pfs_metadata_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/pfs_socket_provider.h mysql-5.7-5.7.34/include/pfs_socket_provider.h --- mysql-5.7-5.7.33/include/pfs_socket_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/pfs_socket_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/pfs_stage_provider.h mysql-5.7-5.7.34/include/pfs_stage_provider.h --- mysql-5.7-5.7.33/include/pfs_stage_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/pfs_stage_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/pfs_statement_provider.h mysql-5.7-5.7.34/include/pfs_statement_provider.h --- mysql-5.7-5.7.33/include/pfs_statement_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/pfs_statement_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/pfs_table_provider.h mysql-5.7-5.7.34/include/pfs_table_provider.h --- mysql-5.7-5.7.33/include/pfs_table_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/pfs_table_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/pfs_thread_provider.h mysql-5.7-5.7.34/include/pfs_thread_provider.h --- mysql-5.7-5.7.33/include/pfs_thread_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/pfs_thread_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/pfs_transaction_provider.h mysql-5.7-5.7.34/include/pfs_transaction_provider.h --- mysql-5.7-5.7.33/include/pfs_transaction_provider.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/pfs_transaction_provider.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/prealloced_array.h mysql-5.7-5.7.34/include/prealloced_array.h --- mysql-5.7-5.7.33/include/prealloced_array.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/prealloced_array.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -155,13 +155,13 @@ Element_type &at(size_t n) { - DBUG_ASSERT(n < size()); + assert(n < size()); return m_array_ptr[n]; } const Element_type &at(size_t n) const { - DBUG_ASSERT(n < size()); + assert(n < size()); return m_array_ptr[n]; } @@ -240,7 +240,7 @@ */ void pop_back() { - DBUG_ASSERT(!empty()); + assert(!empty()); if (!Has_trivial_destructor) back().~Element_type(); m_size-= 1; @@ -342,7 +342,7 @@ */ iterator erase(iterator position) { - DBUG_ASSERT(position != end()); + assert(position != end()); if (position + 1 != end()) std::copy(position + 1, end(), position); this->pop_back(); @@ -354,7 +354,7 @@ */ iterator erase(size_t ix) { - DBUG_ASSERT(ix < size()); + assert(ix < size()); return erase(begin() + ix); } diff -Nru mysql-5.7-5.7.33/include/priority_queue.h mysql-5.7-5.7.34/include/priority_queue.h --- mysql-5.7-5.7.33/include/priority_queue.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/priority_queue.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -105,7 +105,7 @@ // Returns the index of the parent node of node i. static size_type parent(size_type i) { - DBUG_ASSERT(i != 0); + assert(i != 0); return (--i) >> 1; // (i - 1) / 2 } @@ -123,7 +123,7 @@ void heapify(size_type i, size_type last) { - DBUG_ASSERT(i < size()); + assert(i < size()); size_type largest = i; do @@ -156,7 +156,7 @@ void reverse_heapify(size_type i) { - DBUG_ASSERT(i < size()); + assert(i < size()); while (i > 0 && !Base::operator()(m_container[i], m_container[parent(i)])) { std::swap(m_container[parent(i)], m_container[i]); @@ -223,14 +223,14 @@ /// Returns a const reference to the top element of the priority queue. value_type const &top() const { - DBUG_ASSERT(!empty()); + assert(!empty()); return m_container[0]; } /// Returns a reference to the top element of the priority queue. value_type& top() { - DBUG_ASSERT(!empty()); + assert(!empty()); return m_container[0]; } @@ -264,7 +264,7 @@ /// Removes the element at position i from the priority queue. void remove(size_type i) { - DBUG_ASSERT(i < size()); + assert(i < size()); if (i == m_container.size() - 1) { @@ -283,8 +283,8 @@ */ void decrease(size_type i, value_type const &x) { - DBUG_ASSERT(i < size()); - DBUG_ASSERT(!Base::operator()(m_container[i], x)); + assert(i < size()); + assert(!Base::operator()(m_container[i], x)); decrease_key(i, x); } @@ -294,8 +294,8 @@ */ void increase(size_type i, value_type const &x) { - DBUG_ASSERT(i < size()); - DBUG_ASSERT(!Base::operator()(x, m_container[i])); + assert(i < size()); + assert(!Base::operator()(x, m_container[i])); increase_key(i, x); } @@ -305,7 +305,7 @@ */ void update(size_type i, value_type const &x) { - DBUG_ASSERT(i < size()); + assert(i < size()); if (Base::operator()(x, m_container[i])) { decrease_key(i, x); @@ -340,7 +340,7 @@ */ void update(size_type i) { - DBUG_ASSERT(i < size()); + assert(i < size()); if (i == 0 || Base::operator()(m_container[i], m_container[parent(i)])) { heapify(i); @@ -357,7 +357,7 @@ */ void update_top() { - DBUG_ASSERT(!empty()); + assert(!empty()); heapify(0); } @@ -370,14 +370,14 @@ /// Returns a const reference to the i-th element in the underlying container. value_type const& operator[](size_type i) const { - DBUG_ASSERT(i < size()); + assert(i < size()); return m_container[i]; } /// Returns a reference to the i-th element in the underlying container. value_type& operator[](size_type i) { - DBUG_ASSERT(i < size()); + assert(i < size()); return m_container[i]; } @@ -472,7 +472,7 @@ MY_ATTRIBUTE((warn_unused_result)) bool reserve(size_type n) { - DBUG_ASSERT(n <= m_container.max_size()); + assert(n <= m_container.max_size()); try { m_container.reserve(n); diff -Nru mysql-5.7-5.7.33/include/probes_mysql.d.base mysql-5.7-5.7.34/include/probes_mysql.d.base --- mysql-5.7-5.7.33/include/probes_mysql.d.base 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/probes_mysql.d.base 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/include/probes_mysql.h mysql-5.7-5.7.34/include/probes_mysql.h --- mysql-5.7-5.7.33/include/probes_mysql.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/probes_mysql.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008 Sun Microsystems, Inc. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/include/probes_mysql_nodtrace.h mysql-5.7-5.7.34/include/probes_mysql_nodtrace.h --- mysql-5.7-5.7.33/include/probes_mysql_nodtrace.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/probes_mysql_nodtrace.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2020, Oracle and/or its affiliates. + Copyright (c) 2020, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/queues.h mysql-5.7-5.7.34/include/queues.h --- mysql-5.7-5.7.33/include/queues.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/queues.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/service_versions.h mysql-5.7-5.7.34/include/service_versions.h --- mysql-5.7-5.7.33/include/service_versions.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/service_versions.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/sha1.h mysql-5.7-5.7.34/include/sha1.h --- mysql-5.7-5.7.33/include/sha1.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/sha1.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SHA1_INCLUDED #define SHA1_INCLUDED -/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/sha2.h mysql-5.7-5.7.34/include/sha2.h --- mysql-5.7-5.7.33/include/sha2.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/sha2.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/sql_chars.h mysql-5.7-5.7.34/include/sql_chars.h --- mysql-5.7-5.7.33/include/sql_chars.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/sql_chars.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/sql_common.h mysql-5.7-5.7.34/include/sql_common.h --- mysql-5.7-5.7.33/include/sql_common.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/sql_common.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_COMMON_INCLUDED #define SQL_COMMON_INCLUDED -/* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/sql_string.h mysql-5.7-5.7.34/include/sql_string.h --- mysql-5.7-5.7.33/include/sql_string.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/sql_string.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_STRING_INCLUDED #define SQL_STRING_INCLUDED -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -59,9 +59,9 @@ void set(const char *str_arg, size_t length_arg) { // NULL is allowed only with length==0 - DBUG_ASSERT(str_arg || length_arg == 0); + assert(str_arg || length_arg == 0); // For non-NULL, make sure length_arg is in sync with '\0' terminator. - DBUG_ASSERT(!str_arg || str_arg[length_arg] == '\0'); + assert(!str_arg || str_arg[length_arg] == '\0'); m_str= str_arg; m_length= length_arg; } @@ -207,8 +207,8 @@ const char *ptr() const { return m_ptr; } char *c_ptr() { - DBUG_ASSERT(!m_is_alloced || !m_ptr || !m_alloced_length || - (m_alloced_length >= (m_length + 1))); + assert(!m_is_alloced || !m_ptr || !m_alloced_length || + (m_alloced_length >= (m_length + 1))); if (!m_ptr || m_ptr[m_length]) /* Should be safe */ (void) mem_realloc(m_length); @@ -242,7 +242,7 @@ void set(String &str,size_t offset, size_t arg_length) { - DBUG_ASSERT(&str != this); + assert(&str != this); mem_free(); m_ptr= const_cast(str.ptr()) + offset; m_length= arg_length; @@ -324,7 +324,7 @@ { m_length--; m_ptr[m_length]= '\0'; - DBUG_ASSERT(strlen(m_ptr) == m_length); + assert(strlen(m_ptr) == m_length); } void mem_claim() @@ -391,7 +391,7 @@ It is forbidden to do assignments like some_string = substring_of_that_string */ - DBUG_ASSERT(!s.uses_buffer_owned_by(this)); + assert(!s.uses_buffer_owned_by(this)); mem_free(); m_ptr= s.m_ptr; m_length= s.m_length; @@ -411,9 +411,9 @@ */ void takeover(String &s) { - DBUG_ASSERT(this != &s); + assert(this != &s); // Make sure buffers of the two Strings do not overlap - DBUG_ASSERT(!s.uses_buffer_owned_by(this)); + assert(!s.uses_buffer_owned_by(this)); mem_free(); m_ptr= s.m_ptr; m_length= s.m_length; diff -Nru mysql-5.7-5.7.33/include/sslopt-case.h mysql-5.7-5.7.34/include/sslopt-case.h --- mysql-5.7-5.7.33/include/sslopt-case.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/sslopt-case.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/sslopt-longopts.h mysql-5.7-5.7.34/include/sslopt-longopts.h --- mysql-5.7-5.7.33/include/sslopt-longopts.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/sslopt-longopts.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/sslopt-vars.h mysql-5.7-5.7.34/include/sslopt-vars.h --- mysql-5.7-5.7.33/include/sslopt-vars.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/sslopt-vars.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/template_utils.h mysql-5.7-5.7.34/include/template_utils.h --- mysql-5.7-5.7.33/include/template_utils.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/template_utils.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -82,7 +82,7 @@ template inline Target down_cast(Source arg) { - DBUG_ASSERT(NULL != dynamic_cast(arg)); + assert(NULL != dynamic_cast(arg)); return static_cast(arg); } diff -Nru mysql-5.7-5.7.33/include/thr_cond.h mysql-5.7-5.7.34/include/thr_cond.h --- mysql-5.7-5.7.33/include/thr_cond.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/thr_cond.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef THR_COND_INCLUDED #define THR_COND_INCLUDED -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/thr_lock.h mysql-5.7-5.7.34/include/thr_lock.h --- mysql-5.7-5.7.33/include/thr_lock.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/thr_lock.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/thr_mutex.h mysql-5.7-5.7.34/include/thr_mutex.h --- mysql-5.7-5.7.33/include/thr_mutex.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/thr_mutex.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef THR_MUTEX_INCLUDED #define THR_MUTEX_INCLUDED -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -150,14 +150,14 @@ static inline void safe_mutex_assert_owner(const my_mutex_t *mp) { - DBUG_ASSERT(mp->count > 0 && - my_thread_equal(my_thread_self(), mp->thread)); + assert(mp->count > 0 && + my_thread_equal(my_thread_self(), mp->thread)); } static inline void safe_mutex_assert_not_owner(const my_mutex_t *mp) { - DBUG_ASSERT(!mp->count || - !my_thread_equal(my_thread_self(), mp->thread)); + assert(!mp->count || + !my_thread_equal(my_thread_self(), mp->thread)); } #else diff -Nru mysql-5.7-5.7.33/include/thr_rwlock.h mysql-5.7-5.7.34/include/thr_rwlock.h --- mysql-5.7-5.7.33/include/thr_rwlock.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/thr_rwlock.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef THR_RWLOCK_INCLUDED #define THR_RWLOCK_INCLUDED -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -202,8 +202,8 @@ rw_pr_lock_assert_write_owner(const rw_pr_lock_t *rwlock MY_ATTRIBUTE((unused))) { #ifdef SAFE_MUTEX - DBUG_ASSERT(rwlock->active_writer && - my_thread_equal(my_thread_self(), rwlock->writer_thread)); + assert(rwlock->active_writer && + my_thread_equal(my_thread_self(), rwlock->writer_thread)); #endif } @@ -211,8 +211,8 @@ rw_pr_lock_assert_not_write_owner(const rw_pr_lock_t *rwlock MY_ATTRIBUTE((unused))) { #ifdef SAFE_MUTEX - DBUG_ASSERT(!rwlock->active_writer || - !my_thread_equal(my_thread_self(), rwlock->writer_thread)); + assert(!rwlock->active_writer || + !my_thread_equal(my_thread_self(), rwlock->writer_thread)); #endif } diff -Nru mysql-5.7-5.7.33/include/typelib.h mysql-5.7-5.7.34/include/typelib.h --- mysql-5.7-5.7.33/include/typelib.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/typelib.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/include/violite.h mysql-5.7-5.7.34/include/violite.h --- mysql-5.7-5.7.33/include/violite.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/violite.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -156,7 +156,7 @@ /* Wait for an I/O event notification. */ int vio_io_wait(Vio *vio, enum enum_vio_io_event event, int timeout); my_bool vio_is_connected(Vio *vio); -#ifndef DBUG_OFF +#ifndef NDEBUG ssize_t vio_pending(Vio *vio); #endif /* Set timeout for a network operation. */ diff -Nru mysql-5.7-5.7.33/include/welcome_copyright_notice.h mysql-5.7-5.7.34/include/welcome_copyright_notice.h --- mysql-5.7-5.7.33/include/welcome_copyright_notice.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/include/welcome_copyright_notice.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2020, Oracle and/or its affiliates. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/binlog_config.h.cmake mysql-5.7-5.7.34/libbinlogevents/binlog_config.h.cmake --- mysql-5.7-5.7.33/libbinlogevents/binlog_config.h.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/binlog_config.h.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /** - Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/CMakeLists.txt mysql-5.7-5.7.34/libbinlogevents/CMakeLists.txt --- mysql-5.7-5.7.33/libbinlogevents/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/configure.cmake mysql-5.7-5.7.34/libbinlogevents/configure.cmake --- mysql-5.7-5.7.33/libbinlogevents/configure.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/configure.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2014, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/export/binary_log_funcs.h mysql-5.7-5.7.34/libbinlogevents/export/binary_log_funcs.h --- mysql-5.7-5.7.33/libbinlogevents/export/binary_log_funcs.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/export/binary_log_funcs.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/export/binary_log_types.h mysql-5.7-5.7.34/libbinlogevents/export/binary_log_types.h --- mysql-5.7-5.7.33/libbinlogevents/export/binary_log_types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/export/binary_log_types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/include/binary_log.h mysql-5.7-5.7.34/libbinlogevents/include/binary_log.h --- mysql-5.7-5.7.33/libbinlogevents/include/binary_log.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/include/binary_log.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/include/binlog_event.h mysql-5.7-5.7.34/libbinlogevents/include/binlog_event.h --- mysql-5.7-5.7.33/libbinlogevents/include/binlog_event.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/include/binlog_event.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/include/byteorder.h mysql-5.7-5.7.34/libbinlogevents/include/byteorder.h --- mysql-5.7-5.7.33/libbinlogevents/include/byteorder.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/include/byteorder.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/include/control_events.h mysql-5.7-5.7.34/libbinlogevents/include/control_events.h --- mysql-5.7-5.7.33/libbinlogevents/include/control_events.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/include/control_events.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/include/debug_vars.h mysql-5.7-5.7.34/libbinlogevents/include/debug_vars.h --- mysql-5.7-5.7.33/libbinlogevents/include/debug_vars.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/include/debug_vars.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/include/load_data_events.h mysql-5.7-5.7.34/libbinlogevents/include/load_data_events.h --- mysql-5.7-5.7.33/libbinlogevents/include/load_data_events.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/include/load_data_events.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/include/rows_event.h mysql-5.7-5.7.34/libbinlogevents/include/rows_event.h --- mysql-5.7-5.7.33/libbinlogevents/include/rows_event.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/include/rows_event.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/include/statement_events.h mysql-5.7-5.7.34/libbinlogevents/include/statement_events.h --- mysql-5.7-5.7.33/libbinlogevents/include/statement_events.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/include/statement_events.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/include/table_id.h mysql-5.7-5.7.34/libbinlogevents/include/table_id.h --- mysql-5.7-5.7.33/libbinlogevents/include/table_id.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/include/table_id.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2014 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/include/wrapper_functions.h mysql-5.7-5.7.34/libbinlogevents/include/wrapper_functions.h --- mysql-5.7-5.7.33/libbinlogevents/include/wrapper_functions.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/include/wrapper_functions.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -50,12 +50,8 @@ #endif -#if !defined(DBUG_OFF) -#if HAVE_MYSYS -#define BAPI_ASSERT(x) DBUG_ASSERT(x) -#else +#if !defined(NDEBUG) #define BAPI_ASSERT(x) assert(x) -#endif #else #define BAPI_ASSERT(x) do { } while(0) #endif diff -Nru mysql-5.7-5.7.33/libbinlogevents/src/binary_log_funcs.cpp mysql-5.7-5.7.34/libbinlogevents/src/binary_log_funcs.cpp --- mysql-5.7-5.7.33/libbinlogevents/src/binary_log_funcs.cpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/src/binary_log_funcs.cpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/src/binlog_event.cpp mysql-5.7-5.7.34/libbinlogevents/src/binlog_event.cpp --- mysql-5.7-5.7.33/libbinlogevents/src/binlog_event.cpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/src/binlog_event.cpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -231,7 +231,7 @@ if (event_buf[EVENT_TYPE_OFFSET] == FORMAT_DESCRIPTION_EVENT) { - #ifndef DBUG_OFF + #ifndef NDEBUG unsigned char fd_alg= event_buf[event_len - BINLOG_CHECKSUM_LEN - BINLOG_CHECKSUM_ALG_DESC_LEN]; #endif @@ -247,7 +247,7 @@ The only algorithm currently is CRC32. Zero indicates the binlog file is checksum-free *except* the FD-event. */ - #ifndef DBUG_OFF + #ifndef NDEBUG BAPI_ASSERT(fd_alg == BINLOG_CHECKSUM_ALG_CRC32 || fd_alg == 0); #endif BAPI_ASSERT(alg == BINLOG_CHECKSUM_ALG_CRC32); @@ -275,7 +275,7 @@ res= !(computed == incoming); } -#ifndef DBUG_OFF +#ifndef NDEBUG if (binary_log_debug::debug_checksum_test) return true; #endif diff -Nru mysql-5.7-5.7.33/libbinlogevents/src/CMakeLists.txt mysql-5.7-5.7.34/libbinlogevents/src/CMakeLists.txt --- mysql-5.7-5.7.33/libbinlogevents/src/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/src/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/src/control_events.cpp mysql-5.7-5.7.34/libbinlogevents/src/control_events.cpp --- mysql-5.7-5.7.33/libbinlogevents/src/control_events.cpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/src/control_events.cpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -173,7 +173,7 @@ post_header_len.insert(post_header_len.begin(), server_event_header_length, server_event_header_length + number_of_event_types); // Sanity-check that all post header lengths are initialized. -#ifndef DBUG_OFF +#ifndef NDEBUG for (int i= 0; i < number_of_event_types; i++) BAPI_ASSERT(post_header_len[i] != 255); #endif diff -Nru mysql-5.7-5.7.33/libbinlogevents/src/load_data_events.cpp mysql-5.7-5.7.34/libbinlogevents/src/load_data_events.cpp --- mysql-5.7-5.7.33/libbinlogevents/src/load_data_events.cpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/src/load_data_events.cpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -271,7 +271,7 @@ db= table_name + table_name_len + 1; - #ifndef DBUG_OFF + #ifndef NDEBUG /* This is specific to mysql test run on the server for the keyword "simulate_invalid_address" diff -Nru mysql-5.7-5.7.33/libbinlogevents/src/rows_event.cpp mysql-5.7-5.7.34/libbinlogevents/src/rows_event.cpp --- mysql-5.7-5.7.33/libbinlogevents/src/rows_event.cpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/src/rows_event.cpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogevents/src/statement_events.cpp mysql-5.7-5.7.34/libbinlogevents/src/statement_events.cpp --- mysql-5.7-5.7.33/libbinlogevents/src/statement_events.cpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/src/statement_events.cpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -317,7 +317,7 @@ case Q_UPDATED_DB_NAMES: { unsigned char i= 0; -#ifndef DBUG_OFF +#ifndef NDEBUG bool is_corruption_injected= false; #endif @@ -338,7 +338,7 @@ for (i= 0; i < mts_accessed_dbs && pos < start + status_vars_len; i++) { - #ifndef DBUG_OFF + #ifndef NDEBUG /* This is specific to mysql test run on the server for the keyword "query_log_event_mts_corrupt_db_names" @@ -359,7 +359,7 @@ pos+= 1 + strlen((const char*) pos); } if (i != mts_accessed_dbs -#ifndef DBUG_OFF +#ifndef NDEBUG || is_corruption_injected #endif ) @@ -561,7 +561,7 @@ error= true; goto err; } -#ifndef DBUG_OFF +#ifndef NDEBUG bool old_pre_checksum_fd= description_event->is_version_before_checksum(); bool checksum_verify= (old_pre_checksum_fd || (description_event->footer()->checksum_alg == diff -Nru mysql-5.7-5.7.33/libbinlogevents/src/uuid.cpp mysql-5.7-5.7.34/libbinlogevents/src/uuid.cpp --- mysql-5.7-5.7.33/libbinlogevents/src/uuid.cpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogevents/src/uuid.cpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogstandalone/CMakeLists.txt mysql-5.7-5.7.34/libbinlogstandalone/CMakeLists.txt --- mysql-5.7-5.7.33/libbinlogstandalone/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogstandalone/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libbinlogstandalone/src/CMakeLists.txt mysql-5.7-5.7.34/libbinlogstandalone/src/CMakeLists.txt --- mysql-5.7-5.7.33/libbinlogstandalone/src/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libbinlogstandalone/src/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/api_test.c.in mysql-5.7-5.7.34/libmysql/api_test.c.in --- mysql-5.7-5.7.33/libmysql/api_test.c.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/api_test.c.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/authentication_ldap/auth_ldap_sasl_client.cc mysql-5.7-5.7.34/libmysql/authentication_ldap/auth_ldap_sasl_client.cc --- mysql-5.7-5.7.33/libmysql/authentication_ldap/auth_ldap_sasl_client.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_ldap/auth_ldap_sasl_client.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2017, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/authentication_ldap/auth_ldap_sasl_client.h mysql-5.7-5.7.34/libmysql/authentication_ldap/auth_ldap_sasl_client.h --- mysql-5.7-5.7.33/libmysql/authentication_ldap/auth_ldap_sasl_client.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_ldap/auth_ldap_sasl_client.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2017, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/authentication_ldap/CMakeLists.txt mysql-5.7-5.7.34/libmysql/authentication_ldap/CMakeLists.txt --- mysql-5.7-5.7.33/libmysql/authentication_ldap/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_ldap/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/authentication_ldap/log_client.cc mysql-5.7-5.7.34/libmysql/authentication_ldap/log_client.cc --- mysql-5.7-5.7.33/libmysql/authentication_ldap/log_client.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_ldap/log_client.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2017, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/authentication_ldap/log_client.h mysql-5.7-5.7.34/libmysql/authentication_ldap/log_client.h --- mysql-5.7-5.7.33/libmysql/authentication_ldap/log_client.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_ldap/log_client.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2017, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/authentication_win/CMakeLists.txt mysql-5.7-5.7.34/libmysql/authentication_win/CMakeLists.txt --- mysql-5.7-5.7.33/libmysql/authentication_win/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_win/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/authentication_win/common.cc mysql-5.7-5.7.34/libmysql/authentication_win/common.cc --- mysql-5.7-5.7.33/libmysql/authentication_win/common.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_win/common.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -59,7 +59,7 @@ Connection::Connection(MYSQL_PLUGIN_VIO *vio): m_vio(vio), m_error(0) { - DBUG_ASSERT(vio); + assert(vio); } @@ -78,7 +78,7 @@ { m_error= m_vio->write_packet(m_vio, blob.ptr(), static_cast(blob.len())); -#ifndef DBUG_OFF +#ifndef NDEBUG if (m_error) DBUG_PRINT("error", ("vio write error %d", m_error)); #endif @@ -127,7 +127,7 @@ */ Sid::Sid(const wchar_t *account_name): m_data(NULL) -#ifndef DBUG_OFF +#ifndef NDEBUG , m_as_string(NULL) #endif { @@ -141,7 +141,7 @@ if (!success && GetLastError() != ERROR_INSUFFICIENT_BUFFER) { -#ifndef DBUG_OFF +#ifndef NDEBUG Error_message_buf error_buf; DBUG_PRINT("error", ("Could not determine SID buffer size, " "LookupAccountName() failed with error %X (%s)", @@ -163,7 +163,7 @@ if (!success || !is_valid()) { -#ifndef DBUG_OFF +#ifndef NDEBUG Error_message_buf error_buf; DBUG_PRINT("error", ("Could not determine SID of '%S', " "LookupAccountName() failed with error %X (%s)", @@ -196,7 +196,7 @@ */ Sid::Sid(HANDLE token): m_data(NULL) -#ifndef DBUG_OFF +#ifndef NDEBUG , m_as_string(NULL) #endif { @@ -208,7 +208,7 @@ success= GetTokenInformation(token, TokenUser, NULL, 0, &req_size); if (!success && GetLastError() != ERROR_INSUFFICIENT_BUFFER) { -#ifndef DBUG_OFF +#ifndef NDEBUG Error_message_buf error_buf; DBUG_PRINT("error", ("Could not determine SID buffer size, " "GetTokenInformation() failed with error %X (%s)", @@ -224,7 +224,7 @@ { delete [] m_data; m_data= NULL; -#ifndef DBUG_OFF +#ifndef NDEBUG if (!success) { Error_message_buf error_buf; @@ -241,7 +241,7 @@ { if (m_data) delete [] m_data; -#ifndef DBUG_OFF +#ifndef NDEBUG if (m_as_string) LocalFree(m_as_string); #endif @@ -254,7 +254,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG /** Produces string representation of the SID. @@ -276,7 +276,7 @@ if (!success) { -#ifndef DBUG_OFF +#ifndef NDEBUG Error_message_buf error_buf; DBUG_PRINT("error", ("Could not get textual representation of a SID, " "ConvertSidToStringSid() failed with error %X (%s)", @@ -321,7 +321,7 @@ { if (GetLastError()) { -#ifndef DBUG_OFF +#ifndef NDEBUG Error_message_buf error_buf; DBUG_PRINT("note", ("When determining UPN" ", GetUserNameEx() failed with error %X (%s)", @@ -413,7 +413,7 @@ // res is 0 which indicates error -#ifndef DBUG_OFF +#ifndef NDEBUG Error_message_buf error_buf; DBUG_PRINT("error", ("Could not convert string '%S' to utf8" ", WideCharToMultiByte() failed with error %X (%s)", @@ -422,7 +422,7 @@ #endif // Let's check our assumption about sufficient buffer size - DBUG_ASSERT(ERROR_INSUFFICIENT_BUFFER != GetLastError()); + assert(ERROR_INSUFFICIENT_BUFFER != GetLastError()); return NULL; } @@ -479,7 +479,7 @@ // error in MultiByteToWideChar() -#ifndef DBUG_OFF +#ifndef NDEBUG Error_message_buf error_buf; DBUG_PRINT("error", ("Could not convert UPN from UTF-8" ", MultiByteToWideChar() failed with error %X (%s)", @@ -487,7 +487,7 @@ #endif // Let's check our assumption about sufficient buffer size - DBUG_ASSERT(ERROR_INSUFFICIENT_BUFFER != GetLastError()); + assert(ERROR_INSUFFICIENT_BUFFER != GetLastError()); return NULL; } diff -Nru mysql-5.7-5.7.33/libmysql/authentication_win/common.h mysql-5.7-5.7.34/libmysql/authentication_win/common.h --- mysql-5.7-5.7.33/libmysql/authentication_win/common.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_win/common.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -66,7 +66,7 @@ to fprintf() (see error_log_vprint() function). */ -#if defined(DEBUG_ERROR_LOG) && defined(DBUG_OFF) +#if defined(DEBUG_ERROR_LOG) && defined(NDEBUG) #define ERROR_LOG(Level, Msg) do {} while (0) #else #define ERROR_LOG(Level, Msg) error_log_print< error_log_level::Level > Msg @@ -99,7 +99,7 @@ unless the dbug library implementation is used or debug messages are disabled. */ -#ifndef DBUG_OFF +#ifndef NDEBUG #define DBUG_PRINT_DO(Keyword, Msg) \ do { \ @@ -140,13 +140,6 @@ #undef DBUG_RETURN #define DBUG_RETURN(X) return (X) -#undef DBUG_ASSERT -#ifndef DBUG_OFF -#define DBUG_ASSERT(X) assert (X) -#else -#define DBUG_ASSERT(X) do {} while (0) -#endif - #undef DBUG_DUMP #define DBUG_DUMP(A,B,C) do {} while (0) @@ -279,7 +272,7 @@ return (PSID)m_data->User.Sid; } -#ifndef DBUG_OFF +#ifndef NDEBUG private: char *m_as_string; ///< Cached string representation of the SID. diff -Nru mysql-5.7-5.7.33/libmysql/authentication_win/handshake.cc mysql-5.7-5.7.34/libmysql/authentication_win/handshake.cc --- mysql-5.7-5.7.33/libmysql/authentication_win/handshake.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_win/handshake.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -42,7 +42,7 @@ Handshake::Handshake(const char *ssp, side_t side) : m_atts(0L), m_error(0), m_complete(FALSE), m_have_credentials(false), m_have_sec_context(false) -#ifndef DBUG_OFF +#ifndef NDEBUG , m_ssp_info(NULL) #endif { @@ -75,7 +75,7 @@ DeleteSecurityContext(&m_sctx); m_output.mem_free(); -#ifndef DBUG_OFF +#ifndef NDEBUG if (m_ssp_info) FreeContextBuffer(m_ssp_info); #endif @@ -170,7 +170,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG /** Get name of the security package which was used in authentication. diff -Nru mysql-5.7-5.7.33/libmysql/authentication_win/handshake_client.cc mysql-5.7-5.7.34/libmysql/authentication_win/handshake_client.cc --- mysql-5.7-5.7.33/libmysql/authentication_win/handshake_client.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_win/handshake_client.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -169,7 +169,7 @@ */ unsigned block_count= data.len()/512 + ((data.len() % 512) ? 1 : 0); -#if !defined(DBUG_OFF) && defined(WINAUTH_USE_DBUG_LIB) +#if !defined(NDEBUG) && defined(WINAUTH_USE_DBUG_LIB) /* For testing purposes, use wrong block count to see how server @@ -183,7 +183,7 @@ #endif - DBUG_ASSERT(block_count < (unsigned)0x100); + assert(block_count < (unsigned)0x100); saved_byte= data[254]; data[254] = block_count; @@ -232,7 +232,7 @@ Blob Handshake_client::process_data(const Blob &data) { -#if !defined(DBUG_OFF) && defined(WINAUTH_USE_DBUG_LIB) +#if !defined(NDEBUG) && defined(WINAUTH_USE_DBUG_LIB) /* Code for testing the logic for sending the first client payload. @@ -359,7 +359,7 @@ // Create connection object. Connection con(vio); - DBUG_ASSERT(!con.error()); + assert(!con.error()); // Read initial packet from server containing service name. @@ -383,7 +383,7 @@ DBUG_RETURN(CR_ERROR); } - DBUG_ASSERT(!hndshk.error()); + assert(!hndshk.error()); /* Read and process packets from server until handshake is complete. @@ -394,7 +394,7 @@ if (hndshk.packet_processing_loop()) DBUG_RETURN(CR_ERROR); - DBUG_ASSERT(!hndshk.error() && hndshk.is_complete()); + assert(!hndshk.error() && hndshk.is_complete()); DBUG_RETURN(CR_OK); } diff -Nru mysql-5.7-5.7.33/libmysql/authentication_win/handshake.h mysql-5.7-5.7.34/libmysql/authentication_win/handshake.h --- mysql-5.7-5.7.33/libmysql/authentication_win/handshake.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_win/handshake.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -174,7 +174,7 @@ /// Write packet to the other end. virtual int write_packet(Blob &data) =0; -#ifndef DBUG_OFF +#ifndef NDEBUG private: SecPkgInfo *m_ssp_info; diff -Nru mysql-5.7-5.7.33/libmysql/authentication_win/log_client.cc mysql-5.7-5.7.34/libmysql/authentication_win/log_client.cc --- mysql-5.7-5.7.33/libmysql/authentication_win/log_client.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_win/log_client.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/authentication_win/plugin_client.cc mysql-5.7-5.7.34/libmysql/authentication_win/plugin_client.cc --- mysql-5.7-5.7.33/libmysql/authentication_win/plugin_client.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/authentication_win/plugin_client.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/client_settings.h mysql-5.7-5.7.34/libmysql/client_settings.h --- mysql-5.7-5.7.33/libmysql/client_settings.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/client_settings.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/CMakeLists.txt mysql-5.7-5.7.34/libmysql/CMakeLists.txt --- mysql-5.7-5.7.33/libmysql/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/conf_to_src.c mysql-5.7-5.7.34/libmysql/conf_to_src.c --- mysql-5.7-5.7.33/libmysql/conf_to_src.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/conf_to_src.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/errmsg.c mysql-5.7-5.7.34/libmysql/errmsg.c --- mysql-5.7-5.7.33/libmysql/errmsg.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/errmsg.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/libmysql.c mysql-5.7-5.7.34/libmysql/libmysql.c --- mysql-5.7-5.7.33/libmysql/libmysql.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/libmysql.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -265,7 +265,7 @@ void STDCALL mysql_debug(const char *debug MY_ATTRIBUTE((unused))) { -#ifndef DBUG_OFF +#ifndef NDEBUG char *env; if (debug) { @@ -1417,7 +1417,7 @@ { DBUG_ENTER("set_stmt_error"); DBUG_PRINT("enter", ("error: %d '%s'", errcode, ER(errcode))); - DBUG_ASSERT(stmt != 0); + assert(stmt != 0); if (err == 0) err= ER(errcode); @@ -1444,7 +1444,7 @@ net->last_errno, net->sqlstate, net->last_error)); - DBUG_ASSERT(stmt != 0); + assert(stmt != 0); stmt->last_errno= net->last_errno; if (net->last_error[0] != '\0') @@ -1724,7 +1724,7 @@ MEM_ROOT *fields_mem_root= &stmt->extension->fields_mem_root; MYSQL *mysql= stmt->mysql; - DBUG_ASSERT(stmt->field_count); + assert(stmt->field_count); free_root(fields_mem_root, MYF(0)); @@ -2195,7 +2195,7 @@ if (is_data_packet) { - DBUG_ASSERT(stmt->result.rows == 0); + assert(stmt->result.rows == 0); prev_ptr= &stmt->result.data; if (add_binary_row(net, stmt, pkt_len, &prev_ptr)) DBUG_RETURN(1); @@ -3107,7 +3107,7 @@ { MYSQL_BIND *param; DBUG_ENTER("mysql_stmt_send_long_data"); - DBUG_ASSERT(stmt != 0); + assert(stmt != 0); DBUG_PRINT("enter",("param no: %d data: 0x%lx, length : %ld", param_number, (long) data, length)); @@ -4109,7 +4109,7 @@ case MYSQL_TYPE_LONG_BLOB: case MYSQL_TYPE_BLOB: case MYSQL_TYPE_BIT: - DBUG_ASSERT(param->buffer_length != 0); + assert(param->buffer_length != 0); param->fetch_result= fetch_result_bin; break; case MYSQL_TYPE_VAR_STRING: @@ -4118,7 +4118,7 @@ case MYSQL_TYPE_NEWDECIMAL: case MYSQL_TYPE_NEWDATE: case MYSQL_TYPE_JSON: - DBUG_ASSERT(param->buffer_length != 0); + assert(param->buffer_length != 0); param->fetch_result= fetch_result_str; break; default: @@ -4288,8 +4288,8 @@ Precondition: if stmt->field_count is zero or row is NULL, read_row_* function must return no data. */ - DBUG_ASSERT(stmt->field_count); - DBUG_ASSERT(row); + assert(stmt->field_count); + assert(row); if (!stmt->bind_result_done) { @@ -4477,7 +4477,7 @@ We could have read one row in execute() due to the lack of a cursor, but one at most. */ - DBUG_ASSERT(result->rows <= 1); + assert(result->rows <= 1); if (result->rows == 1) prev_ptr= &result->data->next; @@ -4556,7 +4556,7 @@ MYSQL_FIELD *field; uchar *null_ptr, bit; uchar *row= (uchar*) data->data; -#ifndef DBUG_OFF +#ifndef NDEBUG uchar *row_end= row + data->length; #endif @@ -4571,7 +4571,7 @@ { if (!(*null_ptr & bit)) (*my_bind->skip_result)(my_bind, field, &row); - DBUG_ASSERT(row <= row_end); + assert(row <= row_end); if (!((bit<<=1) & 255)) { bit= 1; /* To next uchar */ @@ -4678,8 +4678,8 @@ } /* Assert that if there was a cursor, all rows have been fetched */ - DBUG_ASSERT(mysql->status != MYSQL_STATUS_READY || - (mysql->server_status & SERVER_STATUS_LAST_ROW_SENT)); + assert(mysql->status != MYSQL_STATUS_READY || + (mysql->server_status & SERVER_STATUS_LAST_ROW_SENT)); if (stmt->update_max_length) { @@ -4919,7 +4919,7 @@ my_bool STDCALL mysql_stmt_reset(MYSQL_STMT *stmt) { DBUG_ENTER("mysql_stmt_reset"); - DBUG_ASSERT(stmt != 0); + assert(stmt != 0); if (!stmt->mysql) { /* mysql can be reset in mysql_close called from mysql_reconnect */ diff -Nru mysql-5.7-5.7.33/libmysql/libmysql.ver.in mysql-5.7-5.7.34/libmysql/libmysql.ver.in --- mysql-5.7-5.7.33/libmysql/libmysql.ver.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/libmysql.ver.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/mysql_trace.c mysql-5.7-5.7.34/libmysql/mysql_trace.c --- mysql-5.7-5.7.33/libmysql/mysql_trace.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/mysql_trace.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -102,7 +102,7 @@ is loaded and thus trace_plugin pointer is not NULL. This is handled in MYSQL_TRACE_STAGE() macro (mysql_trace.h). */ - DBUG_ASSERT(trace_plugin); + assert(trace_plugin); trace_info->plugin= trace_plugin; trace_info->stage= PROTOCOL_STAGE_CONNECTING; @@ -155,7 +155,7 @@ function should not be called - this is handled inside MYSQL_TRACE() macro. */ - DBUG_ASSERT(trace_info); + assert(trace_info); /* Call plugin's trace_event() method if defined */ @@ -193,7 +193,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG /* These functions are declared in plugin_trace.h. diff -Nru mysql-5.7-5.7.33/libmysql/mysql_trace.h mysql-5.7-5.7.34/libmysql/mysql_trace.h --- mysql-5.7-5.7.33/libmysql/mysql_trace.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/mysql_trace.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysql/test_trace_plugin.cc mysql-5.7-5.7.34/libmysql/test_trace_plugin.cc --- mysql-5.7-5.7.33/libmysql/test_trace_plugin.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysql/test_trace_plugin.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -20,9 +20,9 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#if defined(DBUG_OFF) +#if defined(NDEBUG) // This code can be used only in debug builds. -#error You cannot use test trace plugin when DBUG_OFF is defined. \ +#error You cannot use test trace plugin when NDEBUG is defined. \ Test trace plugin will work in debug builds only. #else @@ -481,7 +481,7 @@ { LOG(("wrong stage, expected: %s", protocol_stage_name(data->next_stage))); if (opt_crash) - DBUG_ASSERT(0); + assert(0); } } @@ -624,7 +624,7 @@ default: LOG(("invalid stage %d", stage)); if (opt_crash) - DBUG_ASSERT(0); + assert(0); } // Disable invalid event check in certain cases. @@ -654,7 +654,7 @@ { LOG(("invalid event detected")); if (opt_crash) - DBUG_ASSERT(0); + assert(0); } return 0; @@ -1426,4 +1426,4 @@ } // namespace test_trace -#endif // #if defined(DBUG_OFF) +#endif // #if defined(NDEBUG) diff -Nru mysql-5.7-5.7.33/libmysqld/CMakeLists.txt mysql-5.7-5.7.34/libmysqld/CMakeLists.txt --- mysql-5.7-5.7.33/libmysqld/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, @@ -130,8 +130,10 @@ # The flag /bigobj is not added if the build is not /MD IF(WIN32 AND CMAKE_SIZEOF_VOID_P MATCHES 8) FOREACH(flag + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG_INIT + CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG_INIT) diff -Nru mysql-5.7-5.7.33/libmysqld/embedded_priv.h mysql-5.7-5.7.34/libmysqld/embedded_priv.h --- mysql-5.7-5.7.33/libmysqld/embedded_priv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/embedded_priv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysqld/emb_qcache.cc mysql-5.7-5.7.34/libmysqld/emb_qcache.cc --- mysql-5.7-5.7.33/libmysqld/emb_qcache.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/emb_qcache.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights * reserved. This program is free software; you can redistribute it and/or modify @@ -33,14 +33,14 @@ if (data_end == cur_data) use_next_block(TRUE); *(cur_data++)= c; -#ifndef DBUG_OFF +#ifndef NDEBUG stored_size++; #endif } void Querycache_stream::store_short(ushort s) { -#ifndef DBUG_OFF +#ifndef NDEBUG stored_size+= 2; #endif if (data_end - cur_data > 1) @@ -63,7 +63,7 @@ void Querycache_stream::store_int(uint i) { -#ifndef DBUG_OFF +#ifndef NDEBUG stored_size+= 4; #endif size_t rest_len= data_end - cur_data; @@ -90,7 +90,7 @@ void Querycache_stream::store_ll(ulonglong ll) { -#ifndef DBUG_OFF +#ifndef NDEBUG stored_size+= 8; #endif size_t rest_len= data_end - cur_data; @@ -115,7 +115,7 @@ void Querycache_stream::store_str_only(const char *str, size_t str_len) { -#ifndef DBUG_OFF +#ifndef NDEBUG stored_size+= str_len; #endif do @@ -403,7 +403,7 @@ } } } - DBUG_ASSERT(emb_count_querycache_size(thd) == dst->stored_size); + assert(emb_count_querycache_size(thd) == dst->stored_size); DBUG_VOID_RETURN; } diff -Nru mysql-5.7-5.7.33/libmysqld/emb_qcache.h mysql-5.7-5.7.34/libmysqld/emb_qcache.h --- mysql-5.7-5.7.33/libmysqld/emb_qcache.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/emb_qcache.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -29,7 +29,7 @@ Query_cache_block *block; uint headers_len; public: -#ifndef DBUG_OFF +#ifndef NDEBUG Query_cache_block *first_block; size_t stored_size; #endif @@ -38,7 +38,7 @@ { cur_data= ((uchar*)block)+headers_len; data_end= cur_data + (block->used-headers_len); -#ifndef DBUG_OFF +#ifndef NDEBUG first_block= ini_block; stored_size= 0; #endif @@ -50,8 +50,8 @@ around to the first block again. That means we're trying to write more data than we allocated space for. */ - DBUG_ASSERT(block->next != block); - DBUG_ASSERT(block->next != first_block); + assert(block->next != block); + assert(block->next != first_block); block= block->next; /* @@ -61,7 +61,7 @@ if (writing) block->type= Query_cache_block::RES_CONT; else - DBUG_ASSERT(block->type == Query_cache_block::RES_CONT); + assert(block->type == Query_cache_block::RES_CONT); cur_data= ((uchar*)block)+headers_len; data_end= cur_data + (block->used-headers_len); diff -Nru mysql-5.7-5.7.33/libmysqld/examples/builder-sample/emb_sample.bpr mysql-5.7-5.7.34/libmysqld/examples/builder-sample/emb_sample.bpr --- mysql-5.7-5.7.33/libmysqld/examples/builder-sample/emb_sample.bpr 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/examples/builder-sample/emb_sample.bpr 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2002 MySQL AB +# Copyright (c) 2002, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/libmysqld/examples/builder-sample/emb_sample.cpp mysql-5.7-5.7.34/libmysqld/examples/builder-sample/emb_sample.cpp --- mysql-5.7-5.7.33/libmysqld/examples/builder-sample/emb_sample.cpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/examples/builder-sample/emb_sample.cpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -// Copyright (c) 2002 MySQL AB +// Copyright (c) 2002, 2021, Oracle and/or its affiliates. // Use is subject to license terms. // // This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/libmysqld/examples/builder-sample/emb_samples.cpp mysql-5.7-5.7.34/libmysqld/examples/builder-sample/emb_samples.cpp --- mysql-5.7-5.7.33/libmysqld/examples/builder-sample/emb_samples.cpp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/examples/builder-sample/emb_samples.cpp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -// Copyright (c) 2002, 2004, 2007 MySQL AB +// Copyright (c) 2002, 2021, Oracle and/or its affiliates. // Use is subject to license terms. // // This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/libmysqld/examples/builder-sample/emb_samples.h mysql-5.7-5.7.34/libmysqld/examples/builder-sample/emb_samples.h --- mysql-5.7-5.7.33/libmysqld/examples/builder-sample/emb_samples.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/examples/builder-sample/emb_samples.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -// Copyright (c) 2002 MySQL AB +// Copyright (c) 2002, 2021, Oracle and/or its affiliates. // Use is subject to license terms. // // This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/libmysqld/examples/CMakeLists.txt mysql-5.7-5.7.34/libmysqld/examples/CMakeLists.txt --- mysql-5.7-5.7.33/libmysqld/examples/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/examples/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysqld/examples/test-run mysql-5.7-5.7.34/libmysqld/examples/test-run --- mysql-5.7-5.7.33/libmysqld/examples/test-run 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/examples/test-run 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 2001, 2006 MySQL AB +# Copyright (c) 2001, 2021, Oracle and/or its affiliates. # Use is subject to license terms # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/libmysqld/libmysqld.c mysql-5.7-5.7.34/libmysqld/libmysqld.c --- mysql-5.7-5.7.33/libmysqld/libmysqld.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/libmysqld.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysqld/libmysqld.def mysql-5.7-5.7.34/libmysqld/libmysqld.def --- mysql-5.7-5.7.33/libmysqld/libmysqld.def 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/libmysqld.def 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -; Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +; Copyright (c) 2015, 2021, Oracle and/or its affiliates. ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysqld/libmysqld.rc mysql-5.7-5.7.34/libmysqld/libmysqld.rc --- mysql-5.7-5.7.33/libmysqld/libmysqld.rc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/libmysqld.rc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -// Copyright (c) 2004, 2020, Oracle and/or its affiliates. +// Copyright (c) 2004, 2021, Oracle and/or its affiliates. // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libmysqld/lib_sql.cc mysql-5.7-5.7.34/libmysqld/lib_sql.cc --- mysql-5.7-5.7.33/libmysqld/lib_sql.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/lib_sql.cc 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ * Copyright (c) 2000, 2014 * SWsoft company * - * Modifications copyright (c) 2001, 2015. Oracle and/or its affiliates. + * Modifications Copyright (c) 2001, 2021, Oracle and/or its affiliates. * All rights reserved. * * This material is provided "as is", with absolutely no warranty expressed @@ -291,7 +291,7 @@ { THD *thd= (THD*) mysql->thd; MYSQL_DATA *res= thd->first_data; - DBUG_ASSERT(!thd->cur_data); + assert(!thd->cur_data); thd->first_data= res->embedded_info->next; if (res->embedded_info->last_errno && !res->embedded_info->fields_list) @@ -388,7 +388,7 @@ MYSQL *mysql= stmt->mysql; THD *thd= (THD*) mysql->thd; MYSQL_DATA *res= thd->first_data; - DBUG_ASSERT(!thd->first_data->embedded_info->next); + assert(!thd->first_data->embedded_info->next); thd->first_data= 0; if (res->embedded_info->last_errno) { @@ -1312,7 +1312,7 @@ data->embedded_info->prev_ptr= &cur->next; next_field=cur->data; next_mysql_field= data->embedded_info->fields_list; -#ifndef DBUG_OFF +#ifndef NDEBUG field_pos= 0; #endif diff -Nru mysql-5.7-5.7.33/libmysqld/resource.h mysql-5.7-5.7.34/libmysqld/resource.h --- mysql-5.7-5.7.33/libmysqld/resource.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libmysqld/resource.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2020, Oracle and/or its affiliates. + Copyright (c) 2020, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/CMakeLists.txt mysql-5.7-5.7.34/libservices/CMakeLists.txt --- mysql-5.7-5.7.33/libservices/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/HOWTO mysql-5.7-5.7.34/libservices/HOWTO --- mysql-5.7-5.7.33/libservices/HOWTO 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/HOWTO 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2009, 2021, Oracle and/or its affiliates. How to create a new service ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff -Nru mysql-5.7-5.7.33/libservices/locking_service.c mysql-5.7-5.7.34/libservices/locking_service.c --- mysql-5.7-5.7.33/libservices/locking_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/locking_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/my_plugin_log_service.c mysql-5.7-5.7.34/libservices/my_plugin_log_service.c --- mysql-5.7-5.7.33/libservices/my_plugin_log_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/my_plugin_log_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/my_snprintf_service.c mysql-5.7-5.7.34/libservices/my_snprintf_service.c --- mysql-5.7-5.7.33/libservices/my_snprintf_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/my_snprintf_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009 Sun Microsystems, Inc. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/libservices/mysql_keyring_service.c mysql-5.7-5.7.34/libservices/mysql_keyring_service.c --- mysql-5.7-5.7.33/libservices/mysql_keyring_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/mysql_keyring_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/mysql_malloc_service.c mysql-5.7-5.7.34/libservices/mysql_malloc_service.c --- mysql-5.7-5.7.33/libservices/mysql_malloc_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/mysql_malloc_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/mysql_password_policy_service.c mysql-5.7-5.7.34/libservices/mysql_password_policy_service.c --- mysql-5.7-5.7.33/libservices/mysql_password_policy_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/mysql_password_policy_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/mysql_string_service.c mysql-5.7-5.7.34/libservices/mysql_string_service.c --- mysql-5.7-5.7.33/libservices/mysql_string_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/mysql_string_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/my_thread_scheduler_service.c mysql-5.7-5.7.34/libservices/my_thread_scheduler_service.c --- mysql-5.7-5.7.33/libservices/my_thread_scheduler_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/my_thread_scheduler_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/parser_service.c mysql-5.7-5.7.34/libservices/parser_service.c --- mysql-5.7-5.7.33/libservices/parser_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/parser_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/rpl_transaction_ctx_service.c mysql-5.7-5.7.34/libservices/rpl_transaction_ctx_service.c --- mysql-5.7-5.7.33/libservices/rpl_transaction_ctx_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/rpl_transaction_ctx_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/rpl_transaction_write_set_service.c mysql-5.7-5.7.34/libservices/rpl_transaction_write_set_service.c --- mysql-5.7-5.7.33/libservices/rpl_transaction_write_set_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/rpl_transaction_write_set_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/security_context_service.c mysql-5.7-5.7.34/libservices/security_context_service.c --- mysql-5.7-5.7.33/libservices/security_context_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/security_context_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/service_command.c mysql-5.7-5.7.34/libservices/service_command.c --- mysql-5.7-5.7.33/libservices/service_command.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/service_command.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/srv_session_info_service.c mysql-5.7-5.7.34/libservices/srv_session_info_service.c --- mysql-5.7-5.7.33/libservices/srv_session_info_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/srv_session_info_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/srv_session_service.c mysql-5.7-5.7.34/libservices/srv_session_service.c --- mysql-5.7-5.7.33/libservices/srv_session_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/srv_session_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/libservices/thd_alloc_service.c mysql-5.7-5.7.34/libservices/thd_alloc_service.c --- mysql-5.7-5.7.33/libservices/thd_alloc_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/thd_alloc_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009 Sun Microsystems, Inc. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/libservices/thd_wait_service.c mysql-5.7-5.7.34/libservices/thd_wait_service.c --- mysql-5.7-5.7.33/libservices/thd_wait_service.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/libservices/thd_wait_service.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/LICENSE mysql-5.7-5.7.34/LICENSE --- mysql-5.7-5.7.33/LICENSE 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/LICENSE 2021-03-26 06:58:52.000000000 +0000 @@ -10,7 +10,7 @@ third-party software which may be included in this distribution of MySQL 5.7.28 (and later). - Last updated: September 2020 + Last updated: January 2021 Licensing Information @@ -35,7 +35,7 @@ reproduced below and can also be found along with its FAQ at http://oss.oracle.com/licenses/universal-foss-exception. - Copyright (c) 1997, 2020, Oracle and/or its affiliates. + Copyright (c) 1997, 2021, Oracle and/or its affiliates. Election of GPLv2 @@ -4351,6 +4351,158 @@ ====================================================================== ====================================================================== + +Unicode Data Files, V5.2.0 + + Unicode Data Files, V5.2.0 +# unidata-5.2.0.txt +# Date: 2009-09-22, 16:23:42 PDT [KW] +# +# This file defines the Default Unicode Collation Element Table +# (DUCET) for the Unicode Collation Algorithm +# +# Copyright (c) 2001-2009 Unicode, Inc. +# For terms of use, see http://www.unicode.org/terms_of_use.html +# +# See UTS #10, Unicode Collation Algorithm, for more information. +# +# Diagnostic weight ranges +# Primary weight range: 0200..3ACA (14539) +# Secondary weight range: 0020..0192 (371) +# Variant secondaries: 0159..015E (6) +# Digit secondaries: 015F..0192 (52) +# Tertiary weight range: 0002..001F (30) +# +@version 5.2.0 + +=== http://www.unicode.org/terms_of_use.html +For the general privacy policy governing access to this site, see the +Unicode Privacy Policy. + +Unicode Copyright + Copyright (c) 1991-2020 Unicode, Inc. All rights reserved. +Definitions +Unicode Data Files ("DATA FILES") include all data files under the +directories: +https://www.unicode.org/Public/ +https://www.unicode.org/reports/ +https://www.unicode.org/ivd/data/ +Unicode Data Files do not include PDF online code charts under the directory: +https://www.unicode.org/Public/ +Unicode Software ("SOFTWARE") includes any source code published in the +Unicode Standard +or any source code or compiled code under the directories: +https://www.unicode.org/Public/PROGRAMS/ +https://www.unicode.org/Public/cldr/ +http://site.icu-project.org/download/ + +Terms of Use +Certain documents and files on this website contain a legend indicating that +"Modification is permitted." Any person is hereby authorized, without fee, to +modify such documents and files to create derivative works conforming to the +Unicode(R) Standard, subject to Terms and Conditions herein. +Any person is hereby authorized, without fee, to view, use, reproduce, and +distribute all documents and files, subject to the Terms and Conditions +herein. +Further specifications of rights and restrictions pertaining to the use of +the Unicode DATA FILES and SOFTWARE can be found in the Unicode Data Files +and Software License. +Each version of the Unicode Standard has further specifications of rights and +restrictions of use. For the book editions (Unicode 5.0 and earlier), these +are found on the back of the title page. +The Unicode PDF online code charts carry specific restrictions. Those +restrictions are incorporated as the first page of each PDF code chart. +All other files, including online documentation of the core specification for +Unicode 6.0 and later, are covered under these general Terms of Use. +No license is granted to "mirror" the Unicode website where a fee is charged +for access to the "mirror" site. +Modification is not permitted with respect to this document. All copies of +this document must be verbatim. + +Restricted Rights Legend +Any technical data or software which is licensed to the United States of +America, its agencies and/or instrumentalities under this Agreement is +commercial technical data or commercial computer software developed +exclusively at private expense as defined in FAR 2.101, or DFARS 252.227-7014 +(June 1995), as applicable. For technical data, use, duplication, or +disclosure by the Government is subject to restrictions as set forth in DFARS +202.227-7015 Technical Data, Commercial and Items (Nov 1995) and this +Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202, as +applicable, use, duplication or disclosure by the Government is subject to +the restrictions set forth in this Agreement. + +Warranties and Disclaimers +This publication and/or website may include technical or typographical errors +or other inaccuracies. Changes are periodically added to the information +herein; these changes will be incorporated in new editions of the publication +and/or website. Unicode, Inc. may make improvements and/or changes in the +product(s) and/or program(s) described in this publication and/or website at +any time. +If this file has been purchased on magnetic or optical media from Unicode, +Inc. the sole and exclusive remedy for any claim will be exchange of the +defective media within ninety (90) days of original purchase. + +EXCEPT AS PROVIDED IN SECTION E.2, THIS PUBLICATION AND/OR SOFTWARE IS +PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, OR +STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE, INC. AND ITS +LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS +PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR +LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE. + +Waiver of Damages +In no event shall Unicode, Inc. or its licensors be liable for any special, +incidental, indirect or consequential damages of any kind, or any damages +whatsoever, whether or not Unicode, Inc. was advised of the possibility of +the damage, including, without limitation, those resulting from the +following: loss of use, data or profits, in connection with the use, +modification or distribution of this information or its derivatives. + +Trademarks & Logos +The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. +¿The Unicode Consortium¿ and ¿Unicode, Inc.¿ are trade names of Unicode, Inc. +Use of the information and materials found on this website indicates your +acknowledgement of Unicode, Inc.¿s exclusive worldwide rights in the Unicode +Word Mark, the Unicode Logo, and the Unicode trade names. +The Unicode Consortium Name and Trademark Usage Policy (¿Trademark Policy¿) +are incorporated herein by reference and you agree to abide by the provisions +of the Trademark Policy, which may be changed from time to time in the sole +discretion of Unicode, Inc. +All third party trademarks referenced herein are the property of their +respective owners. + +Miscellaneous +Jurisdiction and Venue. This website is operated from a location in the State +of California, United States of America. Unicode, Inc. makes no +representation that the materials are appropriate for use in other locations. +If you access this website from other locations, you are responsible for +compliance with local laws. This Agreement, all use of this website and any +claims and damages resulting from use of this website are governed solely by +the laws of the State of California without regard to any principles which +would apply the laws of a different jurisdiction. The user agrees that any +disputes regarding this website shall be resolved solely in the courts +located in Santa Clara County, California. The user agrees said courts have +personal jurisdiction and agree to waive any right to transfer the dispute to +any other forum. + +Modification by Unicode, Inc. Unicode, Inc. shall have the right to modify +this Agreement at any time by posting it to this website. The user may not +assign any part of this Agreement without Unicode, Inc.¿s prior written +consent. + +Taxes. The user agrees to pay any taxes arising from access to this website +or use of the information herein, except for those based on Unicode¿s net +income. + +Severability. If any provision of this Agreement is declared invalid or +unenforceable, the remaining provisions of this Agreement shall remain in +effect. + +Entire Agreement. This Agreement constitutes the entire agreement between the +parties. + + ====================================================================== + ====================================================================== Unicode Data Files, V9.0 diff -Nru mysql-5.7-5.7.33/man/CMakeLists.txt mysql-5.7-5.7.34/man/CMakeLists.txt --- mysql-5.7-5.7.33/man/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/man/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/man/comp_err.1 mysql-5.7-5.7.34/man/comp_err.1 --- mysql-5.7-5.7.33/man/comp_err.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/comp_err.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBcomp_err\fR +.\" Title: comp_err .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBCOMP_ERR\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "COMP_ERR" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -65,7 +65,7 @@ .RS 4 .\} .nf -shell> \fBcomp_err [\fR\fB\fIoptions\fR\fR\fB]\fR +comp_err [\fIoptions\fR] .fi .if n \{\ .RE @@ -230,7 +230,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/innochecksum.1 mysql-5.7-5.7.34/man/innochecksum.1 --- mysql-5.7-5.7.33/man/innochecksum.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/innochecksum.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBinnochecksum\fR +.\" Title: innochecksum .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBINNOCHECKSUM\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "INNOCHECKSUM" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -64,7 +64,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR +innochecksum [\fIoptions\fR] \fIfile_name\fR .fi .if n \{\ .RE @@ -91,7 +91,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-help\fR +innochecksum \-\-help .fi .if n \{\ .RE @@ -115,7 +115,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-info\fR +innochecksum \-\-info .fi .if n \{\ .RE @@ -138,7 +138,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-version\fR +innochecksum \-\-version .fi .if n \{\ .RE @@ -164,7 +164,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-verbose\fR +innochecksum \-\-verbose .fi .if n \{\ .RE @@ -176,7 +176,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-verbose=FALSE\fR +innochecksum \-\-verbose=FALSE .fi .if n \{\ .RE @@ -192,7 +192,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-verbose \-\-log=/var/lib/mysql/test/logtest\&.txt\fR +innochecksum \-\-verbose \-\-log=/var/lib/mysql/test/logtest\&.txt .fi .if n \{\ .RE @@ -204,7 +204,7 @@ .RS 4 .\} .nf -shell> \fBcat \&./logtest\&.txt | grep \-i "okay"\fR +cat \&./logtest\&.txt | grep \-i "okay" .fi .if n \{\ .RE @@ -250,7 +250,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-count \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-count \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -273,7 +273,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-start\-page=600 \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-start\-page=600 \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -285,7 +285,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-s 600 \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-s 600 \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -308,7 +308,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-end\-page=700 \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-end\-page=700 \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -320,7 +320,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-p 700 \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-p 700 \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -343,7 +343,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-page=701 \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-page=701 \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -373,7 +373,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-strict\-check=innodb \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-strict\-check=innodb \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -387,7 +387,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-C crc32 \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-C crc32 \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -487,7 +487,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-no\-check \-\-write innodb \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-no\-check \-\-write innodb \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -529,7 +529,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-allow\-mismatches=1 \-\-write innodb \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-allow\-mismatches=1 \-\-write innodb \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -624,7 +624,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-w crc32 \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-w crc32 \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -640,7 +640,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-no\-check \-\-write crc32 \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-no\-check \-\-write crc32 \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -663,7 +663,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-page\-type\-summary \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-page\-type\-summary \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -722,7 +722,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-page\-type\-dump=/tmp/a\&.txt \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-page\-type\-dump=/tmp/a\&.txt \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -751,7 +751,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-\-log=/tmp/log\&.txt \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-\-log=/tmp/log\&.txt \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -763,7 +763,7 @@ .RS 4 .\} .nf -shell> \fBinnochecksum \-l /tmp/log\&.txt \&.\&./data/test/tab1\&.ibd\fR +innochecksum \-l /tmp/log\&.txt \&.\&./data/test/tab1\&.ibd .fi .if n \{\ .RE @@ -798,7 +798,7 @@ .RS 4 .\} .nf -shell> \fBcat t1\&.ibd | innochecksum \-\fR +cat t1\&.ibd | innochecksum \- .fi .if n \{\ .RE @@ -818,7 +818,7 @@ .RS 4 .\} .nf -shell> \fBcat t1\&.ibd | innochecksum \-\-write=crc32 \- > a\&.ibd\fR +cat t1\&.ibd | innochecksum \-\-write=crc32 \- > a\&.ibd .fi .if n \{\ .RE @@ -841,7 +841,7 @@ .RS 4 .\} .nf -shell> innochecksum \&./data/test/*\&.ibd +innochecksum \&./data/test/*\&.ibd .fi .if n \{\ .RE @@ -857,7 +857,7 @@ .RS 4 .\} .nf -shell> innochecksum \&./data/test/t*\&.ibd +innochecksum \&./data/test/t*\&.ibd .fi .if n \{\ .RE @@ -874,7 +874,7 @@ .RS 4 .\} .nf -shell> innochecksum \&./data/*/*\&.ibd +innochecksum \&./data/*/*\&.ibd .fi .if n \{\ .RE @@ -905,9 +905,9 @@ .RS 4 .\} .nf -cmd> innochecksum\&.exe t1\&.ibd -cmd> innochecksum\&.exe t2\&.ibd -cmd> innochecksum\&.exe t3\&.ibd +innochecksum\&.exe t1\&.ibd +innochecksum\&.exe t2\&.ibd +innochecksum\&.exe t3\&.ibd .fi .if n \{\ .RE @@ -931,7 +931,7 @@ .RS 4 .\} .nf -shell> \fB\&./bin/mysqld \-\-no\-defaults \-\-innodb\-data\-file\-path="ibdata1:10M;ibdata2:10M;ibdata3:10M:autoextend"\fR +\&./bin/mysqld \-\-no\-defaults \-\-innodb\-data\-file\-path="ibdata1:10M;ibdata2:10M;ibdata3:10M:autoextend" .fi .if n \{\ .RE @@ -953,7 +953,7 @@ .RS 4 .\} .nf -shell> cat ibdata* | innochecksum \- +cat ibdata* | innochecksum \- .fi .if n \{\ .RE @@ -989,9 +989,9 @@ .RS 4 .\} .nf -cmd> innochecksum\&.exe ibdata1 -cmd> innochecksum\&.exe ibdata2 -cmd> innochecksum\&.exe ibdata3 +innochecksum\&.exe ibdata1 +innochecksum\&.exe ibdata2 +innochecksum\&.exe ibdata3 .fi .if n \{\ .RE @@ -1001,7 +1001,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/lz4_decompress.1 mysql-5.7-5.7.34/man/lz4_decompress.1 --- mysql-5.7-5.7.33/man/lz4_decompress.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/lz4_decompress.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBlz4_decompress\fR +.\" Title: lz4_decompress .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBLZ4_DECOMPRESS\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "LZ4_DECOMPRESS" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -50,7 +50,7 @@ .RS 4 .\} .nf -shell> \fBlz4_decompress \fR\fB\fIinput_file\fR\fR\fB \fR\fB\fIoutput_file\fR\fR +lz4_decompress \fIinput_file\fR \fIoutput_file\fR .fi .if n \{\ .RE @@ -62,8 +62,8 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-compress\-output=LZ4 > dump\&.lz4\fR -shell> \fBlz4_decompress dump\&.lz4 dump\&.txt\fR +mysqlpump \-\-compress\-output=LZ4 > dump\&.lz4 +lz4_decompress dump\&.lz4 dump\&.txt .fi .if n \{\ .RE @@ -77,11 +77,11 @@ \fBmysqlpump\fR ZLIB\-compressed output, use \fBzlib_decompress\fR\&. See -\fBzlib_decompress\fR(1)\&. +zlib_decompress(1)\&. .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/myisamchk.1 mysql-5.7-5.7.34/man/myisamchk.1 --- mysql-5.7-5.7.33/man/myisamchk.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/myisamchk.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmyisamchk\fR +.\" Title: myisamchk .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYISAMCHK\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYISAMCHK" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -84,7 +84,7 @@ .RS 4 .\} .nf -shell> \fBmyisamchk [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fItbl_name\fR\fR\fB \&.\&.\&.\fR +myisamchk [\fIoptions\fR] \fItbl_name\fR \&.\&.\&. .fi .if n \{\ .RE @@ -125,7 +125,7 @@ .RS 4 .\} .nf -shell> \fBmyisamchk *\&.MYI\fR +myisamchk *\&.MYI .fi .if n \{\ .RE @@ -137,7 +137,7 @@ .RS 4 .\} .nf -shell> \fBmyisamchk \fR\fB\fI/path/to/database_dir/\fR\fR\fB*\&.MYI\fR +myisamchk \fI/path/to/database_dir/\fR*\&.MYI .fi .if n \{\ .RE @@ -149,7 +149,7 @@ .RS 4 .\} .nf -shell> \fBmyisamchk \fR\fB\fI/path/to/datadir/*/*\fR\fR\fB\&.MYI\fR +myisamchk \fI/path/to/datadir/*/*\fR\&.MYI .fi .if n \{\ .RE @@ -163,7 +163,7 @@ .RS 4 .\} .nf -shell> \fBmyisamchk \-\-silent \-\-fast \fR\fB\fI/path/to/datadir/*/*\fR\fR\fB\&.MYI\fR +myisamchk \-\-silent \-\-fast \fI/path/to/datadir/*/*\fR\&.MYI .fi .if n \{\ .RE @@ -177,10 +177,10 @@ .RS 4 .\} .nf -shell> \fBmyisamchk \-\-silent \-\-force \-\-fast \-\-update\-state \e\fR - \fB\-\-key_buffer_size=64M \-\-myisam_sort_buffer_size=64M \e\fR - \fB\-\-read_buffer_size=1M \-\-write_buffer_size=1M \e\fR - \fB\fI/path/to/datadir/*/*\fR\fR\fB\&.MYI\fR +myisamchk \-\-silent \-\-force \-\-fast \-\-update\-state \e + \-\-key_buffer_size=64M \-\-myisam_sort_buffer_size=64M \e + \-\-read_buffer_size=1M \-\-write_buffer_size=1M \e + \fI/path/to/datadir/*/*\fR\&.MYI .fi .if n \{\ .RE @@ -312,9 +312,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -329,9 +329,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -351,9 +351,8 @@ \fBmyisamchk\fR normally reads the [myisamchk] -group\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +group\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmyisamchk\fR also reads the [myisamchk_other] @@ -378,13 +377,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -664,7 +663,7 @@ .RS 4 .\} .nf -shell> \fBmyisamchk \-\-recover \-\-ft_min_word_len=3 \fR\fB\fItbl_name\fR\fR\fB\&.MYI\fR +myisamchk \-\-recover \-\-ft_min_word_len=3 \fItbl_name\fR\&.MYI .fi .if n \{\ .RE @@ -1323,7 +1322,7 @@ argument can be either the name of a MyISAM table or the name of its index file, as described in -\fBmyisamchk\fR(1)\&. Multiple +myisamchk(1)\&. Multiple \fItbl_name\fR arguments can be given\&. .PP @@ -2017,7 +2016,7 @@ Bits fields are displayed if the table has been compressed with \fBmyisampack\fR\&. See -\fBmyisampack\fR(1), for an example of this information\&. +myisampack(1), for an example of this information\&. .PP Example of \fBmyisamchk \-eiv\fR @@ -2322,10 +2321,10 @@ .RS 4 .\} .nf -shell> \fBmyisamchk \-\-myisam_sort_buffer_size=256M \e\fR - \fB\-\-key_buffer_size=512M \e\fR - \fB\-\-read_buffer_size=64M \e\fR - \fB\-\-write_buffer_size=64M \&.\&.\&.\fR +myisamchk \-\-myisam_sort_buffer_size=256M \e + \-\-key_buffer_size=512M \e + \-\-read_buffer_size=64M \e + \-\-write_buffer_size=64M \&.\&.\&. .fi .if n \{\ .RE @@ -2433,7 +2432,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/myisam_ftdump.1 mysql-5.7-5.7.34/man/myisam_ftdump.1 --- mysql-5.7-5.7.33/man/myisam_ftdump.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/myisam_ftdump.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmyisam_ftdump\fR +.\" Title: myisam_ftdump .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYISAM_FTDUMP\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYISAM_FTDUMP" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -57,7 +57,7 @@ .RS 4 .\} .nf -shell> \fBmyisam_ftdump [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fItbl_name\fR\fR\fB \fR\fB\fIindex_num\fR\fR +myisam_ftdump [\fIoptions\fR] \fItbl_name\fR \fIindex_num\fR .fi .if n \{\ .RE @@ -111,7 +111,7 @@ .RS 4 .\} .nf -shell> \fBmyisam_ftdump mytexttable 1\fR +myisam_ftdump mytexttable 1 .fi .if n \{\ .RE @@ -128,7 +128,7 @@ .RS 4 .\} .nf -shell> \fBmyisam_ftdump /usr/local/mysql/data/test/mytexttable 1\fR +myisam_ftdump /usr/local/mysql/data/test/mytexttable 1 .fi .if n \{\ .RE @@ -142,7 +142,7 @@ .RS 4 .\} .nf -shell> \fBmyisam_ftdump \-c mytexttable 1 | sort \-r\fR +myisam_ftdump \-c mytexttable 1 | sort \-r .fi .if n \{\ .RE @@ -154,7 +154,7 @@ .RS 4 .\} .nf -shell> \fBmyisam_ftdump \-c mytexttable 1 | sort /R\fR +myisam_ftdump \-c mytexttable 1 | sort /R .fi .if n \{\ .RE @@ -244,7 +244,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/myisamlog.1 mysql-5.7-5.7.34/man/myisamlog.1 --- mysql-5.7-5.7.33/man/myisamlog.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/myisamlog.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmyisamlog\fR +.\" Title: myisamlog .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYISAMLOG\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYISAMLOG" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -49,7 +49,7 @@ .RS 4 .\} .nf -shell> \fBmyisamlog [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIfile_name\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB] \&.\&.\&.]\fR +myisamlog [\fIoptions\fR] [\fIfile_name\fR [\fItbl_name\fR] \&.\&.\&.] .fi .if n \{\ .RE @@ -240,7 +240,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/myisampack.1 mysql-5.7-5.7.34/man/myisampack.1 --- mysql-5.7-5.7.33/man/myisampack.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/myisampack.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmyisampack\fR +.\" Title: myisampack .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYISAMPACK\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYISAMPACK" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -100,7 +100,7 @@ .RS 4 .\} .nf -shell> \fBmyisampack [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIfile_name\fR\fR\fB \&.\&.\&.\fR +myisampack [\fIoptions\fR] \fIfile_name\fR \&.\&.\&. .fi .if n \{\ .RE @@ -114,7 +114,7 @@ \fBmyisampack\fR, use \fBmyisamchk \-rq\fR to rebuild its indexes\&. -\fBmyisamchk\fR(1)\&. +myisamchk(1)\&. .PP \fBmyisampack\fR supports the following options\&. It also reads option files and supports the options for processing them described at @@ -799,7 +799,7 @@ .RS 4 .\} .nf -shell> \fBmyisamchk \-rq \-\-sort\-index \-\-analyze \fR\fB\fItbl_name\fR\fR\fB\&.MYI\fR +myisamchk \-rq \-\-sort\-index \-\-analyze \fItbl_name\fR\&.MYI .fi .if n \{\ .RE @@ -818,7 +818,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/my_print_defaults.1 mysql-5.7-5.7.34/man/my_print_defaults.1 --- mysql-5.7-5.7.33/man/my_print_defaults.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/my_print_defaults.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmy_print_defaults\fR +.\" Title: my_print_defaults .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMY_PRINT_DEFAULTS\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MY_PRINT_DEFAULTS" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -157,7 +157,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -222,7 +222,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysql.1 mysql-5.7-5.7.34/man/mysql.1 --- mysql-5.7-5.7.33/man/mysql.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysql.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysql\fR +.\" Title: mysql .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQL\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQL" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -71,7 +71,7 @@ .RS 4 .\} .nf -shell> \fBmysql \fR\fB\fIdb_name\fR\fR +mysql \fIdb_name\fR .fi .if n \{\ .RE @@ -83,7 +83,20 @@ .RS 4 .\} .nf -shell> \fBmysql \-\-user=\fR\fB\fIuser_name\fR\fR\fB \-\-password \fR\fB\fIdb_name\fR\fR +mysql \-\-user=\fIuser_name\fR \-\-password \fIdb_name\fR +.fi +.if n \{\ +.RE +.\} +.PP +In this case, you\*(Aqll need to enter your password in response to the prompt that +\fBmysql\fR +displays: +.sp +.if n \{\ +.RS 4 +.\} +.nf Enter password: \fIyour_password\fR .fi .if n \{\ @@ -106,7 +119,7 @@ .RS 4 .\} .nf -shell> \fBmysql \fR\fB\fIdb_name\fR\fR\fB < \fR\fB\fIscript\&.sql\fR\fR\fB > \fR\fB\fIoutput\&.tab\fR\fR +mysql \fIdb_name\fR < \fIscript\&.sql\fR > \fIoutput\&.tab\fR .fi .if n \{\ .RE @@ -642,9 +655,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -659,9 +672,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp Exception: Even with \fB\-\-defaults\-file\fR, client programs read @@ -687,9 +700,8 @@ [client] and [mysql] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysql\fR also reads the [client_other] @@ -939,7 +951,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -1047,13 +1059,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -1466,7 +1478,13 @@ caching_sha2_password authentication plugin\&. This option is ignored for accounts that do not authenticate with one of those plugins\&. It is also ignored if RSA\-based password exchange is not used, as is the case when the client connects to the server using a secure connection\&. .sp -This option is available only if MySQL was built using OpenSSL\&. +If +\fB\-\-server\-public\-key\-path=\fR\fB\fIfile_name\fR\fR +is given and specifies a valid public key file, it takes precedence over +\fB\-\-get\-server\-public\-key\fR\&. +.sp +For +sha256_password, this option applies only if MySQL was built using OpenSSL\&. .sp For information about the sha256_password @@ -1599,7 +1617,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -1793,7 +1811,7 @@ matches that of \fBmysqldump\fR \fB\-\-xml\fR\&. See -\fBmysqldump\fR(1), for details\&. +mysqldump(1), for details\&. .sp The XML output also uses an XML namespace, as shown here: .sp @@ -2020,7 +2038,7 @@ ; as a statement delimiter and processes statements accordingly\&. This behavior on the server side comes into play for multiple\-statement execution (see \m[blue]\fBC API Multiple Statement Execution Support\fR\m[]\&\s-2\u[3]\d\s+2), and for parsing the body of stored procedures and functions, triggers, and events (see -Section\ \&22.1, \(lqDefining Stored Programs\(rq)\&. +Section\ \&23.1, \(lqDefining Stored Programs\(rq)\&. .RE .sp .RS 4 @@ -2477,7 +2495,7 @@ .RS 4 .\} .nf -shell> \fBman less\fR +man less .fi .if n \{\ .RE @@ -2789,7 +2807,7 @@ .RS 4 .\} .nf -shell> \fBexport MYSQL_PS1="(\eu@\eh) [\ed]> "\fR +export MYSQL_PS1="(\eu@\eh) [\ed]> " .fi .if n \{\ .RE @@ -3126,7 +3144,7 @@ .RS 4 .\} .nf -shell> \fBmysql \-\-histignore="*UPDATE*:*DELETE*"\fR +mysql \-\-histignore="*UPDATE*:*DELETE*" .fi .if n \{\ .RE @@ -3179,7 +3197,7 @@ .RS 4 .\} .nf -shell> \fBln \-s /dev/null $HOME/\&.mysql_history\fR +ln \-s /dev/null $HOME/\&.mysql_history .fi .if n \{\ .RE @@ -3471,7 +3489,7 @@ .RS 4 .\} .nf -shell> \fBmysql \fR\fB\fIdb_name\fR\fR +mysql \fIdb_name\fR .fi .if n \{\ .RE @@ -3489,7 +3507,7 @@ .RS 4 .\} .nf -shell> \fBmysql \fR\fB\fIdb_name\fR\fR\fB < \fR\fB\fItext_file\fR\fR +mysql \fIdb_name\fR < \fItext_file\fR .fi .if n \{\ .RE @@ -3503,7 +3521,7 @@ .RS 4 .\} .nf -shell> \fBmysql < text_file\fR +mysql < text_file .fi .if n \{\ .RE @@ -4194,7 +4212,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqladmin.1 mysql-5.7-5.7.34/man/mysqladmin.1 --- mysql-5.7-5.7.33/man/mysqladmin.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqladmin.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqladmin\fR +.\" Title: mysqladmin .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLADMIN\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLADMIN" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ .RS 4 .\} .nf -shell> \fBmysqladmin [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-arg\fR\fR\fB] [\fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-arg\fR\fR\fB]] \&.\&.\&.\fR +mysqladmin [\fIoptions\fR] \fIcommand\fR [\fIcommand\-arg\fR] [\fIcommand\fR [\fIcommand\-arg\fR]] \&.\&.\&. .fi .if n \{\ .RE @@ -83,7 +83,7 @@ privilege\&. Format and content of this information is subject to change\&. .sp This includes information about the Event Scheduler\&. See -Section\ \&22.4.5, \(lqEvent Scheduler Status\(rq\&. +Section\ \&23.4.5, \(lqEvent Scheduler Status\(rq\&. .RE .sp .RS 4 @@ -289,7 +289,7 @@ .RS 4 .\} .nf -shell> \fBmysqladmin password "my new password"\fR +mysqladmin password "my new password" .fi .if n \{\ .RE @@ -778,9 +778,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -795,9 +795,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp Exception: Even with \fB\-\-defaults\-file\fR, client programs read @@ -823,9 +823,8 @@ [client] and [mysqladmin] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysqladmin\fR also reads the [client_other] @@ -924,7 +923,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -958,13 +957,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -1265,7 +1264,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -1354,7 +1353,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqlbinlog.1 mysql-5.7-5.7.34/man/mysqlbinlog.1 --- mysql-5.7-5.7.33/man/mysqlbinlog.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqlbinlog.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqlbinlog\fR +.\" Title: mysqlbinlog .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLBINLOG\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLBINLOG" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -52,7 +52,7 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIlog_file\fR\fR\fB \&.\&.\&.\fR +mysqlbinlog [\fIoptions\fR] \fIlog_file\fR \&.\&.\&. .fi .if n \{\ .RE @@ -65,7 +65,7 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog binlog\&.0000003\fR +mysqlbinlog binlog\&.0000003 .fi .if n \{\ .RE @@ -595,9 +595,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -612,9 +612,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp Exception: Even with \fB\-\-defaults\-file\fR, client programs read @@ -640,9 +640,8 @@ [client] and [mysqlbinlog] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysqlbinlog\fR also reads the [client_other] @@ -819,7 +818,7 @@ LOAD DATA statements, \fBmysqlbinlog\fR -extracts the files from the binary log events, writes them as temporary ffiles to the local file system, and writes +extracts the files from the binary log events, writes them as temporary files to the local file system, and writes LOAD DATA LOCAL statements to cause the files to be loaded\&. By default, \fBmysqlbinlog\fR @@ -863,7 +862,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -884,13 +883,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -1171,8 +1170,8 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog \-\-rewrite\-db=\*(Aqdbcurrent\->dbold\*(Aq \-\-rewrite\-db=\*(Aqdbtest\->dbcurrent\*(Aq \e - binlog\&.00001 > /tmp/statements\&.sql\fR +mysqlbinlog \-\-rewrite\-db=\*(Aqdbcurrent\->dbold\*(Aq \-\-rewrite\-db=\*(Aqdbtest\->dbcurrent\*(Aq \e + binlog\&.00001 > /tmp/statements\&.sql .fi .if n \{\ .RE @@ -1370,9 +1369,9 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog \-\-skip\-gtids binlog\&.000001 > /tmp/dump\&.sql\fR -shell> \fBmysqlbinlog \-\-skip\-gtids binlog\&.000002 >> /tmp/dump\&.sql\fR -shell> \fBmysql \-u root \-p \-e "source /tmp/dump\&.sql"\fR +mysqlbinlog \-\-skip\-gtids binlog\&.000001 > /tmp/dump\&.sql +mysqlbinlog \-\-skip\-gtids binlog\&.000002 >> /tmp/dump\&.sql +mysql \-u root \-p \-e "source /tmp/dump\&.sql" .fi .if n \{\ .RE @@ -1412,7 +1411,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -1440,7 +1439,7 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog \-\-start\-datetime="2005\-12\-25 11:25:56" binlog\&.000003\fR +mysqlbinlog \-\-start\-datetime="2005\-12\-25 11:25:56" binlog\&.000003 .fi .if n \{\ .RE @@ -1654,7 +1653,7 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog binlog\&.000001 | mysql \-u root \-p\fR +mysqlbinlog binlog\&.000001 | mysql \-u root \-p .fi .if n \{\ .RE @@ -1666,7 +1665,7 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog binlog\&.[0\-9]* | mysql \-u root \-p\fR +mysqlbinlog binlog\&.[0\-9]* | mysql \-u root \-p .fi .if n \{\ .RE @@ -1694,9 +1693,9 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog binlog\&.000001 > tmpfile\fR -shell> \&.\&.\&. \fIedit tmpfile\fR \&.\&.\&. -shell> \fBmysql \-u root \-p < tmpfile\fR +mysqlbinlog binlog\&.000001 > tmpfile +\&.\&.\&. \fIedit tmpfile\fR \&.\&.\&. +mysql \-u root \-p < tmpfile .fi .if n \{\ .RE @@ -1718,8 +1717,8 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog binlog\&.000001 | mysql \-u root \-p # DANGER!!\fR -shell> \fBmysqlbinlog binlog\&.000002 | mysql \-u root \-p # DANGER!!\fR +mysqlbinlog binlog\&.000001 | mysql \-u root \-p # DANGER!! +mysqlbinlog binlog\&.000002 | mysql \-u root \-p # DANGER!! .fi .if n \{\ .RE @@ -1743,7 +1742,7 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog binlog\&.000001 binlog\&.000002 | mysql \-u root \-p\fR +mysqlbinlog binlog\&.000001 binlog\&.000002 | mysql \-u root \-p .fi .if n \{\ .RE @@ -1755,9 +1754,9 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog binlog\&.000001 > /tmp/statements\&.sql\fR -shell> \fBmysqlbinlog binlog\&.000002 >> /tmp/statements\&.sql\fR -shell> \fBmysql \-u root \-p \-e "source /tmp/statements\&.sql"\fR +mysqlbinlog binlog\&.000001 > /tmp/statements\&.sql +mysqlbinlog binlog\&.000002 >> /tmp/statements\&.sql +mysql \-u root \-p \-e "source /tmp/statements\&.sql" .fi .if n \{\ .RE @@ -1818,7 +1817,7 @@ .RS 4 .\} .nf -shell> \fBmysqlbinlog \-\-hexdump master\-bin\&.000001\fR +mysqlbinlog \-\-hexdump master\-bin\&.000001 .fi .if n \{\ .RE @@ -2854,7 +2853,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqlcheck.1 mysql-5.7-5.7.34/man/mysqlcheck.1 --- mysql-5.7-5.7.33/man/mysqlcheck.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqlcheck.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqlcheck\fR +.\" Title: mysqlcheck .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLCHECK\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLCHECK" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -118,9 +118,9 @@ .RS 4 .\} .nf -shell> \fBmysqlcheck [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIdb_name\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB \&.\&.\&.]\fR -shell> \fBmysqlcheck [\fR\fB\fIoptions\fR\fR\fB] \-\-databases \fR\fB\fIdb_name\fR\fR\fB \&.\&.\&.\fR -shell> \fBmysqlcheck [\fR\fB\fIoptions\fR\fR\fB] \-\-all\-databases\fR +mysqlcheck [\fIoptions\fR] \fIdb_name\fR [\fItbl_name\fR \&.\&.\&.] +mysqlcheck [\fIoptions\fR] \-\-databases \fIdb_name\fR \&.\&.\&. +mysqlcheck [\fIoptions\fR] \-\-all\-databases .fi .if n \{\ .RE @@ -437,9 +437,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -454,9 +454,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp Exception: Even with \fB\-\-defaults\-file\fR, client programs read @@ -482,9 +482,8 @@ [client] and [mysqlcheck] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysqlcheck\fR also reads the [client_other] @@ -652,7 +651,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -688,13 +687,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -987,7 +986,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -1105,7 +1104,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysql_config.1 mysql-5.7-5.7.34/man/mysql_config.1 --- mysql-5.7-5.7.33/man/mysql_config.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysql_config.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysql_config\fR +.\" Title: mysql_config .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQL_CONFIG\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQL_CONFIG" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -300,7 +300,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysql_config_editor.1 mysql-5.7-5.7.34/man/mysql_config_editor.1 --- mysql-5.7-5.7.33/man/mysql_config_editor.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysql_config_editor.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysql_config_editor\fR +.\" Title: mysql_config_editor .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQL_CONFIG_EDITOR\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQL_CONFIG_EDITOR" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -119,7 +119,7 @@ .RS 4 .\} .nf -shell> \fBmysql\fR +mysql .fi .if n \{\ .RE @@ -150,7 +150,7 @@ .RS 4 .\} .nf -shell> \fBmysql \-\-login\-path=mypath\fR +mysql \-\-login\-path=mypath .fi .if n \{\ .RE @@ -216,7 +216,7 @@ .RS 4 .\} .nf -shell> \fBmysql_config_editor [\fR\fB\fIprogram_options\fR\fR\fB] \fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand_options\fR\fR\fB]\fR +mysql_config_editor [\fIprogram_options\fR] \fIcommand\fR [\fIcommand_options\fR] .fi .if n \{\ .RE @@ -280,8 +280,8 @@ .RS 4 .\} .nf -shell> \fBmysql_config_editor \-\-help set\fR -shell> \fBmysql_config_editor set \-\-help\fR +mysql_config_editor \-\-help set +mysql_config_editor set \-\-help .fi .if n \{\ .RE @@ -410,7 +410,7 @@ .RS 4 .\} .nf -shell> \fBmysql \-\-login\-path=remote\fR +mysql \-\-login\-path=remote .fi .if n \{\ .RE @@ -434,7 +434,7 @@ .RS 4 .\} .nf -shell> \fBmysql \-\-login\-path=client\fR +mysql \-\-login\-path=client .fi .if n \{\ .RE @@ -454,7 +454,7 @@ .RS 4 .\} .nf -shell> \fBmysql\fR +mysql .fi .if n \{\ .RE @@ -489,7 +489,7 @@ .RS 4 .\} .nf -shell> \fBmysql \-\-login\-path=remote \-\-host=remote2\&.example\&.com\fR +mysql \-\-login\-path=remote \-\-host=remote2\&.example\&.com .fi .if n \{\ .RE @@ -524,7 +524,7 @@ .RS 4 .\} .nf -shell> \fBmysql_config_editor \fR\fB\fIcommand\fR\fR\fB \-\-help\fR +mysql_config_editor \fIcommand\fR \-\-help .fi .if n \{\ .RE @@ -615,7 +615,7 @@ .RS 4 .\} .nf -shell> \fBmysql_config_editor \fR\fB\fIcommand\fR\fR\fB \-\-help\fR +mysql_config_editor \fIcommand\fR \-\-help .fi .if n \{\ .RE @@ -728,7 +728,7 @@ .RS 4 .\} .nf -shell> \fBmysql_config_editor remove \-\-login\-path=mypath \-\-user\fR +mysql_config_editor remove \-\-login\-path=mypath \-\-user .fi .if n \{\ .RE @@ -742,7 +742,7 @@ .RS 4 .\} .nf -shell> \fBmysql_config_editor remove \-\-login\-path=mypath\fR +mysql_config_editor remove \-\-login\-path=mypath .fi .if n \{\ .RE @@ -1078,7 +1078,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqld.8 mysql-5.7-5.7.34/man/mysqld.8 --- mysql-5.7-5.7.33/man/mysqld.8 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqld.8 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqld\fR +.\" Title: mysqld .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLD\FR" "8" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLD" "8" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -66,7 +66,7 @@ .RS 4 .\} .nf -shell> \fBmysqld \-\-verbose \-\-help\fR +mysqld \-\-verbose \-\-help .fi .if n \{\ .RE @@ -80,7 +80,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqld_multi.1 mysql-5.7-5.7.34/man/mysqld_multi.1 --- mysql-5.7-5.7.33/man/mysqld_multi.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqld_multi.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqld_multi\fR +.\" Title: mysqld_multi .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLD_MULTI\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLD_MULTI" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -84,7 +84,7 @@ .RS 4 .\} .nf -shell> \fBmysqld_multi [\fR\fB\fIoptions\fR\fR\fB] {start|stop|reload|report} [\fR\fB\fIGNR\fR\fR\fB[,\fR\fB\fIGNR\fR\fR\fB] \&.\&.\&.]\fR +mysqld_multi [\fIoptions\fR] {start|stop|reload|report} [\fIGNR\fR[,\fIGNR\fR] \&.\&.\&.] .fi .if n \{\ .RE @@ -126,7 +126,7 @@ .RS 4 .\} .nf -shell> \fBmysqld_multi start 17\fR +mysqld_multi start 17 .fi .if n \{\ .RE @@ -143,7 +143,7 @@ .RS 4 .\} .nf -shell> \fBmysqld_multi stop 8,10\-13\fR +mysqld_multi stop 8,10\-13 .fi .if n \{\ .RE @@ -155,7 +155,7 @@ .RS 4 .\} .nf -shell> \fBmysqld_multi \-\-example\fR +mysqld_multi \-\-example .fi .if n \{\ .RE @@ -310,7 +310,7 @@ option group\&. These options indicate the name of the server that \fBmysqld_safe\fR should start and the path name of the directory where the server is located\&. (See the descriptions for these options in -\fBmysqld_safe\fR(1)\&.) Example: +mysqld_safe(1)\&.) Example: .sp .if n \{\ .RS 4 @@ -633,7 +633,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqld_safe.1 mysql-5.7-5.7.34/man/mysqld_safe.1 --- mysql-5.7-5.7.33/man/mysqld_safe.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqld_safe.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqld_safe\fR +.\" Title: mysqld_safe .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLD_SAFE\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLD_SAFE" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -183,9 +183,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file in addition to the usual option files\&. If the file does not exist or is otherwise inaccessible, the server exits with an error\&. +Read this option file in addition to the usual option files\&. If the file does not exist or is otherwise inaccessible, the server exits with an error\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. This must be the first option on the command line if it is used\&. +is not an absolute path name, it is interpreted relative to the current directory\&. This must be the first option on the command line if it is used\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -200,9 +200,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, the server exits with an error\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, the server exits with an error\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. This must be the first option on the command line if it is used\&. +is not an absolute path name, it is interpreted relative to the current directory\&. This must be the first option on the command line if it is used\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -886,8 +886,8 @@ .RS 4 .\} .nf -shell> \fBcd \fR\fB\fImysql_installation_directory\fR\fR -shell> \fBbin/mysqld_safe &\fR +cd \fImysql_installation_directory\fR +bin/mysqld_safe & .fi .if n \{\ .RE @@ -999,7 +999,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqldump.1 mysql-5.7-5.7.34/man/mysqldump.1 --- mysql-5.7-5.7.33/man/mysqldump.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqldump.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqldump\fR +.\" Title: mysqldump .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLDUMP\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLDUMP" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -274,7 +274,7 @@ .RS 4 .\} .nf -shell> \fBmysqldump [options] > dump\&.sql\fR +mysqldump [options] > dump\&.sql .fi .if n \{\ .RE @@ -289,7 +289,7 @@ .RS 4 .\} .nf -shell> \fBmysqldump [options] \-\-result\-file=dump\&.sql\fR +mysqldump [options] \-\-result\-file=dump\&.sql .fi .if n \{\ .RE @@ -326,7 +326,7 @@ backups with minimal disruption; it can also back up tables from MyISAM and other storage engines; and it provides a number of convenient options to accommodate different backup scenarios\&. See -Section\ \&27.2, \(lqMySQL Enterprise Backup Overview\(rq\&. +Section\ \&28.2, \(lqMySQL Enterprise Backup Overview\(rq\&. .RE .PP \fBmysqldump\fR @@ -362,9 +362,9 @@ .RS 4 .\} .nf -shell> \fBmysqldump [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIdb_name\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB \&.\&.\&.]\fR -shell> \fBmysqldump [\fR\fB\fIoptions\fR\fR\fB] \-\-databases \fR\fB\fIdb_name\fR\fR\fB \&.\&.\&.\fR -shell> \fBmysqldump [\fR\fB\fIoptions\fR\fR\fB] \-\-all\-databases\fR +mysqldump [\fIoptions\fR] \fIdb_name\fR [\fItbl_name\fR \&.\&.\&.] +mysqldump [\fIoptions\fR] \-\-databases \fIdb_name\fR \&.\&.\&. +mysqldump [\fIoptions\fR] \-\-all\-databases .fi .if n \{\ .RE @@ -510,7 +510,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -704,7 +704,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -748,9 +748,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -765,9 +765,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp Exception: Even with \fB\-\-defaults\-file\fR, client programs read @@ -793,9 +793,8 @@ [client] and [mysqldump] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysqldump\fR also reads the [client_other] @@ -822,13 +821,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -2664,7 +2663,7 @@ .RS 4 .\} .nf -shell> \fBmysqldump \fR\fB\fIdb_name\fR\fR\fB > \fR\fB\fIbackup\-file\&.sql\fR\fR +mysqldump \fIdb_name\fR > \fIbackup\-file\&.sql\fR .fi .if n \{\ .RE @@ -2676,7 +2675,7 @@ .RS 4 .\} .nf -shell> \fBmysql \fR\fB\fIdb_name\fR\fR\fB < \fR\fB\fIbackup\-file\&.sql\fR\fR +mysql \fIdb_name\fR < \fIbackup\-file\&.sql\fR .fi .if n \{\ .RE @@ -2688,7 +2687,7 @@ .RS 4 .\} .nf -shell> \fBmysql \-e "source \fR\fB\fI/path\-to\-backup/backup\-file\&.sql\fR\fR\fB" \fR\fB\fIdb_name\fR\fR +mysql \-e "source \fI/path\-to\-backup/backup\-file\&.sql\fR" \fIdb_name\fR .fi .if n \{\ .RE @@ -2701,7 +2700,7 @@ .RS 4 .\} .nf -shell> \fBmysqldump \-\-opt \fR\fB\fIdb_name\fR\fR\fB | mysql \-\-host=\fR\fB\fIremote_host\fR\fR\fB \-C \fR\fB\fIdb_name\fR\fR +mysqldump \-\-opt \fIdb_name\fR | mysql \-\-host=\fIremote_host\fR \-C \fIdb_name\fR .fi .if n \{\ .RE @@ -2713,7 +2712,7 @@ .RS 4 .\} .nf -shell> \fBmysqldump \-\-databases \fR\fB\fIdb_name1\fR\fR\fB [\fR\fB\fIdb_name2\fR\fR\fB \&.\&.\&.] > my_databases\&.sql\fR +mysqldump \-\-databases \fIdb_name1\fR [\fIdb_name2\fR \&.\&.\&.] > my_databases\&.sql .fi .if n \{\ .RE @@ -2727,7 +2726,7 @@ .RS 4 .\} .nf -shell> \fBmysqldump \-\-all\-databases > all_databases\&.sql\fR +mysqldump \-\-all\-databases > all_databases\&.sql .fi .if n \{\ .RE @@ -2743,7 +2742,7 @@ .RS 4 .\} .nf -shell> \fBmysqldump \-\-all\-databases \-\-master\-data \-\-single\-transaction > all_databases\&.sql\fR +mysqldump \-\-all\-databases \-\-master\-data \-\-single\-transaction > all_databases\&.sql .fi .if n \{\ .RE @@ -2763,7 +2762,7 @@ .RS 4 .\} .nf -shell> \fBmysqldump \-\-all\-databases \-\-master\-data=2 > all_databases\&.sql\fR +mysqldump \-\-all\-databases \-\-master\-data=2 > all_databases\&.sql .fi .if n \{\ .RE @@ -2775,8 +2774,7 @@ .RS 4 .\} .nf -shell> \fBmysqldump \-\-all\-databases \-\-flush\-logs \-\-master\-data=2\fR - \fB> all_databases\&.sql\fR +mysqldump \-\-all\-databases \-\-flush\-logs \-\-master\-data=2 > all_databases\&.sql .fi .if n \{\ .RE @@ -2874,12 +2872,12 @@ database\&. Log table contents are not dumped\&. .PP If you encounter problems backing up views due to insufficient privileges, see -Section\ \&22.9, \(lqRestrictions on Views\(rq +Section\ \&23.9, \(lqRestrictions on Views\(rq for a workaround\&. .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqldumpslow.1 mysql-5.7-5.7.34/man/mysqldumpslow.1 --- mysql-5.7-5.7.33/man/mysqldumpslow.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqldumpslow.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqldumpslow\fR +.\" Title: mysqldumpslow .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLDUMPSLOW\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLDUMPSLOW" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -61,19 +61,18 @@ .RS 4 .\} .nf -shell> \fBmysqldumpslow [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIlog_file\fR\fR\fB \&.\&.\&.]\fR +mysqldumpslow [\fIoptions\fR] [\fIlog_file\fR \&.\&.\&.] .fi .if n \{\ .RE .\} .PP -Example of usage: +Example output with no options given: .sp .if n \{\ .RS 4 .\} .nf -shell> \fBmysqldumpslow\fR Reading mysql slow query log from /usr/local/mysql/data/mysqld57\-slow\&.log Count: 1 Time=4\&.32s (4s) Lock=0\&.00s (0s) Rows=0\&.0 (0), root[root]@localhost insert into t2 select * from t1 @@ -318,7 +317,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqlimport.1 mysql-5.7-5.7.34/man/mysqlimport.1 --- mysql-5.7-5.7.33/man/mysqlimport.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqlimport.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqlimport\fR +.\" Title: mysqlimport .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLIMPORT\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLIMPORT" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -53,7 +53,7 @@ .RS 4 .\} .nf -shell> \fBmysqlimport [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIdb_name\fR\fR\fB \fR\fB\fItextfile1\fR\fR\fB [\fR\fB\fItextfile2\fR\fR\fB \&.\&.\&.]\fR +mysqlimport [\fIoptions\fR] \fIdb_name\fR \fItextfile1\fR [\fItextfile2\fR \&.\&.\&.] .fi .if n \{\ .RE @@ -234,9 +234,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -251,9 +251,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp Exception: Even with \fB\-\-defaults\-file\fR, client programs read @@ -279,9 +279,8 @@ [client] and [mysqlimport] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysqlimport\fR also reads the [client_other] @@ -495,7 +494,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -533,13 +532,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -797,7 +796,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -905,7 +904,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysql_install_db.1 mysql-5.7-5.7.34/man/mysql_install_db.1 --- mysql-5.7-5.7.33/man/mysql_install_db.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysql_install_db.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysql_install_db\fR +.\" Title: mysql_install_db .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQL_INSTALL_DB\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQL_INSTALL_DB" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -256,7 +256,7 @@ .RS 4 .\} .nf -shell> \fBbin/mysql_install_db \-\-datadir=\fR\fB\fIpath/to/datadir\fR\fR\fB [\fR\fB\fIother_options\fR\fR\fB]\fR +bin/mysql_install_db \-\-datadir=\fIpath/to/datadir\fR [\fIother_options\fR] .fi .if n \{\ .RE @@ -279,7 +279,7 @@ If the data directory does already exist, you are performing an upgrade operation (not an install operation) and should run \fBmysql_upgrade\fR, not \fBmysql_install_db\fR\&. See -\fBmysql_upgrade\fR(1)\&. +mysql_upgrade(1)\&. .RE .sp .RS 4 @@ -317,9 +317,9 @@ .RS 4 .\} .nf -shell> \fBbin/mysql_install_db \-\-user=mysql \e\fR - \fB\-\-basedir=/opt/mysql/mysql \e\fR - \fB\-\-datadir=/opt/mysql/mysql/data\fR +bin/mysql_install_db \-\-user=mysql \e + \-\-basedir=/opt/mysql/mysql \e + \-\-datadir=/opt/mysql/mysql/data .fi .if n \{\ .RE @@ -660,9 +660,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp This option is passed by \fBmysql_install_db\fR @@ -682,9 +682,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp This option is passed by \fBmysql_install_db\fR @@ -808,7 +808,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp If the \fB\-\-login\-path\fR @@ -1034,7 +1034,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysql_plugin.1 mysql-5.7-5.7.34/man/mysql_plugin.1 --- mysql-5.7-5.7.33/man/mysql_plugin.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysql_plugin.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysql_plugin\fR +.\" Title: mysql_plugin .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQL_PLUGIN\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQL_PLUGIN" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -155,7 +155,7 @@ .RS 4 .\} .nf -shell> \fBmysql_plugin myplugins ENABLE\fR +mysql_plugin myplugins ENABLE .fi .if n \{\ .RE @@ -357,7 +357,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqlpump.1 mysql-5.7-5.7.34/man/mysqlpump.1 --- mysql-5.7-5.7.33/man/mysqlpump.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqlpump.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqlpump\fR +.\" Title: mysqlpump .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLPUMP\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLPUMP" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -218,7 +218,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump [options] > dump\&.sql\fR +mysqlpump [options] > dump\&.sql .fi .if n \{\ .RE @@ -233,7 +233,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump [options] \-\-result\-file=dump\&.sql\fR +mysqlpump [options] \-\-result\-file=dump\&.sql .fi .if n \{\ .RE @@ -253,7 +253,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-all\-databases\fR +mysqlpump \-\-all\-databases .fi .if n \{\ .RE @@ -265,8 +265,8 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \fR\fB\fIdb_name\fR\fR -shell> \fBmysqlpump \fR\fB\fIdb_name tbl_name1 tbl_name2 \&.\&.\&.\fR\fR +mysqlpump \fIdb_name\fR +mysqlpump \fIdb_name tbl_name1 tbl_name2 \&.\&.\&.\fR .fi .if n \{\ .RE @@ -280,7 +280,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-databases \fR\fB\fIdb_name1 db_name2\fR\fR\fB \&.\&.\&.\fR +mysqlpump \-\-databases \fIdb_name1 db_name2\fR \&.\&.\&. .fi .if n \{\ .RE @@ -302,7 +302,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-exclude\-databases=% \-\-users\fR +mysqlpump \-\-exclude\-databases=% \-\-users .fi .if n \{\ .RE @@ -326,8 +326,8 @@ .RS 4 .\} .nf -shell> \fBmysqlpump [options] > dump\&.sql\fR -shell> \fBmysql < dump\&.sql\fR +mysqlpump [options] > dump\&.sql +mysql < dump\&.sql .fi .if n \{\ .RE @@ -551,8 +551,8 @@ and \fB\-\-compress\-output=ZLIB\fR options\&. For more information, see -\fBlz4_decompress\fR(1), and -\fBzlib_decompress\fR(1)\&. +lz4_decompress(1), and +zlib_decompress(1)\&. .sp Alternatives include the \fBlz4\fR @@ -568,7 +568,7 @@ .RS 4 .\} .nf -shell> \fBlz4 \-d \fR\fB\fIinput_file output_file\fR\fR +lz4 \-d \fIinput_file output_file\fR .fi .if n \{\ .RE @@ -581,7 +581,7 @@ .RS 4 .\} .nf -shell> \fBopenssl zlib \-d < \fR\fB\fIinput_file\fR\fR\fB > \fR\fB\fIoutput_file\fR\fR +openssl zlib \-d < \fIinput_file\fR > \fIoutput_file\fR .fi .if n \{\ .RE @@ -747,7 +747,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-single\-transaction \-\-default\-parallelism=0\fR +mysqlpump \-\-single\-transaction \-\-default\-parallelism=0 .fi .if n \{\ .RE @@ -765,9 +765,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -782,9 +782,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp Exception: Even with \fB\-\-defaults\-file\fR, client programs read @@ -810,9 +810,8 @@ [client] and [mysqlpump] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysqlpump\fR also reads the [client_other] @@ -1171,7 +1170,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -1255,13 +1254,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -1684,7 +1683,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-single\-transaction \-\-default\-parallelism=0\fR +mysqlpump \-\-single\-transaction \-\-default\-parallelism=0 .fi .if n \{\ .RE @@ -1713,7 +1712,7 @@ and SQL SECURITY values\&. See -Section\ \&22.6, \(lqStored Object Access Control\(rq\&. +Section\ \&23.6, \(lqStored Object Access Control\(rq\&. .RE .sp .RS 4 @@ -1760,7 +1759,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -1863,7 +1862,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-exclude\-databases=% \-\-users\fR +mysqlpump \-\-exclude\-databases=% \-\-users .fi .if n \{\ .RE @@ -2104,7 +2103,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-include\-databases=db1,db2 \-\-exclude\-tables=db1\&.t1,db2\&.t2\fR +mysqlpump \-\-include\-databases=db1,db2 \-\-exclude\-tables=db1\&.t1,db2\&.t2 .fi .if n \{\ .RE @@ -2233,7 +2232,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-parallel\-schemas=db1,db2 \-\-parallel\-schemas=db3\fR +mysqlpump \-\-parallel\-schemas=db1,db2 \-\-parallel\-schemas=db3 .fi .if n \{\ .RE @@ -2250,8 +2249,8 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-parallel\-schemas=db1,db2 \-\-parallel\-schemas=db3\fR - \fB\-\-default\-parallelism=4\fR +mysqlpump \-\-parallel\-schemas=db1,db2 \-\-parallel\-schemas=db3 + \-\-default\-parallelism=4 .fi .if n \{\ .RE @@ -2263,7 +2262,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-parallel\-schemas=5:db1,db2 \-\-parallel\-schemas=3:db3\fR +mysqlpump \-\-parallel\-schemas=5:db1,db2 \-\-parallel\-schemas=3:db3 .fi .if n \{\ .RE @@ -2309,7 +2308,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-single\-transaction \-\-default\-parallelism=0\fR +mysqlpump \-\-single\-transaction \-\-default\-parallelism=0 .fi .if n \{\ .RE @@ -2361,7 +2360,7 @@ .RS 4 .\} .nf -shell> \fBmysqlpump mysql user db \&.\&.\&.\fR +mysqlpump mysql user db \&.\&.\&. .fi .if n \{\ .RE @@ -2369,7 +2368,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysql_secure_installation.1 mysql-5.7-5.7.34/man/mysql_secure_installation.1 --- mysql-5.7-5.7.33/man/mysql_secure_installation.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysql_secure_installation.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysql_secure_installation\fR +.\" Title: mysql_secure_installation .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQL_SECURE_INSTALLATION\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQL_SECURE_INSTALLATION" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -99,7 +99,7 @@ .RS 4 .\} .nf -shell> \fBmysql_secure_installation\fR +mysql_secure_installation .fi .if n \{\ .RE @@ -125,7 +125,7 @@ .RS 4 .\} .nf -shell> \fBmysql_secure_installation \-\-host=::1 \-\-port=3307\fR +mysql_secure_installation \-\-host=::1 \-\-port=3307 .fi .if n \{\ .RE @@ -161,9 +161,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -178,9 +178,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -202,9 +202,8 @@ [client] and [mysql_secure_installation] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysql_secure_installation\fR also reads the [client_other] @@ -244,13 +243,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -343,7 +342,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -389,7 +388,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysql.server.1 mysql-5.7-5.7.34/man/mysql.server.1 --- mysql-5.7-5.7.33/man/mysql.server.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysql.server.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysql.server\fR +.\" Title: mysql.server .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQL\&.SERVER\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQL\&.SERVER" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -79,8 +79,8 @@ .RS 4 .\} .nf -shell> \fBmysql\&.server start\fR -shell> \fBmysql\&.server stop\fR +mysql\&.server start +mysql\&.server stop .fi .if n \{\ .RE @@ -150,8 +150,8 @@ .RS 4 .\} .nf -shell> \fBcp mysql\&.server /etc/init\&.d/mysql\fR -shell> \fBchmod +x /etc/init\&.d/mysql\fR +cp mysql\&.server /etc/init\&.d/mysql +chmod +x /etc/init\&.d/mysql .fi .if n \{\ .RE @@ -164,7 +164,7 @@ .RS 4 .\} .nf -shell> \fBchkconfig \-\-add mysql\fR +chkconfig \-\-add mysql .fi .if n \{\ .RE @@ -178,7 +178,7 @@ .RS 4 .\} .nf -shell> \fBchkconfig \-\-level 345 mysql on\fR +chkconfig \-\-level 345 mysql on .fi .if n \{\ .RE @@ -415,7 +415,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqlshow.1 mysql-5.7-5.7.34/man/mysqlshow.1 --- mysql-5.7-5.7.33/man/mysqlshow.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqlshow.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqlshow\fR +.\" Title: mysqlshow .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLSHOW\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLSHOW" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -54,7 +54,7 @@ .RS 4 .\} .nf -shell> \fBmysqlshow [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fIdb_name\fR\fR\fB [\fR\fB\fItbl_name\fR\fR\fB [\fR\fB\fIcol_name\fR\fR\fB]]]\fR +mysqlshow [\fIoptions\fR] [\fIdb_name\fR [\fItbl_name\fR [\fIcol_name\fR]]] .fi .if n \{\ .RE @@ -280,9 +280,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -297,9 +297,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp Exception: Even with \fB\-\-defaults\-file\fR, client programs read @@ -325,9 +325,8 @@ [client] and [mysqlshow] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysqlshow\fR also reads the [client_other] @@ -426,7 +425,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -447,13 +446,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -696,7 +695,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -769,7 +768,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysqlslap.1 mysql-5.7-5.7.34/man/mysqlslap.1 --- mysql-5.7-5.7.33/man/mysqlslap.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysqlslap.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysqlslap\fR +.\" Title: mysqlslap .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQLSLAP\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQLSLAP" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -45,7 +45,7 @@ .RS 4 .\} .nf -shell> \fBmysqlslap [\fR\fB\fIoptions\fR\fR\fB]\fR +mysqlslap [\fIoptions\fR] .fi .if n \{\ .RE @@ -476,9 +476,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -493,9 +493,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp Exception: Even with \fB\-\-defaults\-file\fR, client programs read @@ -521,9 +521,8 @@ [client] and [mysqlslap] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysqlslap\fR also reads the [client_other] @@ -660,7 +659,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -695,13 +694,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -760,8 +759,8 @@ .RS 4 .\} .nf -shell> \fBmysqlslap \-\-delimiter=";" \-\-number\-of\-queries=10\fR - \fB\-\-query="use test;insert into t values(null)"\fR +mysqlslap \-\-delimiter=";" \-\-number\-of\-queries=10 + \-\-query="use test;insert into t values(null)" .fi .if n \{\ .RE @@ -1094,7 +1093,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -1154,7 +1153,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysql_ssl_rsa_setup.1 mysql-5.7-5.7.34/man/mysql_ssl_rsa_setup.1 --- mysql-5.7-5.7.33/man/mysql_ssl_rsa_setup.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysql_ssl_rsa_setup.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysql_ssl_rsa_setup\fR +.\" Title: mysql_ssl_rsa_setup .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQL_SSL_RSA_SETUP\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQL_SSL_RSA_SETUP" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -88,7 +88,7 @@ .RS 4 .\} .nf -shell> \fBmysql_ssl_rsa_setup [\fR\fB\fIoptions\fR\fR\fB]\fR +mysql_ssl_rsa_setup [\fIoptions\fR] .fi .if n \{\ .RE @@ -452,7 +452,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysql_tzinfo_to_sql.1 mysql-5.7-5.7.34/man/mysql_tzinfo_to_sql.1 --- mysql-5.7-5.7.33/man/mysql_tzinfo_to_sql.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysql_tzinfo_to_sql.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysql_tzinfo_to_sql\fR +.\" Title: mysql_tzinfo_to_sql .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQL_TZINFO_TO_SQL\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQL_TZINFO_TO_SQL" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -53,9 +53,9 @@ .RS 4 .\} .nf -shell> \fBmysql_tzinfo_to_sql \fR\fB\fItz_dir\fR\fR -shell> \fBmysql_tzinfo_to_sql \fR\fB\fItz_file tz_name\fR\fR -shell> \fBmysql_tzinfo_to_sql \-\-leap \fR\fB\fItz_file\fR\fR +mysql_tzinfo_to_sql \fItz_dir\fR +mysql_tzinfo_to_sql \fItz_file tz_name\fR +mysql_tzinfo_to_sql \-\-leap \fItz_file\fR .fi .if n \{\ .RE @@ -71,7 +71,7 @@ .RS 4 .\} .nf -shell> \fBmysql_tzinfo_to_sql /usr/share/zoneinfo | mysql \-u root mysql\fR +mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql \-u root mysql .fi .if n \{\ .RE @@ -93,7 +93,7 @@ .RS 4 .\} .nf -shell> \fBmysql_tzinfo_to_sql \fR\fB\fItz_file\fR\fR\fB \fR\fB\fItz_name\fR\fR\fB | mysql \-u root mysql\fR +mysql_tzinfo_to_sql \fItz_file\fR \fItz_name\fR | mysql \-u root mysql .fi .if n \{\ .RE @@ -109,7 +109,7 @@ .RS 4 .\} .nf -shell> \fBmysql_tzinfo_to_sql \-\-leap \fR\fB\fItz_file\fR\fR\fB | mysql \-u root mysql\fR +mysql_tzinfo_to_sql \-\-leap \fItz_file\fR | mysql \-u root mysql .fi .if n \{\ .RE @@ -120,7 +120,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/mysql_upgrade.1 mysql-5.7-5.7.34/man/mysql_upgrade.1 --- mysql-5.7-5.7.33/man/mysql_upgrade.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/mysql_upgrade.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBmysql_upgrade\fR +.\" Title: mysql_upgrade .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBMYSQL_UPGRADE\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "MYSQL_UPGRADE" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -95,32 +95,29 @@ .ps -1 .br .PP -As of MySQL 5\&.7\&.12, the default +In MySQL 5\&.7\&.11, the default \fB\-\-early\-plugin\-load\fR -value is empty\&. To load the +value is the name of the keyring_file -plugin, you must use an explicit +plugin library file, causing that plugin to be loaded by default\&. In MySQL 5\&.7\&.12 and higher, the default \fB\-\-early\-plugin\-load\fR -option with a nonempty value\&. -.PP -In MySQL 5\&.7\&.11, the default -\fB\-\-early\-plugin\-load\fR -value was the name of the +value is empty; to load the keyring_file -plugin library file, so that plugin was loaded by default\&. -InnoDB -tablespace encryption requires the +plugin, you must explicitly specify the option with a value naming the keyring_file -plugin to be loaded prior to +plugin library file\&. +.PP InnoDB -initialization, so this change of default value introduces an incompatibility for upgrades from 5\&.7\&.11 to 5\&.7\&.12 or higher\&. Administrators who have encrypted +tablespace encryption requires that the keyring plugin to be used be loaded prior to InnoDB -tablespaces must take explicit action to ensure continued loading of the -keyring_file -plugin: Start the server with an +initialization, so this change of default +\fB\-\-early\-plugin\-load\fR +value introduces an incompatibility for upgrades from 5\&.7\&.11 to 5\&.7\&.12 or higher\&. Administrators who have encrypted +InnoDB +tablespaces must take explicit action to ensure continued loading of the keyring plugin: Start the server with an \fB\-\-early\-plugin\-load\fR option that names the plugin library file\&. For additional information, see -Section\ \&6.4.4, \(lqThe MySQL Keyring\(rq\&. +Section\ \&6.4.4.1, \(lqKeyring Plugin Installation\(rq\&. .sp .5v .RE .if n \{\ @@ -220,7 +217,7 @@ .RS 4 .\} .nf -shell> \fBmysql_upgrade [\fR\fB\fIoptions\fR\fR\fB]\fR +mysql_upgrade [\fIoptions\fR] .fi .if n \{\ .RE @@ -246,9 +243,9 @@ .RS 4 .\} .nf -shell> \fBmysql_upgrade \-\-protocol=tcp \-P 3306 [\fR\fB\fIother_options\fR\fR\fB]\fR -shell> \fBmysql_upgrade \-\-protocol=tcp \-P 3307 [\fR\fB\fIother_options\fR\fR\fB]\fR -shell> \fBmysql_upgrade \-\-protocol=tcp \-P 3308 [\fR\fB\fIother_options\fR\fR\fB]\fR +mysql_upgrade \-\-protocol=tcp \-P 3306 [\fIother_options\fR] +mysql_upgrade \-\-protocol=tcp \-P 3307 [\fIother_options\fR] +mysql_upgrade \-\-protocol=tcp \-P 3308 [\fIother_options\fR] .fi .if n \{\ .RE @@ -584,9 +581,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR -Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Read this option file after the global option file but (on Unix) before the user option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -601,9 +598,9 @@ .IP \(bu 2.3 .\} \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR -Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. +Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. If \fIfile_name\fR -is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. +is not an absolute path name, it is interpreted relative to the current directory\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -625,9 +622,8 @@ [client] and [mysql_upgrade] -groups\&. If the -\fB\-\-defaults\-group\-suffix=_other\fR -option is given, +groups\&. If this option is given as +\fB\-\-defaults\-group\-suffix=_other\fR, \fBmysql_upgrade\fR also reads the [client_other] @@ -684,7 +680,7 @@ is an option group containing options that specify which MySQL server to connect to and which account to authenticate as\&. To create or modify a login path file, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&. +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -729,13 +725,13 @@ .sp The exception is that the \&.mylogin\&.cnf -file, if it exists, is read in all cases\&. This permits passwords to be specified in a safer way than on the command line even when +file is read in all cases, if it exists\&. This permits passwords to be specified in a safer way than on the command line even when \fB\-\-no\-defaults\fR -is used\&. (\&.mylogin\&.cnf -is created by the +is used\&. To create +\&.mylogin\&.cnf, use the \fBmysql_config_editor\fR utility\&. See -\fBmysql_config_editor\fR(1)\&.) +mysql_config_editor(1)\&. .sp For additional information about this and other option\-file options, see Section\ \&4.2.2.3, \(lqCommand-Line Options that Affect Option-File Handling\(rq\&. @@ -909,7 +905,7 @@ \fB\-\-ssl*\fR Options that begin with \fB\-\-ssl\fR -specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See +specify whether to connect to the server using encryption and indicate where to find SSL keys and certificates\&. See the section called \(lqCommand Options for Encrypted Connections\(rq\&. .RE .sp @@ -1010,7 +1006,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/perror.1 mysql-5.7-5.7.34/man/perror.1 --- mysql-5.7-5.7.33/man/perror.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/perror.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBperror\fR +.\" Title: perror .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBPERROR\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "PERROR" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -62,7 +62,7 @@ .RS 4 .\} .nf -shell> \fBperror [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIerrorcode\fR\fR\fB \&.\&.\&.\fR +perror [\fIoptions\fR] \fIerrorcode\fR \&.\&.\&. .fi .if n \{\ .RE @@ -177,7 +177,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/replace.1 mysql-5.7-5.7.34/man/replace.1 --- mysql-5.7-5.7.33/man/replace.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/replace.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBreplace\fR +.\" Title: replace .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBREPLACE\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "REPLACE" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -64,8 +64,8 @@ .RS 4 .\} .nf -shell> \fBreplace \fR\fB\fIfrom\fR\fR\fB \fR\fB\fIto\fR\fR\fB [\fR\fB\fIfrom\fR\fR\fB \fR\fB\fIto\fR\fR\fB] \&.\&.\&. \-\- \fR\fB\fIfile_name\fR\fR\fB [\fR\fB\fIfile_name\fR\fR\fB] \&.\&.\&.\fR -shell> \fBreplace \fR\fB\fIfrom\fR\fR\fB \fR\fB\fIto\fR\fR\fB [\fR\fB\fIfrom\fR\fR\fB \fR\fB\fIto\fR\fR\fB] \&.\&.\&. < \fR\fB\fIfile_name\fR\fR +replace \fIfrom\fR \fIto\fR [\fIfrom\fR \fIto\fR] \&.\&.\&. \-\- \fIfile_name\fR [\fIfile_name\fR] \&.\&.\&. +replace \fIfrom\fR \fIto\fR [\fIfrom\fR \fIto\fR] \&.\&.\&. < \fIfile_name\fR .fi .if n \{\ .RE @@ -102,7 +102,7 @@ .RS 4 .\} .nf -shell> \fBreplace a b b a \-\- file1 file2 \&.\&.\&.\fR +replace a b b a \-\- file1 file2 \&.\&.\&. .fi .if n \{\ .RE @@ -179,7 +179,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/resolveip.1 mysql-5.7-5.7.34/man/resolveip.1 --- mysql-5.7-5.7.33/man/resolveip.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/resolveip.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBresolveip\fR +.\" Title: resolveip .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBRESOLVEIP\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "RESOLVEIP" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -67,7 +67,7 @@ .RS 4 .\} .nf -shell> \fBresolveip [\fR\fB\fIoptions\fR\fR\fB] {\fR\fB\fIhost_name\fR\fR\fB|\fR\fB\fIip\-addr\fR\fR\fB} \&.\&.\&.\fR +resolveip [\fIoptions\fR] {\fIhost_name\fR|\fIip\-addr\fR} \&.\&.\&. .fi .if n \{\ .RE @@ -119,7 +119,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/resolve_stack_dump.1 mysql-5.7-5.7.34/man/resolve_stack_dump.1 --- mysql-5.7-5.7.33/man/resolve_stack_dump.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/resolve_stack_dump.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBresolve_stack_dump\fR +.\" Title: resolve_stack_dump .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBRESOLVE_STACK_DUMP\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "RESOLVE_STACK_DUMP" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -63,7 +63,7 @@ .RS 4 .\} .nf -shell> \fBresolve_stack_dump [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIsymbols_file\fR\fR\fB [\fR\fB\fInumeric_dump_file\fR\fR\fB]\fR +resolve_stack_dump [\fIoptions\fR] \fIsymbols_file\fR [\fInumeric_dump_file\fR] .fi .if n \{\ .RE @@ -134,7 +134,7 @@ .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/man/zlib_decompress.1 mysql-5.7-5.7.34/man/zlib_decompress.1 --- mysql-5.7-5.7.33/man/zlib_decompress.1 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/man/zlib_decompress.1 2021-03-26 07:08:18.000000000 +0000 @@ -1,13 +1,13 @@ '\" t -.\" Title: \fBzlib_decompress\fR +.\" Title: zlib_decompress .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/10/2020 +.\" Date: 03/25/2021 .\" Manual: MySQL Database System .\" Source: MySQL 5.7 .\" Language: English .\" -.TH "\FBZLIB_DECOMPRESS\FR" "1" "12/10/2020" "MySQL 5\&.7" "MySQL Database System" +.TH "ZLIB_DECOMPRESS" "1" "03/25/2021" "MySQL 5\&.7" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -50,7 +50,7 @@ .RS 4 .\} .nf -shell> \fBzlib_decompress \fR\fB\fIinput_file\fR\fR\fB \fR\fB\fIoutput_file\fR\fR +zlib_decompress \fIinput_file\fR \fIoutput_file\fR .fi .if n \{\ .RE @@ -62,8 +62,8 @@ .RS 4 .\} .nf -shell> \fBmysqlpump \-\-compress\-output=ZLIB > dump\&.zlib\fR -shell> \fBzlib_decompress dump\&.zlib dump\&.txt\fR +mysqlpump \-\-compress\-output=ZLIB > dump\&.zlib +zlib_decompress dump\&.zlib dump\&.txt .fi .if n \{\ .RE @@ -77,11 +77,11 @@ \fBmysqlpump\fR LZ4\-compressed output, use \fBlz4_decompress\fR\&. See -\fBlz4_decompress\fR(1)\&. +lz4_decompress(1)\&. .SH "COPYRIGHT" .br .PP -Copyright \(co 1997, 2020, Oracle and/or its affiliates. +Copyright \(co 1997, 2021, Oracle and/or its affiliates. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP diff -Nru mysql-5.7-5.7.33/mysql-test/asan.supp mysql-5.7-5.7.34/mysql-test/asan.supp --- mysql-5.7-5.7.33/mysql-test/asan.supp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/asan.supp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2016, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/CMakeLists.txt mysql-5.7-5.7.34/mysql-test/CMakeLists.txt --- mysql-5.7-5.7.33/mysql-test/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/collections/default.release.done mysql-5.7-5.7.34/mysql-test/collections/default.release.done --- mysql-5.7-5.7.33/mysql-test/collections/default.release.done 2020-12-10 03:13:02.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/collections/default.release.done 2021-03-26 07:07:59.000000000 +0000 @@ -1 +1 @@ -/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/mysql-test/collections/default.release.in +/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/mysql-test/collections/default.release.in diff -Nru mysql-5.7-5.7.33/mysql-test/include/bug13581713.inc mysql-5.7-5.7.34/mysql-test/include/bug13581713.inc --- mysql-5.7-5.7.33/mysql-test/include/bug13581713.inc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/bug13581713.inc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,3 @@ -# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. - --source include/turn_off_only_full_group_by.inc insert into t1 values(100,1,2),(200,1,1),(300,2,1),(400,2,2); diff -Nru mysql-5.7-5.7.33/mysql-test/include/check-testcase.test mysql-5.7-5.7.34/mysql-test/include/check-testcase.test --- mysql-5.7-5.7.33/mysql-test/include/check-testcase.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/check-testcase.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2021, Oracle and/or its affiliates. # # ==== Purpose ==== diff -Nru mysql-5.7-5.7.33/mysql-test/include/check-warnings.test mysql-5.7-5.7.34/mysql-test/include/check-warnings.test --- mysql-5.7-5.7.33/mysql-test/include/check-warnings.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/check-warnings.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This test is executed once after each test to check the servers # for unexpected warnings found in the servers error log diff -Nru mysql-5.7-5.7.33/mysql-test/include/mtr_check.sql mysql-5.7-5.7.34/mysql-test/include/mtr_check.sql --- mysql-5.7-5.7.33/mysql-test/include/mtr_check.sql 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/mtr_check.sql 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ --- Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +-- Copyright (c) 2008, 2021, Oracle and/or its affiliates. -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/include/mtr_system_tables_data.sql mysql-5.7-5.7.34/mysql-test/include/mtr_system_tables_data.sql --- mysql-5.7-5.7.33/mysql-test/include/mtr_system_tables_data.sql 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/mtr_system_tables_data.sql 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ --- Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. +-- Copyright (c) 2014, 2021, Oracle and/or its affiliates. -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/include/mtr_test_data_timezone.sql mysql-5.7-5.7.34/mysql-test/include/mtr_test_data_timezone.sql --- mysql-5.7-5.7.33/mysql-test/include/mtr_test_data_timezone.sql 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/mtr_test_data_timezone.sql 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ --- Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +-- Copyright (c) 2014, 2021, Oracle and/or its affiliates. -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/include/mtr_warnings.sql mysql-5.7-5.7.34/mysql-test/include/mtr_warnings.sql --- mysql-5.7-5.7.33/mysql-test/include/mtr_warnings.sql 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/mtr_warnings.sql 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ --- Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved. +-- Copyright (c) 2008, 2021, Oracle and/or its affiliates. -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/include/server_option_test.pm mysql-5.7-5.7.34/mysql-test/include/server_option_test.pm --- mysql-5.7-5.7.33/mysql-test/include/server_option_test.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/server_option_test.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,4 @@ #!/usr/bin/perl -w -# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. -# reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/include/set_binlog_format_mixed.sql mysql-5.7-5.7.34/mysql-test/include/set_binlog_format_mixed.sql --- mysql-5.7-5.7.33/mysql-test/include/set_binlog_format_mixed.sql 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/set_binlog_format_mixed.sql 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/include/set_binlog_format_row.sql mysql-5.7-5.7.34/mysql-test/include/set_binlog_format_row.sql --- mysql-5.7-5.7.33/mysql-test/include/set_binlog_format_row.sql 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/set_binlog_format_row.sql 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/include/set_binlog_format_statement.sql mysql-5.7-5.7.34/mysql-test/include/set_binlog_format_statement.sql --- mysql-5.7-5.7.33/mysql-test/include/set_binlog_format_statement.sql 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/set_binlog_format_statement.sql 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/include/stop_mysqld.inc mysql-5.7-5.7.34/mysql-test/include/stop_mysqld.inc --- mysql-5.7-5.7.33/mysql-test/include/stop_mysqld.inc 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/include/stop_mysqld.inc 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,38 @@ +# ==== Purpose ==== +# +# Shuts down the current server in a way that can be started again within +# an MTR test script. +# +# ==== Usage ==== +# +# [--let $ss_timeout = ] +# +# Parameters: +# $ss_timeout +# Amount of seconds to wait for the server to shutdown before erroring +# out. This value is passed on to `--shutdown-server`. Default value is +# 60 seconds. +# + +if ($rpl_inited) +{ + if (!$allow_rpl_inited) + { + --die ERROR IN TEST: When using the replication test framework (master-slave.inc, rpl_init.inc etc), use rpl_restart_server.inc instead of restart_mysqld.inc. If you know what you are doing and you really have to use restart_mysqld.inc, set allow_rpl_inited=1 before you source restart_mysqld.inc + } +} + +--let $_server_id = `SELECT @@server_id` +--echo include/stop_mysqld.inc [server $_server_id] +--let $_expect_file_name = $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect +--exec echo "wait" > $_expect_file_name + +--let $ss_timeout = 60 +if ($shutdown_server_timeout) +{ + --let $ss_timeout = $shutdown_server_timeout +} + +--shutdown_server $ss_timeout + +--source include/wait_until_disconnected.inc diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_cases_from_list.pm mysql-5.7-5.7.34/mysql-test/lib/mtr_cases_from_list.pm --- mysql-5.7-5.7.33/mysql-test/lib/mtr_cases_from_list.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_cases_from_list.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_cases.pm mysql-5.7-5.7.34/mysql-test/lib/mtr_cases.pm --- mysql-5.7-5.7.33/mysql-test/lib/mtr_cases.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_cases.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_gcov.pl mysql-5.7-5.7.34/mysql-test/lib/mtr_gcov.pl --- mysql-5.7-5.7.33/mysql-test/lib/mtr_gcov.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_gcov.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_gprof.pl mysql-5.7-5.7.34/mysql-test/lib/mtr_gprof.pl --- mysql-5.7-5.7.33/mysql-test/lib/mtr_gprof.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_gprof.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_io.pl mysql-5.7-5.7.34/mysql-test/lib/mtr_io.pl --- mysql-5.7-5.7.33/mysql-test/lib/mtr_io.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_io.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004-2008 MySQL AB, 2008 Sun Microsystems, Inc. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_match.pm mysql-5.7-5.7.34/mysql-test/lib/mtr_match.pm --- mysql-5.7-5.7.33/mysql-test/lib/mtr_match.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_match.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (C) 2004-2008 MySQL AB +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # Use is subject to license terms # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_misc.pl mysql-5.7-5.7.34/mysql-test/lib/mtr_misc.pl --- mysql-5.7-5.7.33/mysql-test/lib/mtr_misc.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_misc.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_process.pl mysql-5.7-5.7.34/mysql-test/lib/mtr_process.pl --- mysql-5.7-5.7.33/mysql-test/lib/mtr_process.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_process.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_report.pm mysql-5.7-5.7.34/mysql-test/lib/mtr_report.pm --- mysql-5.7-5.7.33/mysql-test/lib/mtr_report.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_report.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_results.pm mysql-5.7-5.7.34/mysql-test/lib/mtr_results.pm --- mysql-5.7-5.7.33/mysql-test/lib/mtr_results.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_results.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_stress.pl mysql-5.7-5.7.34/mysql-test/lib/mtr_stress.pl --- mysql-5.7-5.7.33/mysql-test/lib/mtr_stress.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_stress.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004-2007 MySQL AB, 2009 Sun Microsystems, Inc. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/mtr_unique.pm mysql-5.7-5.7.34/mysql-test/lib/mtr_unique.pm --- mysql-5.7-5.7.33/mysql-test/lib/mtr_unique.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/mtr_unique.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ # -*- cperl -*- -# Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/ConfigFactory.pm mysql-5.7-5.7.34/mysql-test/lib/My/ConfigFactory.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/ConfigFactory.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/ConfigFactory.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/Config.pm mysql-5.7-5.7.34/mysql-test/lib/My/Config.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/Config.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/Config.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ # -*- cperl -*- -# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/CoreDump.pm mysql-5.7-5.7.34/mysql-test/lib/My/CoreDump.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/CoreDump.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/CoreDump.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/Exec.pm mysql-5.7-5.7.34/mysql-test/lib/My/Exec.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/Exec.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/Exec.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/File/Path.pm mysql-5.7-5.7.34/mysql-test/lib/My/File/Path.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/File/Path.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/File/Path.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2007 MySQL AB, 2008, 2009 Sun Microsystems, Inc. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/Find.pm mysql-5.7-5.7.34/mysql-test/lib/My/Find.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/Find.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/Find.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/Handles.pm mysql-5.7-5.7.34/mysql-test/lib/My/Handles.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/Handles.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/Handles.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/Memcache.pm mysql-5.7-5.7.34/mysql-test/lib/My/Memcache.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/Memcache.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/Memcache.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2013, 2015, Oracle and/or its affiliates. +# Copyright (c) 2013, 2021, Oracle and/or its affiliates. # All rights reserved. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/Options.pm mysql-5.7-5.7.34/mysql-test/lib/My/Options.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/Options.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/Options.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/Platform.pm mysql-5.7-5.7.34/mysql-test/lib/My/Platform.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/Platform.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/Platform.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/Base.pm mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/Base.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/Base.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/Base.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2007, 2015 Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/CMakeLists.txt mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/CMakeLists.txt --- mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/read_ldd_output.cmake mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/read_ldd_output.cmake --- mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/read_ldd_output.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/read_ldd_output.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/safe_kill_win.cc mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/safe_kill_win.cc --- mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/safe_kill_win.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/safe_kill_win.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/safe_process.cc mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/safe_process.cc --- mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/safe_process.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/safe_process.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/safe_process_win.cc mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/safe_process_win.cc --- mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess/safe_process_win.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess/safe_process_win.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess.pm mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/SafeProcess.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/SafeProcess.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/SysInfo.pm mysql-5.7-5.7.34/mysql-test/lib/My/SysInfo.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/SysInfo.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/SysInfo.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/My/Test.pm mysql-5.7-5.7.34/mysql-test/lib/My/Test.pm --- mysql-5.7-5.7.33/mysql-test/lib/My/Test.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/My/Test.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/Base.t mysql-5.7-5.7.34/mysql-test/lib/t/Base.t --- mysql-5.7-5.7.33/mysql-test/lib/t/Base.t 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/Base.t 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ # -*- cperl -*- -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/copytree.t mysql-5.7-5.7.34/mysql-test/lib/t/copytree.t --- mysql-5.7-5.7.33/mysql-test/lib/t/copytree.t 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/copytree.t 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- cperl -*- -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/dummyd.pl mysql-5.7-5.7.34/mysql-test/lib/t/dummyd.pl --- mysql-5.7-5.7.33/mysql-test/lib/t/dummyd.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/dummyd.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- cperl -*- -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/Find.t mysql-5.7-5.7.34/mysql-test/lib/t/Find.t --- mysql-5.7-5.7.33/mysql-test/lib/t/Find.t 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/Find.t 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ # -*- cperl -*- -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/Options.t mysql-5.7-5.7.34/mysql-test/lib/t/Options.t --- mysql-5.7-5.7.33/mysql-test/lib/t/Options.t 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/Options.t 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ # -*- cperl -*- -# Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/Platform.t mysql-5.7-5.7.34/mysql-test/lib/t/Platform.t --- mysql-5.7-5.7.33/mysql-test/lib/t/Platform.t 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/Platform.t 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ # -*- cperl -*- -# Copyright (c) 2008 MySQL AB +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/rmtree.t mysql-5.7-5.7.34/mysql-test/lib/t/rmtree.t --- mysql-5.7-5.7.33/mysql-test/lib/t/rmtree.t 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/rmtree.t 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- cperl -*- -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/SafeProcessStress.pl mysql-5.7-5.7.34/mysql-test/lib/t/SafeProcessStress.pl --- mysql-5.7-5.7.33/mysql-test/lib/t/SafeProcessStress.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/SafeProcessStress.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- cperl -*- -# Copyright (c) 2007, 2008 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/SafeProcess.t mysql-5.7-5.7.34/mysql-test/lib/t/SafeProcess.t --- mysql-5.7-5.7.33/mysql-test/lib/t/SafeProcess.t 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/SafeProcess.t 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ # -*- cperl -*- -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/test_child.pl mysql-5.7-5.7.34/mysql-test/lib/t/test_child.pl --- mysql-5.7-5.7.33/mysql-test/lib/t/test_child.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/test_child.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- cperl -*- -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/testMyConfigFactory.t mysql-5.7-5.7.34/mysql-test/lib/t/testMyConfigFactory.t --- mysql-5.7-5.7.33/mysql-test/lib/t/testMyConfigFactory.t 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/testMyConfigFactory.t 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- cperl -*- -# Copyright (c) 2007 MySQL AB, 2009 Sun Microsystems, Inc. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/t/testMyConfig.t mysql-5.7-5.7.34/mysql-test/lib/t/testMyConfig.t --- mysql-5.7-5.7.33/mysql-test/lib/t/testMyConfig.t 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/t/testMyConfig.t 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- cperl -*- -# Copyright (c) 2007 MySQL AB +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_cases.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_cases.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_cases.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_cases.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2005, 2006 MySQL AB, 2008, 2009 Sun Microsystems, Inc. +# Copyright (c) 2005, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_gcov.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_gcov.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_gcov.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_gcov.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004, 2006 MySQL AB, 2008 Sun Microsystems, Inc. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_gprof.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_gprof.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_gprof.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_gprof.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004 MySQL AB, 2008 Sun Microsystems, Inc. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_im.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_im.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_im.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_im.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2006 MySQL AB, 2008 Sun Microsystems, Inc. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_io.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_io.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_io.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_io.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_match.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_match.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_match.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_match.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004-2006 MySQL AB, 2008 Sun Microsystems, Inc. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_misc.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_misc.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_misc.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_misc.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_process.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_process.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_process.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_process.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004-2006 MySQL AB, 2008 Sun Microsystems, Inc. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_report.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_report.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_report.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_report.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_stress.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_stress.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_stress.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_stress.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2006 MySQL AB, 2008, 2009 Sun Microsystems, Inc. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_timer.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_timer.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_timer.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_timer.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2005, 2006 MySQL AB, 2008 Sun Microsystems, Inc. +# Copyright (c) 2005, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_unique.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_unique.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mtr_unique.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mtr_unique.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ # -*- cperl -*- -# Copyright (c) 2006 MySQL AB, 2008 Sun Microsystems, Inc. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/My/Config.pm mysql-5.7-5.7.34/mysql-test/lib/v1/My/Config.pm --- mysql-5.7-5.7.33/mysql-test/lib/v1/My/Config.pm 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/My/Config.pm 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ # -*- cperl -*- -# Copyright (c) 2008 Sun Microsystems, Inc. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # Use is subject to license terms. # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysql-test/lib/v1/mysql-test-run.pl mysql-5.7-5.7.34/mysql-test/lib/v1/mysql-test-run.pl --- mysql-5.7-5.7.33/mysql-test/lib/v1/mysql-test-run.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lib/v1/mysql-test-run.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- cperl -*- -# Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/lsan.supp mysql-5.7-5.7.34/mysql-test/lsan.supp --- mysql-5.7-5.7.33/mysql-test/lsan.supp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/lsan.supp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/mysql-stress-test.pl mysql-5.7-5.7.34/mysql-test/mysql-stress-test.pl --- mysql-5.7-5.7.33/mysql-test/mysql-stress-test.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/mysql-stress-test.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/mysql-test-run.pl mysql-5.7-5.7.34/mysql-test/mysql-test-run.pl --- mysql-5.7-5.7.33/mysql-test/mysql-test-run.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/mysql-test-run.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl # -*- cperl -*- -# Copyright (c) 2004, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2004, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysql-test/r/mysql_batch_mode.result mysql-5.7-5.7.34/mysql-test/r/mysql_batch_mode.result --- mysql-5.7-5.7.33/mysql-test/r/mysql_batch_mode.result 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/r/mysql_batch_mode.result 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,4 @@ +# +# Bug #32015466: MYSQL BATCH MODE EXECUTE SQL +# FAILED WITH MYSQL CLIENT +# diff -Nru mysql-5.7-5.7.33/mysql-test/r/mysqld--help-win.result mysql-5.7-5.7.34/mysql-test/r/mysqld--help-win.result --- mysql-5.7-5.7.33/mysql-test/r/mysqld--help-win.result 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/r/mysqld--help-win.result 2021-03-26 06:58:52.000000000 +0000 @@ -1459,7 +1459,7 @@ myisam-use-mmap FALSE mysql-native-password-proxy-users FALSE named-pipe FALSE -named-pipe-full-access-group *everyone* +named-pipe-full-access-group net-buffer-length 16384 net-read-timeout 30 net-retry-count 10 diff -Nru mysql-5.7-5.7.33/mysql-test/r/mysql_plugin.result mysql-5.7-5.7.34/mysql-test/r/mysql_plugin.result --- mysql-5.7-5.7.33/mysql-test/r/mysql_plugin.result 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/r/mysql_plugin.result 2021-03-26 06:58:52.000000000 +0000 @@ -119,7 +119,7 @@ # Show the help. # mysql_plugin Ver V.V.VV Distrib XX.XX.XX -Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved. Enable or disable plugins. diff -Nru mysql-5.7-5.7.33/mysql-test/r/mysqlpump_bugs.result mysql-5.7-5.7.34/mysql-test/r/mysqlpump_bugs.result --- mysql-5.7-5.7.33/mysql-test/r/mysqlpump_bugs.result 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/r/mysqlpump_bugs.result 2021-03-26 06:58:52.000000000 +0000 @@ -9,3 +9,14 @@ Database (db%) db2 DROP DATABASE db2; +# +# Bug #32067013: MYSQLPUMP SEGMENTATION FAULT +# +CREATE DATABASE B32067013; +CREATE TABLE B32067013.t1(v1 INT, v2 INT); +CREATE TABLE B32067013.t2(v1 INT, v2 INT); +CREATE VIEW B32067013.t123 AS SELECT * FROM B32067013.t1; +DROP TABLE B32067013.t1; +# Test criteria: shouldn't crash +DROP DATABASE B32067013; +# End of 5.7 tests diff -Nru mysql-5.7-5.7.33/mysql-test/suite/binlog/r/binlog_gtid_purge_binlog_at_startup.result mysql-5.7-5.7.34/mysql-test/suite/binlog/r/binlog_gtid_purge_binlog_at_startup.result --- mysql-5.7-5.7.33/mysql-test/suite/binlog/r/binlog_gtid_purge_binlog_at_startup.result 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/binlog/r/binlog_gtid_purge_binlog_at_startup.result 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,17 @@ +RESET MASTER; +CREATE TABLE t (a INT); +include/stop_mysqld.inc [server 1] +# restart: --debug=+d,expire_logs_always_at_start --expire-logs-days=1 +include/assert.inc [GTID_PURGED is consistent] +include/assert.inc [We have 1 binlog file] +DROP TABLE t; +RESET MASTER; +CREATE TABLE t (a INT); +FLUSH LOGS; +INSERT INTO t VALUES (1), (2), (3); +include/stop_mysqld.inc [server 1] +# restart: --debug=+d,expire_logs_always_at_start --expire-logs-days=1 +include/assert.inc [GTID_PURGED is consistent] +include/assert.inc [We have 1 binlog file] +DROP TABLE t; +SET GLOBAL debug = "-d,expire_logs_always_at_start"; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/binlog/t/binlog_gtid_purge_binlog_at_startup.test mysql-5.7-5.7.34/mysql-test/suite/binlog/t/binlog_gtid_purge_binlog_at_startup.test --- mysql-5.7-5.7.33/mysql-test/suite/binlog/t/binlog_gtid_purge_binlog_at_startup.test 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/binlog/t/binlog_gtid_purge_binlog_at_startup.test 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,115 @@ +# ==== Purpose ==== +# +# The purpose of this test is to ensure that GTID_PURGED variable is +# properly set when binlogs need to be purged by means of +# `expire_logs_days` usage during server startup process. +# +# ==== Requirements ==== +# +# R1. When `expire_logs_days` has been expired upon server +# restart, binary logs should be purged and GTID_PURGED should be updated +# accordingly. +# +# ==== Implementation ==== +# +# TC1. Restart the server with simulated `expire_logs_days` expiration +# --------------------------------------------------------------------------- +# 1. Create a table. +# 2. Stop the server. +# 3. Start the server with `--expire-logs-days` sinthetically set to +# expire. +# 4. Ensure GTID_PURGED is set at the correct value. +# 5. Ensure that we have only one binary log file. +# +# TC2. Restart the server with simulated `expire_logs_days` +# expiration and after flush +# ---------------------------------------------------------------- +# 1. Create a table. +# 2. Flush the logs. +# 3. Insert a row. +# 4. Stop the server. +# 5. Start the server with `--expire-logs-days` sinthetically set to +# expire. +# 6. Ensure GTID_PURGED is set at the correct value. +# 7. Ensure that we have only one binary log file. +# +# ==== References ==== +# +# BUG#32008512 ASSERTION `LOST_GTIDS->IS_EMPTY()' FAILED WHEN MYSQLD +# STARTED +# BUG#32134875 PURGE BINLOG IN INSTANCE STARTUP CAUSE PREVIOUS_GTIDS WRONG +# IN NEW BINLOG FILE +# +--source include/have_binlog_format_row.inc +--source include/have_gtid.inc +--source include/have_debug.inc + +--let $saved_debug = `SELECT @@debug` + +# TC1. Restart the server with simulated `expire_logs_days` expiration +# --------------------------------------------------------------------------- +--let $debug_point = "+d,expire_logs_always_at_start" +RESET MASTER; +# 1. Create a table. +CREATE TABLE t (a INT); + +# 2. Stop the server. +--source include/stop_mysqld.inc +# 3. Start the server with `--expire-logs-days` sinthetically set to +# expire. +--let $restart_parameters = restart: --debug=$debug_point --expire-logs-days=1 +--source include/start_mysqld.inc + +--let $server_uuid = `SELECT @@server_uuid` + +# 4. Ensure GTID_PURGED is set at the correct value. +--let $assert_text = GTID_PURGED is consistent +--let $assert_cond = "[SELECT @@gtid_purged]" = "$server_uuid:1" +--source include/assert.inc + +# 5. Ensure that we have only one binary log file. +--let $statement = SHOW BINARY LOGS +--let $column = Log_name +--source include/get_row_count.inc +--let $assert_text = We have 1 binlog file +--let $assert_cond = $row_count = 1 +--source include/assert.inc + +DROP TABLE t; + +# TC2. Restart the server with simulated `expire_logs_days` +# expiration and after flush +# ---------------------------------------------------------------- +--let $debug_point = "+d,expire_logs_always_at_start" +RESET MASTER; +# 1. Create a table. +CREATE TABLE t (a INT); +# 2. Flush the logs. +FLUSH LOGS; +# 3. Insert a row +INSERT INTO t VALUES (1), (2), (3); + +# 4. Stop the server. +--source include/stop_mysqld.inc +# 5. Start the server with `--expire-logs-days` sinthetically set to +# expire. +--let $restart_parameters = restart: --debug=$debug_point --expire-logs-days=1 +--source include/start_mysqld.inc + +--let $server_uuid = `SELECT @@server_uuid` + +# 7. Ensure GTID_PURGED is set at the correct value. +--let $assert_text = GTID_PURGED is consistent +--let $assert_cond = "[SELECT @@gtid_purged]" = "$server_uuid:1-2" +--source include/assert.inc + +# 8. Ensure that we have only one binary log file. +--let $statement = SHOW BINARY LOGS +--let $column = Log_name +--source include/get_row_count.inc +--let $assert_text = We have 1 binlog file +--let $assert_cond = $row_count = 1 +--source include/assert.inc + +DROP TABLE t; +SET GLOBAL debug = "-d,expire_logs_always_at_start"; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/innodb/r/innodb_row_log_read.result mysql-5.7-5.7.34/mysql-test/suite/innodb/r/innodb_row_log_read.result --- mysql-5.7-5.7.33/mysql-test/suite/innodb/r/innodb_row_log_read.result 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/innodb/r/innodb_row_log_read.result 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,17 @@ +# +# Bug #31529221 ALTER TABLE FAILS AND REPORTS INCORRECT KEY FILE FOR TABLE T1 +# +SET @old_innodb_online_alter_log_max_size := @@innodb_online_alter_log_max_size; +SET @old_max_allowed_packet := @@max_allowed_packet; +set global innodb_online_alter_log_max_size=1342177280000; +set global max_allowed_packet=1024*1024*1024; +create table t1(d1 longblob); +insert into t1(d1) values (repeat(UNHEX('000f'), 1022*1022*88)); +SET DEBUG_SYNC= 'alter_table_inplace_after_lock_downgrade SIGNAL proceed_insert WAIT_FOR proceed_alter'; +alter table t1 ADD COLUMN `d2` char(128) not null default '0' after d1;; +SET DEBUG_SYNC= 'now WAIT_FOR proceed_insert'; +SET DEBUG_SYNC= 'now SIGNAL proceed_alter'; +SET DEBUG_SYNC= 'RESET'; +drop table t1; +SET GLOBAL innodb_online_alter_log_max_size = @old_innodb_online_alter_log_max_size; +set global max_allowed_packet = @old_max_allowed_packet; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/innodb/r/virtual_fk.result mysql-5.7-5.7.34/mysql-test/suite/innodb/r/virtual_fk.result --- mysql-5.7-5.7.33/mysql-test/suite/innodb/r/virtual_fk.result 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/innodb/r/virtual_fk.result 2021-03-26 06:58:52.000000000 +0000 @@ -829,3 +829,41 @@ f1 f3 3 2 DROP TABLE t2, t1; +# +# Bug#32124113 MYSQL CRASH FOR GENERATED COLUMN DELETE WITH FOREIGN KEY +# +CREATE TABLE `emails` ( +`id` int(10) unsigned NOT NULL AUTO_INCREMENT, +PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci +ROW_FORMAT=DYNAMIC; +CREATE TABLE `email_stats` ( +`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, +`email_id` int(10) unsigned DEFAULT NULL, +`date_sent` datetime NOT NULL, +`generated_sent_date` date GENERATED ALWAYS AS +(concat(year(`date_sent`),'-',lpad(month(`date_sent`),2,'0'), +'-',lpad(dayofmonth(`date_sent`),2,'0'))) VIRTUAL, +PRIMARY KEY (`id`), +KEY `IDX_ES1` (`email_id`), +KEY `mautic_generated_sent_date_email_id` +(`generated_sent_date`,`email_id`), +CONSTRAINT `FK_ES1` FOREIGN KEY (`email_id`) REFERENCES +`emails` (`id`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci +ROW_FORMAT=DYNAMIC; +CREATE TABLE `emails_metadata` ( +`email_id` int(10) unsigned NOT NULL, +PRIMARY KEY (`email_id`), +CONSTRAINT `FK_EM1` FOREIGN KEY (`email_id`) REFERENCES +`emails` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci +ROW_FORMAT=DYNAMIC; +INSERT INTO `emails` VALUES (1); +INSERT INTO `email_stats` (`id`, `email_id`, `date_sent`) VALUES +(1,1,'2020-10-22 13:32:41'); +INSERT INTO `emails_metadata` VALUES (1); +DELETE FROM `emails`; +DROP TABLE `email_stats`; +DROP TABLE `emails_metadata`; +DROP TABLE `emails`; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/innodb/t/innodb_row_log_read.test mysql-5.7-5.7.34/mysql-test/suite/innodb/t/innodb_row_log_read.test --- mysql-5.7-5.7.33/mysql-test/suite/innodb/t/innodb_row_log_read.test 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/innodb/t/innodb_row_log_read.test 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,46 @@ +--echo # +--echo # Bug #31529221 ALTER TABLE FAILS AND REPORTS INCORRECT KEY FILE FOR TABLE T1 +--echo # + +--source include/have_innodb_16k.inc +--source include/have_debug.inc +--source include/have_debug_sync.inc +--source include/big_test.inc +--source include/not_embedded.inc + +SET @old_innodb_online_alter_log_max_size := @@innodb_online_alter_log_max_size; +SET @old_max_allowed_packet := @@max_allowed_packet; +set global innodb_online_alter_log_max_size=1342177280000; +set global max_allowed_packet=1024*1024*1024; + +create table t1(d1 longblob); + +--connect (con1,localhost,root,,test,,) +insert into t1(d1) values (repeat(UNHEX('000f'), 1022*1022*88)); +SET DEBUG_SYNC= 'alter_table_inplace_after_lock_downgrade SIGNAL proceed_insert WAIT_FOR proceed_alter'; +--send alter table t1 ADD COLUMN `d2` char(128) not null default '0' after d1; + +--connect (con2,localhost,root,,test,,) +SET DEBUG_SYNC= 'now WAIT_FOR proceed_insert'; + +#insert sufficient records so that the operation gets logged in the temporary file +--disable_query_log +let $c=3241; +while($c) { + insert into t1(d1) values (repeat(UNHEX('000f'), 1022*3)); + dec $c; +} +--enable_query_log +SET DEBUG_SYNC= 'now SIGNAL proceed_alter'; + +--connection con1 +--reap + +--connection default +disconnect con1; +disconnect con2; +SET DEBUG_SYNC= 'RESET'; +drop table t1; +SET GLOBAL innodb_online_alter_log_max_size = @old_innodb_online_alter_log_max_size; +set global max_allowed_packet = @old_max_allowed_packet; + diff -Nru mysql-5.7-5.7.33/mysql-test/suite/innodb/t/virtual_fk.test mysql-5.7-5.7.34/mysql-test/suite/innodb/t/virtual_fk.test --- mysql-5.7-5.7.33/mysql-test/suite/innodb/t/virtual_fk.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/innodb/t/virtual_fk.test 2021-03-26 06:58:52.000000000 +0000 @@ -733,3 +733,48 @@ EXPLAIN SELECT f1, f3 FROM t2; SELECT f1, f3 FROM t2; DROP TABLE t2, t1; + +--echo # +--echo # Bug#32124113 MYSQL CRASH FOR GENERATED COLUMN DELETE WITH FOREIGN KEY +--echo # + +CREATE TABLE `emails` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci +ROW_FORMAT=DYNAMIC; + +CREATE TABLE `email_stats` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `email_id` int(10) unsigned DEFAULT NULL, + `date_sent` datetime NOT NULL, + `generated_sent_date` date GENERATED ALWAYS AS +(concat(year(`date_sent`),'-',lpad(month(`date_sent`),2,'0'), +'-',lpad(dayofmonth(`date_sent`),2,'0'))) VIRTUAL, + PRIMARY KEY (`id`), + KEY `IDX_ES1` (`email_id`), + KEY `mautic_generated_sent_date_email_id` +(`generated_sent_date`,`email_id`), + CONSTRAINT `FK_ES1` FOREIGN KEY (`email_id`) REFERENCES + `emails` (`id`) ON DELETE SET NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci +ROW_FORMAT=DYNAMIC; + +CREATE TABLE `emails_metadata` ( + `email_id` int(10) unsigned NOT NULL, + PRIMARY KEY (`email_id`), + CONSTRAINT `FK_EM1` FOREIGN KEY (`email_id`) REFERENCES +`emails` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci +ROW_FORMAT=DYNAMIC; + +INSERT INTO `emails` VALUES (1); +INSERT INTO `email_stats` (`id`, `email_id`, `date_sent`) VALUES +(1,1,'2020-10-22 13:32:41'); +INSERT INTO `emails_metadata` VALUES (1); +DELETE FROM `emails`; + +#cleanup +DROP TABLE `email_stats`; +DROP TABLE `emails_metadata`; +DROP TABLE `emails`; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/innodb_zip/r/innochecksum_2.result mysql-5.7-5.7.34/mysql-test/suite/innodb_zip/r/innochecksum_2.result --- mysql-5.7-5.7.33/mysql-test/suite/innodb_zip/r/innochecksum_2.result 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/innodb_zip/r/innochecksum_2.result 2021-03-26 06:58:52.000000000 +0000 @@ -19,7 +19,7 @@ [2]:# Run the innochecksum when file isn't provided. # It will print the innochecksum usage similar to --help option. innochecksum Ver #.#.# -Copyright (c) YEAR, YEAR , Oracle and/or its affiliates. All rights reserved. +Copyright (c) YEAR, YEAR , Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective diff -Nru mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc213_2_intcols.test mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc213_2_intcols.test --- mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc213_2_intcols.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc213_2_intcols.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,8 +1,3 @@ -# -# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights -# reserved. -# - source include/not_valgrind.inc; source include/have_memcached_plugin.inc; source include/not_windows.inc; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc234_r_batch_1.test mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc234_r_batch_1.test --- mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc234_r_batch_1.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc234_r_batch_1.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,3 @@ -# -# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. -# - source include/not_valgrind.inc; source include/have_memcached_plugin.inc; source include/not_windows.inc; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc245_w_batch_2.test mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc245_w_batch_2.test --- mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc245_w_batch_2.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc245_w_batch_2.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,3 @@ -# -# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. -# - source include/not_valgrind.inc; source include/have_memcached_plugin.inc; source include/not_windows.inc; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc283_misc.test mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc283_misc.test --- mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc283_misc.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc283_misc.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,3 @@ -# -# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. -# - source include/not_valgrind.inc; source include/have_memcached_plugin.inc; source include/not_windows.inc; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc284_misc.test mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc284_misc.test --- mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc284_misc.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc284_misc.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,3 @@ -# -# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. -# - source include/not_valgrind.inc; source include/have_memcached_plugin.inc; source include/not_windows.inc; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc285_FTWRL.test mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc285_FTWRL.test --- mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc285_FTWRL.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc285_FTWRL.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,8 +1,3 @@ -# -# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights -# reserved. -# - source include/not_valgrind.inc; source include/have_memcached_plugin.inc; source include/not_windows.inc; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc290_read_committed.test mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc290_read_committed.test --- mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc290_read_committed.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc290_read_committed.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,8 +1,3 @@ -# -## Copyright (c) 2017, Oracle and/or its affiliates. All rights -##reserved. -# - # Bug#20205934 - ENABLE VALGRIND FOR MEMCACHED TESTS source include/not_valgrind.inc; source include/have_memcached_plugin.inc; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc_api_disable_rowlock.test mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc_api_disable_rowlock.test --- mysql-5.7-5.7.33/mysql-test/suite/memcached/t/memc_api_disable_rowlock.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/memcached/t/memc_api_disable_rowlock.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,3 @@ -# -# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. -# - source include/not_valgrind.inc; source include/have_memcached_plugin.inc; source include/not_windows.inc; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/rpl/extension/bhs.pl mysql-5.7-5.7.34/mysql-test/suite/rpl/extension/bhs.pl --- mysql-5.7-5.7.33/mysql-test/suite/rpl/extension/bhs.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/rpl/extension/bhs.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,27 +1,5 @@ #!/usr/bin/perl -# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License, version 2.0, -# as published by the Free Software Foundation. -# -# This program is also distributed with certain software (including -# but not limited to OpenSSL) that is licensed under separate terms, -# as designated in a particular file or component or in included license -# documentation. The authors of MySQL hereby grant you an additional -# permission to link the program and your derivative works with the -# separately licensed software that they have included with MySQL. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License, version 2.0, for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - use File::Basename; use File::Copy qw(copy); use File::Spec qw(catdir); diff -Nru mysql-5.7-5.7.33/mysql-test/suite/rpl/extension/checksum.pl mysql-5.7-5.7.34/mysql-test/suite/rpl/extension/checksum.pl --- mysql-5.7-5.7.33/mysql-test/suite/rpl/extension/checksum.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/rpl/extension/checksum.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,27 +1,5 @@ #!/usr/bin/perl -# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License, version 2.0, -# as published by the Free Software Foundation. -# -# This program is also distributed with certain software (including -# but not limited to OpenSSL) that is licensed under separate terms, -# as designated in a particular file or component or in included license -# documentation. The authors of MySQL hereby grant you an additional -# permission to link the program and your derivative works with the -# separately licensed software that they have included with MySQL. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License, version 2.0, for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - use File::Basename; use File::Copy qw(copy); use File::Spec qw(catdir); diff -Nru mysql-5.7-5.7.33/mysql-test/suite/rpl/r/rpl_mts_spco_deadlock_slave_trans_retries_hang.result mysql-5.7-5.7.34/mysql-test/suite/rpl/r/rpl_mts_spco_deadlock_slave_trans_retries_hang.result --- mysql-5.7-5.7.33/mysql-test/suite/rpl/r/rpl_mts_spco_deadlock_slave_trans_retries_hang.result 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/rpl/r/rpl_mts_spco_deadlock_slave_trans_retries_hang.result 2021-03-26 06:58:52.000000000 +0000 @@ -50,7 +50,7 @@ ROLLBACK; # # Add error supressions. -CALL mtr.add_suppression("Worker 2 failed executing transaction 'ANONYMOUS'"); +CALL mtr.add_suppression("Worker .* failed executing transaction.*"); # # 3.2. Wait till the co-ordinator thread to error out with ER_LOCK_DEADLOCK. include/wait_for_slave_sql_error.inc [errno=1213] diff -Nru mysql-5.7-5.7.33/mysql-test/suite/rpl/r/rpl_show_processlist_info.result mysql-5.7-5.7.34/mysql-test/suite/rpl/r/rpl_show_processlist_info.result --- mysql-5.7-5.7.33/mysql-test/suite/rpl/r/rpl_show_processlist_info.result 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/rpl/r/rpl_show_processlist_info.result 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,14 @@ +include/master-slave.inc +Warnings: +Note #### Sending passwords in plain text without SSL/TLS is extremely insecure. +Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information. +[connection master] + +==== Test ==== +CREATE USER IF NOT EXISTS 'user1'@'%' IDENTIFIED WITH 'mysql_native_password'; +include/sync_slave_sql_with_master.inc + +==== Clean up ==== +[connection master] +DROP USER IF EXISTS 'user1'@'%'; +include/rpl_end.inc diff -Nru mysql-5.7-5.7.33/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_hang_on_non_temp_error-slave.opt mysql-5.7-5.7.34/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_hang_on_non_temp_error-slave.opt --- mysql-5.7-5.7.33/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_hang_on_non_temp_error-slave.opt 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_hang_on_non_temp_error-slave.opt 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1 @@ +--no-console --log_error=$MYSQLTEST_VARDIR/tmp/rpl_mts_spco_deadlock_hang_on_non_temp_error.2.err diff -Nru mysql-5.7-5.7.33/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_hang_on_non_temp_error.test mysql-5.7-5.7.34/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_hang_on_non_temp_error.test --- mysql-5.7-5.7.33/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_hang_on_non_temp_error.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_hang_on_non_temp_error.test 2021-03-26 06:58:52.000000000 +0000 @@ -189,7 +189,7 @@ --echo # 3.11 Check that worker 2 did not *retry* transaction-2 --echo # before throwing ER_DUP_ENTRY error (non-temporary error). --echo # ---let $assert_file= $MYSQLTEST_VARDIR/log/mysqld.2.err +--let $assert_file= $MYSQLTEST_VARDIR/tmp/rpl_mts_spco_deadlock_hang_on_non_temp_error.2.err --let $assert_only_after = CURRENT_TEST: rpl.rpl_mts_spco_deadlock_hang_on_non_temp_error --let $assert_count = 1 --let $assert_select = Error 'Duplicate entry '1' for key 'PRIMARY'' on query diff -Nru mysql-5.7-5.7.33/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_slave_trans_retries_hang.test mysql-5.7-5.7.34/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_slave_trans_retries_hang.test --- mysql-5.7-5.7.33/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_slave_trans_retries_hang.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/rpl/t/rpl_mts_spco_deadlock_slave_trans_retries_hang.test 2021-03-26 06:58:52.000000000 +0000 @@ -149,7 +149,7 @@ --echo # --echo # Add error supressions. -CALL mtr.add_suppression("Worker 2 failed executing transaction 'ANONYMOUS'"); +CALL mtr.add_suppression("Worker .* failed executing transaction.*"); --echo # --echo # 3.2. Wait till the co-ordinator thread to error out with ER_LOCK_DEADLOCK. diff -Nru mysql-5.7-5.7.33/mysql-test/suite/rpl/t/rpl_show_processlist_info.test mysql-5.7-5.7.34/mysql-test/suite/rpl/t/rpl_show_processlist_info.test --- mysql-5.7-5.7.33/mysql-test/suite/rpl/t/rpl_show_processlist_info.test 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/rpl/t/rpl_show_processlist_info.test 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,47 @@ +################################################################################ +# ==== Purpose ==== +# The purpose of this test is to verify that, SHOW PROCESSLIST in Replica +# shows null value instead of previously executed command in the INFO section +# when slave_sql thread is waiting for updates from the Source. +# +# ==== Requirements ==== +# Replica's slave_sql thread should show null value in the SHOW PROCESSLIST +# INFO section when it is waiting for updates from Source, even if the +# previoulsy executed query is a rewritten query. +# +# ==== Implementation ==== +# 1. Perform an operation that can cause rewritten query on Source +# 2. Verify Replica state and info through 'SHOW PROCESSLIST' +# 3. Clean-up +# +# ==== References ==== +# Bug#:30521198: IDLE & CAUGHT UP SLAVE HAS OLD QUERY SHOWN IN "INFO" +# SECTION OF PROCESSLIST +# +################################################################################ + +# Test is binlog_format-agnostic +--source include/have_binlog_format_row.inc +--source include/master-slave.inc + +--echo +--echo ==== Test ==== +# Perform an operation that can cause rewritten query on Source +CREATE USER IF NOT EXISTS 'user1'@'%' IDENTIFIED WITH 'mysql_native_password'; + +# Verify replica activity using SHOW PROCESSLIST; +--source include/sync_slave_sql_with_master.inc + +let $show_statement= SHOW PROCESSLIST; +let $field= State; +let $condition= = 'Slave has read all relay log; waiting for more updates'; +--source include/wait_show_condition.inc +--let $wait_condition= SELECT COUNT(*)=1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE State='Slave has read all relay log; waiting for more updates' AND INFO IS NULL; +--source include/wait_condition.inc + +--echo +--echo ==== Clean up ==== +--source include/rpl_connection_master.inc +DROP USER IF EXISTS 'user1'@'%'; + +--source include/rpl_end.inc diff -Nru mysql-5.7-5.7.33/mysql-test/suite/sys_vars/r/named_pipe_full_access_group_basic.result mysql-5.7-5.7.34/mysql-test/suite/sys_vars/r/named_pipe_full_access_group_basic.result --- mysql-5.7-5.7.33/mysql-test/suite/sys_vars/r/named_pipe_full_access_group_basic.result 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/sys_vars/r/named_pipe_full_access_group_basic.result 2021-03-26 06:58:52.000000000 +0000 @@ -1,14 +1,14 @@ select @@global.named_pipe_full_access_group; @@global.named_pipe_full_access_group -*everyone* + select @@session.named_pipe_full_access_group; ERROR HY000: Variable 'named_pipe_full_access_group' is a GLOBAL variable show global variables like 'named_pipe_full_access_group'; Variable_name Value -named_pipe_full_access_group *everyone* +named_pipe_full_access_group show session variables like 'named_pipe_full_access_group'; Variable_name Value -named_pipe_full_access_group *everyone* +named_pipe_full_access_group set global named_pipe_full_access_group = NULL; show session variables like 'named_pipe_full_access_group'; Variable_name Value @@ -22,3 +22,4 @@ select * from performance_schema.session_variables where variable_name='named_pipe_full_access_group'; VARIABLE_NAME VARIABLE_VALUE named_pipe_full_access_group *everyone* +set global named_pipe_full_access_group = default; diff -Nru mysql-5.7-5.7.33/mysql-test/suite/sys_vars/t/named_pipe_full_access_group_basic.test mysql-5.7-5.7.34/mysql-test/suite/sys_vars/t/named_pipe_full_access_group_basic.test --- mysql-5.7-5.7.33/mysql-test/suite/sys_vars/t/named_pipe_full_access_group_basic.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/suite/sys_vars/t/named_pipe_full_access_group_basic.test 2021-03-26 06:58:52.000000000 +0000 @@ -15,4 +15,5 @@ select * from performance_schema.global_variables where variable_name='named_pipe_full_access_group'; select * from performance_schema.session_variables where variable_name='named_pipe_full_access_group'; --enable_warnings - +# Restore initial state +set global named_pipe_full_access_group = default; diff -Nru mysql-5.7-5.7.33/mysql-test/t/mysql_batch_mode.test mysql-5.7-5.7.34/mysql-test/t/mysql_batch_mode.test --- mysql-5.7-5.7.33/mysql-test/t/mysql_batch_mode.test 1970-01-01 00:00:00.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/t/mysql_batch_mode.test 2021-03-26 06:58:52.000000000 +0000 @@ -0,0 +1,17 @@ +--echo # +--echo # Bug #32015466: MYSQL BATCH MODE EXECUTE SQL +--echo # FAILED WITH MYSQL CLIENT +--echo # + +--source include/not_embedded.inc + +--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql +create database test1; +create database test2; +use `test1`; +DROP DATABASE IF EXISTS test1; +use `test2`; +DROP DATABASE IF EXISTS test2; +EOF +--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1 +remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql; diff -Nru mysql-5.7-5.7.33/mysql-test/t/mysqlpump_bugs.test mysql-5.7-5.7.34/mysql-test/t/mysqlpump_bugs.test --- mysql-5.7-5.7.33/mysql-test/t/mysqlpump_bugs.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/t/mysqlpump_bugs.test 2021-03-26 06:58:52.000000000 +0000 @@ -25,3 +25,25 @@ DROP DATABASE db2; --remove_file $MYSQLTEST_VARDIR/tmp/bug83144.cnf --remove_file $MYSQLTEST_VARDIR/tmp/bug83144.dump + + +--echo # +--echo # Bug #32067013: MYSQLPUMP SEGMENTATION FAULT +--echo # + +CREATE DATABASE B32067013; +CREATE TABLE B32067013.t1(v1 INT, v2 INT); +CREATE TABLE B32067013.t2(v1 INT, v2 INT); +CREATE VIEW B32067013.t123 AS SELECT * FROM B32067013.t1; +DROP TABLE B32067013.t1; + +--echo # Test criteria: shouldn't crash +--error 76,1356 +--exec $MYSQL_PUMP --all-databases > $MYSQLTEST_VARDIR/tmp/bug32067013.dump 2>&1 + +#cleanup +DROP DATABASE B32067013; +--remove_file $MYSQLTEST_VARDIR/tmp/bug32067013.dump + + +--echo # End of 5.7 tests diff -Nru mysql-5.7-5.7.33/mysql-test/t/opt_costmodel_warnings.test mysql-5.7-5.7.34/mysql-test/t/opt_costmodel_warnings.test --- mysql-5.7-5.7.33/mysql-test/t/opt_costmodel_warnings.test 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/t/opt_costmodel_warnings.test 2021-03-26 06:58:52.000000000 +0000 @@ -1,8 +1,4 @@ # -# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. -# - -# # Test that provides code coverage for the code that checks and handles # entries in the cost constant tables that has invalid values. # This will cause warnings to be written to the MySQL error log. diff -Nru mysql-5.7-5.7.33/mysql-test/valgrind.supp mysql-5.7-5.7.34/mysql-test/valgrind.supp --- mysql-5.7-5.7.33/mysql-test/valgrind.supp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysql-test/valgrind.supp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/array.c mysql-5.7-5.7.34/mysys/array.c --- mysql-5.7-5.7.33/mysys/array.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/array.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/base64.c mysql-5.7-5.7.34/mysys/base64.c --- mysql-5.7-5.7.33/mysys/base64.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/base64.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -264,7 +264,7 @@ if (decoder->mark) { /* If we have scanned '=' already, then only '=' is valid */ - DBUG_ASSERT(decoder->state == 3); + assert(decoder->state == 3); decoder->error= 1; decoder->src--; return TRUE; /* expected '=', but encoding character found */ @@ -297,7 +297,7 @@ break; default: - DBUG_ASSERT(0); + assert(0); return TRUE; /* Wrong state, should not happen */ } diff -Nru mysql-5.7-5.7.33/mysys/charset.c mysql-5.7-5.7.34/mysys/charset.c --- mysql-5.7-5.7.33/mysys/charset.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/charset.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -428,7 +428,7 @@ void add_compiled_collation(CHARSET_INFO *cs) { - DBUG_ASSERT(cs->number < array_elements(all_charsets)); + assert(cs->number < array_elements(all_charsets)); all_charsets[cs->number]= cs; cs->state|= MY_CS_AVAILABLE; } @@ -544,7 +544,7 @@ char buf[FN_REFLEN]; CHARSET_INFO *cs; - DBUG_ASSERT(cs_number < array_elements(all_charsets)); + assert(cs_number < array_elements(all_charsets)); if ((cs= all_charsets[cs_number])) { diff -Nru mysql-5.7-5.7.33/mysys/charset-def.c mysql-5.7-5.7.34/mysys/charset-def.c --- mysql-5.7-5.7.33/mysys/charset-def.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/charset-def.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/checksum.c mysql-5.7-5.7.34/mysys/checksum.c --- mysql-5.7-5.7.33/mysys/checksum.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/checksum.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/CMakeLists.txt mysql-5.7-5.7.34/mysys/CMakeLists.txt --- mysql-5.7-5.7.33/mysys/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/errors.c mysql-5.7-5.7.34/mysys/errors.c --- mysql-5.7-5.7.33/mysys/errors.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/errors.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/hash.c mysql-5.7-5.7.34/mysys/hash.c --- mysql-5.7-5.7.33/mysys/hash.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/hash.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -764,7 +764,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG my_bool my_hash_check(HASH *hash) { diff -Nru mysql-5.7-5.7.33/mysys/kqueue_timers.c mysql-5.7-5.7.34/mysys/kqueue_timers.c --- mysql-5.7-5.7.33/mysys/kqueue_timers.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/kqueue_timers.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -71,7 +71,7 @@ if (kev.filter == EVFILT_TIMER) { timer= kev.udata; - DBUG_ASSERT(timer->id == kev.ident); + assert(timer->id == kev.ident); timer->notify_function(timer); } else if (kev.filter == EVFILT_USER) @@ -173,7 +173,7 @@ int my_timer_create(my_timer_t *timer) { - DBUG_ASSERT(kq_fd >= 0); + assert(kq_fd >= 0); timer->id= (uintptr_t) timer; diff -Nru mysql-5.7-5.7.33/mysys/lf_alloc-pin.c mysql-5.7-5.7.34/mysys/lf_alloc-pin.c --- mysql-5.7-5.7.33/mysys/lf_alloc-pin.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/lf_alloc-pin.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* QQ: TODO multi-pinbox */ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -121,7 +121,7 @@ void lf_pinbox_init(LF_PINBOX *pinbox, uint free_ptr_offset, lf_pinbox_free_func *free_func, void *free_func_arg) { - DBUG_ASSERT(free_ptr_offset % sizeof(void *) == 0); + assert(free_ptr_offset % sizeof(void *) == 0); compile_time_assert(sizeof(LF_PINS) == 64); lf_dynarray_init(&pinbox->pinarray, sizeof(LF_PINS)); pinbox->pinstack_top_ver= 0; @@ -206,14 +206,14 @@ uint32 top_ver, nr; nr= pins->link; -#ifndef DBUG_OFF +#ifndef NDEBUG { /* This thread should not hold any pin. */ int i; for (i= 0; i < LF_PINBOX_PINS; i++) - DBUG_ASSERT(pins->pin[i] == 0); + assert(pins->pin[i] == 0); } -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ /* XXX this will deadlock if other threads will wait for @@ -398,7 +398,7 @@ allocator->element_size= size; allocator->constructor= ctor; allocator->destructor= dtor; - DBUG_ASSERT(size >= sizeof(void*) + free_ptr_offset); + assert(size >= sizeof(void*) + free_ptr_offset); } /* diff -Nru mysql-5.7-5.7.33/mysys/lf_dynarray.c mysql-5.7-5.7.34/mysys/lf_dynarray.c --- mysql-5.7-5.7.33/mysys/lf_dynarray.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/lf_dynarray.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/lf_hash.c mysql-5.7-5.7.34/mysys/lf_hash.c --- mysql-5.7-5.7.33/mysys/lf_hash.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/lf_hash.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -279,8 +279,8 @@ else { node->link= (intptr)cursor.curr; - DBUG_ASSERT(node->link != (intptr)node); /* no circular references */ - DBUG_ASSERT(cursor.prev != &node->link); /* no circular references */ + assert(node->link != (intptr)node); /* no circular references */ + assert(cursor.prev != &node->link); /* no circular references */ if (my_atomic_casptr((void **)cursor.prev, (void **)&cursor.curr, node)) { res= 1; /* inserted ok */ @@ -457,7 +457,7 @@ hash->get_key= get_key; hash->hash_function= hash_function ? hash_function : cset_hash_sort_adapter; hash->initialize= init; - DBUG_ASSERT(get_key ? !key_offset && !key_length : key_length); + assert(get_key ? !key_offset && !key_length : key_length); } void lf_hash_destroy(LF_HASH *hash) diff -Nru mysql-5.7-5.7.33/mysys/list.c mysql-5.7-5.7.34/mysys/list.c --- mysql-5.7-5.7.33/mysys/list.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/list.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_arr_appstr.c mysql-5.7-5.7.34/mysys/mf_arr_appstr.c --- mysql-5.7-5.7.33/mysys/mf_arr_appstr.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_arr_appstr.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,4 @@ -/* Copyright (C) 2007 MySQL AB - Use is subject to license terms +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -49,7 +48,7 @@ const char **p; /* end points at the terminating NULL element */ const char **end= array + size - 1; - DBUG_ASSERT(*end == NULL); + assert(*end == NULL); for (p= array; *p; ++p) { @@ -59,7 +58,7 @@ if (p >= end) return TRUE; /* Array is full */ - DBUG_ASSERT(*p == NULL || strcmp(*p, str) == 0); + assert(*p == NULL || strcmp(*p, str) == 0); while (*(p + 1)) { @@ -67,7 +66,7 @@ ++p; } - DBUG_ASSERT(p < end); + assert(p < end); *p= str; return FALSE; /* Success */ diff -Nru mysql-5.7-5.7.33/mysys/mf_cache.c mysql-5.7-5.7.34/mysys/mf_cache.c --- mysql-5.7-5.7.33/mysys/mf_cache.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_cache.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_dirname.c mysql-5.7-5.7.34/mysys/mf_dirname.c --- mysql-5.7-5.7.33/mysys/mf_dirname.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_dirname.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_fn_ext.c mysql-5.7-5.7.34/mysys/mf_fn_ext.c --- mysql-5.7-5.7.33/mysys/mf_fn_ext.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_fn_ext.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_format.c mysql-5.7-5.7.34/mysys/mf_format.c --- mysql-5.7-5.7.33/mysys/mf_format.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_format.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -44,8 +44,8 @@ size_t length; size_t dev_length; DBUG_ENTER("fn_format"); - DBUG_ASSERT(name != NULL); - DBUG_ASSERT(extension != NULL); + assert(name != NULL); + assert(extension != NULL); DBUG_PRINT("enter",("name: %s dir: %s extension: %s flag: %d", name,dir,extension,flag)); @@ -53,13 +53,13 @@ name+=(length=dirname_part(dev, (startpos=(char *) name), &dev_length)); if (length == 0 || (flag & MY_REPLACE_DIR)) { - DBUG_ASSERT(dir != NULL); + assert(dir != NULL); /* Use given directory */ convert_dirname(dev,dir,NullS); /* Fix to this OS */ } else if ((flag & MY_RELATIVE_PATH) && !test_if_hard_path(dev)) { - DBUG_ASSERT(dir != NULL); + assert(dir != NULL); /* Put 'dir' before the given path */ strmake(buff,dev,sizeof(buff)-1); pos=convert_dirname(dev,dir,NullS); diff -Nru mysql-5.7-5.7.33/mysys/mf_getdate.c mysql-5.7-5.7.34/mysys/mf_getdate.c --- mysql-5.7-5.7.33/mysys/mf_getdate.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_getdate.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_iocache2.c mysql-5.7-5.7.34/mysys/mf_iocache2.c --- mysql-5.7-5.7.33/mysys/mf_iocache2.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_iocache2.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -90,7 +90,7 @@ Sometimes we want to make sure that the variable is not put into a register in debugging mode so we can see its value in the core */ -#ifndef DBUG_OFF +#ifndef NDEBUG # define dbug_volatile volatile #else # define dbug_volatile @@ -109,7 +109,7 @@ */ mysql_mutex_lock(&info->append_buffer_lock); -#ifndef DBUG_OFF +#ifndef NDEBUG /* Make sure EOF is where we think it is. Note that we cannot just use my_tell() because we have a reader thread that could have left the @@ -122,8 +122,8 @@ /* Save the value of my_tell in res so we can see it when studying coredump */ - DBUG_ASSERT(info->end_of_file - (info->append_read_pos-info->write_buffer) - == (res=mysql_file_tell(info->file,MYF(0)))); + assert(info->end_of_file - (info->append_read_pos-info->write_buffer) + == (res=mysql_file_tell(info->file,MYF(0)))); mysql_file_seek(info->file,save_pos,MY_SEEK_SET,MYF(0)); } #endif @@ -373,7 +373,7 @@ By this point, *fmt must be a percent; Keep track of this location and skip over the percent character. */ - DBUG_ASSERT(*fmt == '%'); + assert(*fmt == '%'); backtrack= fmt; fmt++; diff -Nru mysql-5.7-5.7.33/mysys/mf_iocache.c mysql-5.7-5.7.34/mysys/mf_iocache.c --- mysql-5.7-5.7.33/mysys/mf_iocache.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_iocache.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -193,7 +193,7 @@ the beginning of whatever this file is, then somebody made a bad assumption. */ - DBUG_ASSERT(seek_offset == 0); + assert(seek_offset == 0); } else info->seek_not_done= MY_TEST(seek_offset != pos); @@ -330,9 +330,9 @@ (int) clear_cache)); /* One can't do reinit with the following types */ - DBUG_ASSERT(type != READ_NET && info->type != READ_NET && - type != WRITE_NET && info->type != WRITE_NET && - type != SEQ_READ_APPEND && info->type != SEQ_READ_APPEND); + assert(type != READ_NET && info->type != READ_NET && + type != WRITE_NET && info->type != WRITE_NET && + type != SEQ_READ_APPEND && info->type != SEQ_READ_APPEND); /* If the whole file is in memory, avoid flushing to disk */ if (! clear_cache && @@ -440,7 +440,7 @@ /* If the buffer is not empty yet, copy what is available. */ if ((left_length= (size_t) (info->read_end-info->read_pos))) { - DBUG_ASSERT(Count >= left_length); /* User is not using my_b_read() */ + assert(Count >= left_length); /* User is not using my_b_read() */ memcpy(Buffer,info->read_pos, left_length); Buffer+=left_length; Count-=left_length; @@ -470,7 +470,7 @@ info->file is a pipe or socket or FIFO. We never should have tried to seek on that. See Bugs#25807 and #22828 for more info. */ - DBUG_ASSERT(my_errno() != ESPIPE); + assert(my_errno() != ESPIPE); info->error= -1; DBUG_RETURN(1); } @@ -650,9 +650,9 @@ (long) read_cache, (long) cshare, (long) write_cache, num_threads)); - DBUG_ASSERT(num_threads > 1); - DBUG_ASSERT(read_cache->type == READ_CACHE); - DBUG_ASSERT(!write_cache || (write_cache->type == WRITE_CACHE)); + assert(num_threads > 1); + assert(read_cache->type == READ_CACHE); + assert(!write_cache || (write_cache->type == WRITE_CACHE)); mysql_mutex_init(key_IO_CACHE_SHARE_mutex, &cshare->mutex, MY_MUTEX_INIT_FAST); @@ -983,7 +983,7 @@ if ((left_length= (size_t) (cache->read_end - cache->read_pos))) { - DBUG_ASSERT(Count >= left_length); /* User is not using my_b_read() */ + assert(Count >= left_length); /* User is not using my_b_read() */ memcpy(Buffer, cache->read_pos, left_length); Buffer+= left_length; Count-= left_length; @@ -1009,7 +1009,7 @@ if (lock_io_cache(cache, pos_in_file)) { /* With a synchronized write/read cache we won't come here... */ - DBUG_ASSERT(!cshare->source_cache); + assert(!cshare->source_cache); /* ... unless the writer has gone before this thread entered the lock. Simulate EOF in this case. It can be distinguished by @@ -1106,7 +1106,7 @@ { IO_CACHE_SHARE *cshare= write_cache->share; - DBUG_ASSERT(cshare->source_cache == write_cache); + assert(cshare->source_cache == write_cache); /* write_length is usually less or equal to buffer_length. It can be bigger if _my_b_write() is called with a big length. @@ -1118,7 +1118,7 @@ rc= lock_io_cache(write_cache, write_cache->pos_in_file); /* The writing thread does always have the lock when it awakes. */ - DBUG_ASSERT(rc); + assert(rc); memcpy(cshare->buffer, write_buffer, copy_length); @@ -1157,7 +1157,7 @@ /* first, read the regular buffer */ if ((left_length=(size_t) (info->read_end-info->read_pos))) { - DBUG_ASSERT(Count > left_length); /* User is not using my_b_read() */ + assert(Count > left_length); /* User is not using my_b_read() */ memcpy(Buffer,info->read_pos, left_length); Buffer+=left_length; Count-=left_length; @@ -1239,7 +1239,7 @@ /* added the line below to make - DBUG_ASSERT(pos_in_file==info->end_of_file) pass. + assert(pos_in_file==info->end_of_file) pass. otherwise this does not appear to be needed */ pos_in_file += length; @@ -1266,11 +1266,11 @@ size_t copy_len; size_t transfer_len; - DBUG_ASSERT(info->append_read_pos <= info->write_pos); + assert(info->append_read_pos <= info->write_pos); /* TODO: figure out if the assert below is needed or correct. */ - DBUG_ASSERT(pos_in_file == info->end_of_file); + assert(pos_in_file == info->end_of_file); copy_len= MY_MIN(Count, len_in_buff); memcpy(Buffer, info->append_read_pos, copy_len); info->append_read_pos += copy_len; @@ -1400,7 +1400,7 @@ Assert that we cannot come here with a shared cache. If we do one day, we might need to add a call to copy_to_read_buffer(). */ - DBUG_ASSERT(!info->share); + assert(!info->share); lock_append_buffer(info); rest_length= (size_t) (info->write_end - info->write_pos); @@ -1466,7 +1466,7 @@ Assert that we cannot come here with a shared cache. If we do one day, we might need to add a call to copy_to_read_buffer(). */ - DBUG_ASSERT(!info->share); + assert(!info->share); if (pos < info->pos_in_file) { @@ -1586,7 +1586,7 @@ else { info->end_of_file+=(info->write_pos-info->append_read_pos); - DBUG_ASSERT(info->end_of_file == mysql_file_tell(info->file, MYF(0))); + assert(info->end_of_file == mysql_file_tell(info->file, MYF(0))); } info->append_read_pos=info->write_pos=info->write_buffer; @@ -1627,7 +1627,7 @@ Every thread must call remove_io_thread(). The last one destroys the share elements. */ - DBUG_ASSERT(!info->share || !info->share->total_threads); + assert(!info->share || !info->share->total_threads); if ((pre_close=info->pre_close)) { diff -Nru mysql-5.7-5.7.33/mysys/mf_keycache.c mysql-5.7-5.7.34/mysys/mf_keycache.c --- mysql-5.7-5.7.33/mysys/mf_keycache.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_keycache.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -225,7 +225,7 @@ #define HASH_LINK_NUMBER(h) \ ((uint) (((char*)(h)-(char *) keycache->hash_link_root)/sizeof(HASH_LINK))) -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) static int fail_block(BLOCK_LINK *block); static int fail_hlink(HASH_LINK *hlink); static int cache_empty(KEY_CACHE *keycache); @@ -270,7 +270,7 @@ size_t length; int error; DBUG_ENTER("init_key_cache"); - DBUG_ASSERT(key_cache_block_size >= 512); + assert(key_cache_block_size >= 512); if (keycache->key_cache_inited && keycache->disk_blocks > 0) { @@ -510,7 +510,7 @@ keycache->can_be_used= 0; goto finish; } - DBUG_ASSERT(cache_empty(keycache)); + assert(cache_empty(keycache)); /* End the flush phase. */ keycache->resize_in_flush= 0; @@ -688,7 +688,7 @@ { st_keycache_thread_var *last; - DBUG_ASSERT(!thread->next && !thread->prev); + assert(!thread->next && !thread->prev); if (! (last= wqueue->last_thread)) { /* Queue is empty */ @@ -719,7 +719,7 @@ static void unlink_from_queue(KEYCACHE_WQUEUE *wqueue, st_keycache_thread_var *thread) { - DBUG_ASSERT(thread->next && thread->prev); + assert(thread->next && thread->prev); if (thread->next == thread) /* The queue contains only one member */ wqueue->last_thread= NULL; @@ -732,10 +732,10 @@ thread->prev); } thread->next= NULL; -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) /* This makes it easier to see it's not in a chain during debugging. - And some DBUG_ASSERT() rely on it. + And some assert() rely on it. */ thread->prev= NULL; #endif @@ -773,8 +773,8 @@ st_keycache_thread_var *last; /* Add to queue. */ - DBUG_ASSERT(!thread->next); - DBUG_ASSERT(!thread->prev); /* Not required, but must be true anyway. */ + assert(!thread->next); + assert(!thread->prev); /* Not required, but must be true anyway. */ if (! (last= wqueue->last_thread)) thread->next= thread; else @@ -845,15 +845,15 @@ static inline void unlink_changed(BLOCK_LINK *block) { - DBUG_ASSERT(block->prev_changed && *block->prev_changed == block); + assert(block->prev_changed && *block->prev_changed == block); if (block->next_changed) block->next_changed->prev_changed= block->prev_changed; *block->prev_changed= block->next_changed; -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) /* This makes it easier to see it's not in a chain during debugging. - And some DBUG_ASSERT() rely on it. + And some assert() rely on it. */ block->next_changed= NULL; block->prev_changed= NULL; @@ -867,8 +867,8 @@ static inline void link_changed(BLOCK_LINK *block, BLOCK_LINK **phead) { - DBUG_ASSERT(!block->next_changed); - DBUG_ASSERT(!block->prev_changed); + assert(!block->next_changed); + assert(!block->prev_changed); block->prev_changed= phead; if ((block->next_changed= *phead)) (*phead)->prev_changed= &block->next_changed; @@ -905,9 +905,9 @@ BLOCK_LINK *block, int file, my_bool unlink_block) { - DBUG_ASSERT(block->status & BLOCK_IN_USE); - DBUG_ASSERT(block->hash_link && block->hash_link->block == block); - DBUG_ASSERT(block->hash_link->file == file); + assert(block->status & BLOCK_IN_USE); + assert(block->hash_link && block->hash_link->block == block); + assert(block->hash_link->file == file); if (unlink_block) unlink_changed(block); link_changed(block, &keycache->file_blocks[FILE_HASH(file)]); @@ -945,9 +945,9 @@ static void link_to_changed_list(KEY_CACHE *keycache, BLOCK_LINK *block) { - DBUG_ASSERT(block->status & BLOCK_IN_USE); - DBUG_ASSERT(!(block->status & BLOCK_CHANGED)); - DBUG_ASSERT(block->hash_link && block->hash_link->block == block); + assert(block->status & BLOCK_IN_USE); + assert(!(block->status & BLOCK_CHANGED)); + assert(block->hash_link && block->hash_link->block == block); unlink_changed(block); link_changed(block, @@ -1003,12 +1003,12 @@ BLOCK_LINK *ins; BLOCK_LINK **pins; - DBUG_ASSERT((block->status & ~BLOCK_CHANGED) == (BLOCK_READ | BLOCK_IN_USE)); - DBUG_ASSERT(block->hash_link); /*backptr to block NULL from free_block()*/ - DBUG_ASSERT(!block->requests); - DBUG_ASSERT(block->prev_changed && *block->prev_changed == block); - DBUG_ASSERT(!block->next_used); - DBUG_ASSERT(!block->prev_used); + assert((block->status & ~BLOCK_CHANGED) == (BLOCK_READ | BLOCK_IN_USE)); + assert(block->hash_link); /*backptr to block NULL from free_block()*/ + assert(!block->requests); + assert(block->prev_changed && *block->prev_changed == block); + assert(!block->next_used); + assert(!block->prev_used); if (!hot && keycache->waiting_for_block.last_thread) { @@ -1079,8 +1079,8 @@ keycache->used_last= keycache->used_ins= block->next_used= block; block->prev_used= &block->next_used; } - DBUG_ASSERT((ulong) keycache->blocks_available <= - keycache->blocks_used); + assert((ulong) keycache->blocks_available <= + keycache->blocks_used); } @@ -1101,13 +1101,13 @@ static void unlink_block(KEY_CACHE *keycache, BLOCK_LINK *block) { - DBUG_ASSERT((block->status & ~BLOCK_CHANGED) == (BLOCK_READ | BLOCK_IN_USE)); - DBUG_ASSERT(block->hash_link); /*backptr to block NULL from free_block()*/ - DBUG_ASSERT(!block->requests); - DBUG_ASSERT(block->prev_changed && *block->prev_changed == block); - DBUG_ASSERT(block->next_used && block->prev_used && - (block->next_used->prev_used == &block->next_used) && - (*block->prev_used == block)); + assert((block->status & ~BLOCK_CHANGED) == (BLOCK_READ | BLOCK_IN_USE)); + assert(block->hash_link); /*backptr to block NULL from free_block()*/ + assert(!block->requests); + assert(block->prev_changed && *block->prev_changed == block); + assert(block->next_used && block->prev_used && + (block->next_used->prev_used == &block->next_used) && + (*block->prev_used == block)); if (block->next_used == block) /* The list contains only one member */ keycache->used_last= keycache->used_ins= NULL; @@ -1121,10 +1121,10 @@ keycache->used_ins=STRUCT_PTR(BLOCK_LINK, next_used, block->prev_used); } block->next_used= NULL; -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) /* This makes it easier to see it's not in a chain during debugging. - And some DBUG_ASSERT() rely on it. + And some assert() rely on it. */ block->prev_used= NULL; #endif @@ -1149,8 +1149,8 @@ */ static void reg_requests(KEY_CACHE *keycache, BLOCK_LINK *block, int count) { - DBUG_ASSERT(block->status & BLOCK_IN_USE); - DBUG_ASSERT(block->hash_link); + assert(block->status & BLOCK_IN_USE); + assert(block->hash_link); if (!block->requests) unlink_block(keycache, block); @@ -1193,12 +1193,12 @@ static void unreg_request(KEY_CACHE *keycache, BLOCK_LINK *block, int at_end) { - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); - DBUG_ASSERT(block->hash_link); /*backptr to block NULL from free_block()*/ - DBUG_ASSERT(block->requests); - DBUG_ASSERT(block->prev_changed && *block->prev_changed == block); - DBUG_ASSERT(!block->next_used); - DBUG_ASSERT(!block->prev_used); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(block->hash_link); /*backptr to block NULL from free_block()*/ + assert(block->requests); + assert(block->prev_changed && *block->prev_changed == block); + assert(!block->next_used); + assert(!block->prev_used); /* Unregister the request, but do not link erroneous blocks into the LRU ring. @@ -1255,12 +1255,12 @@ static void remove_reader(BLOCK_LINK *block) { - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); - DBUG_ASSERT(block->hash_link && block->hash_link->block == block); - DBUG_ASSERT(block->prev_changed && *block->prev_changed == block); - DBUG_ASSERT(!block->next_used); - DBUG_ASSERT(!block->prev_used); - DBUG_ASSERT(block->hash_link->requests); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(block->hash_link && block->hash_link->block == block); + assert(block->prev_changed && *block->prev_changed == block); + assert(!block->next_used); + assert(!block->prev_used); + assert(block->hash_link->requests); if (! --block->hash_link->requests && block->condvar) mysql_cond_signal(block->condvar); @@ -1276,19 +1276,19 @@ BLOCK_LINK *block, st_keycache_thread_var *thread) { - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); - DBUG_ASSERT(!(block->status & (BLOCK_IN_FLUSH | BLOCK_CHANGED))); - DBUG_ASSERT(block->hash_link); - DBUG_ASSERT(block->hash_link->block == block); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(!(block->status & (BLOCK_IN_FLUSH | BLOCK_CHANGED))); + assert(block->hash_link); + assert(block->hash_link->block == block); /* Linked in file_blocks or changed_blocks hash. */ - DBUG_ASSERT(block->prev_changed && *block->prev_changed == block); + assert(block->prev_changed && *block->prev_changed == block); /* Not linked in LRU ring. */ - DBUG_ASSERT(!block->next_used); - DBUG_ASSERT(!block->prev_used); + assert(!block->next_used); + assert(!block->prev_used); while (block->hash_link->requests) { /* There must be no other waiter. We have no queue here. */ - DBUG_ASSERT(!block->condvar); + assert(!block->condvar); block->condvar= &thread->suspend; mysql_cond_wait(&thread->suspend, &keycache->cache_lock); block->condvar= NULL; @@ -1316,7 +1316,7 @@ static void unlink_hash(KEY_CACHE *keycache, HASH_LINK *hash_link) { - DBUG_ASSERT(hash_link->requests == 0); + assert(hash_link->requests == 0); if ((*hash_link->prev= hash_link->next)) hash_link->next->prev= hash_link->prev; hash_link->block= NULL; @@ -1369,7 +1369,7 @@ st_keycache_thread_var *thread) { HASH_LINK *hash_link, **start; -#ifndef DBUG_OFF +#ifndef NDEBUG int cnt; #endif @@ -1380,7 +1380,7 @@ hash_link points to the first member of the list */ hash_link= *(start= &keycache->hash_root[KEYCACHE_HASH(file, filepos)]); -#ifndef DBUG_OFF +#ifndef NDEBUG cnt= 0; #endif /* Look for an element for the pair (file, filepos) in the bucket chain */ @@ -1388,9 +1388,9 @@ (hash_link->diskpos != filepos || hash_link->file != file)) { hash_link= hash_link->next; -#ifndef DBUG_OFF +#ifndef NDEBUG cnt++; - DBUG_ASSERT(cnt <= keycache->hash_links_used); + assert(cnt <= keycache->hash_links_used); #endif } if (! hash_link) @@ -1513,7 +1513,7 @@ - not changed (clean). */ hash_link= get_hash_link(keycache, file, filepos, thread); - DBUG_ASSERT((hash_link->file == file) && (hash_link->diskpos == filepos)); + assert((hash_link->file == file) && (hash_link->diskpos == filepos)); page_status= -1; if ((block= hash_link->block) && @@ -1614,10 +1614,10 @@ only. Waiting here on COND_FOR_REQUESTED works in all situations. */ - DBUG_ASSERT(((block->hash_link != hash_link) && - (block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH))) || - ((block->hash_link == hash_link) && - !(block->status & BLOCK_READ))); + assert(((block->hash_link != hash_link) && + (block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH))) || + ((block->hash_link == hash_link) && + !(block->status & BLOCK_READ))); wait_on_queue(&block->wqueue[COND_FOR_REQUESTED], &keycache->cache_lock, thread); /* @@ -1630,9 +1630,9 @@ again in eviction because we registered an request on it before starting to wait. */ - DBUG_ASSERT(block->hash_link == hash_link); - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); - DBUG_ASSERT(!(block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH))); + assert(block->hash_link == hash_link); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(!(block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH))); } /* The block is in the cache. Assigned to the hash_link. Valid data. @@ -1644,9 +1644,9 @@ { /* A reader can just read the block. */ *page_st= PAGE_READ; - DBUG_ASSERT((hash_link->file == file) && - (hash_link->diskpos == filepos) && - (block->hash_link == hash_link)); + assert((hash_link->file == file) && + (hash_link->diskpos == filepos) && + (block->hash_link == hash_link)); DBUG_RETURN(block); } @@ -1654,7 +1654,7 @@ This is a writer. No two writers for the same block can exist. This must be assured by locks outside of the key cache. */ - DBUG_ASSERT(!(block->status & BLOCK_FOR_UPDATE) || fail_block(block)); + assert(!(block->status & BLOCK_FOR_UPDATE) || fail_block(block)); while (block->status & BLOCK_IN_FLUSH) { @@ -1679,9 +1679,9 @@ unreg_request(keycache, block, 1); goto restart; } - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); - DBUG_ASSERT(!(block->status & BLOCK_FOR_UPDATE) || fail_block(block)); - DBUG_ASSERT(block->hash_link == hash_link); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(!(block->status & BLOCK_FOR_UPDATE) || fail_block(block)); + assert(block->hash_link == hash_link); } if (block->status & BLOCK_CHANGED) @@ -1694,9 +1694,9 @@ not yet been selected for flush, we can still add our changes. */ *page_st= PAGE_READ; - DBUG_ASSERT((hash_link->file == file) && - (hash_link->diskpos == filepos) && - (block->hash_link == hash_link)); + assert((hash_link->file == file) && + (hash_link->diskpos == filepos) && + (block->hash_link == hash_link)); DBUG_RETURN(block); } @@ -1810,7 +1810,7 @@ as soon as possible. Again we must wait so that we don't find the same hash_link + block again and again. */ - DBUG_ASSERT(hash_link->requests); + assert(hash_link->requests); hash_link->requests--; wait_on_queue(&block->wqueue[COND_FOR_SAVED], &keycache->cache_lock, thread); @@ -1849,8 +1849,8 @@ { size_t block_mem_offset; /* There are some never used blocks, take first of them */ - DBUG_ASSERT(keycache->blocks_used < - (ulong) keycache->disk_blocks); + assert(keycache->blocks_used < + (ulong) keycache->disk_blocks); block= &keycache->block_root[keycache->blocks_used]; block_mem_offset= ((size_t) keycache->blocks_used) * keycache->key_cache_block_size; @@ -1858,14 +1858,14 @@ block_mem_offset, uchar*); keycache->blocks_used++; - DBUG_ASSERT(!block->next_used); + assert(!block->next_used); } - DBUG_ASSERT(!block->prev_used); - DBUG_ASSERT(!block->next_changed); - DBUG_ASSERT(!block->prev_changed); - DBUG_ASSERT(!block->hash_link); - DBUG_ASSERT(!block->status); - DBUG_ASSERT(!block->requests); + assert(!block->prev_used); + assert(!block->next_changed); + assert(!block->prev_changed); + assert(!block->hash_link); + assert(!block->status); + assert(!block->requests); keycache->blocks_unused--; block->status= BLOCK_IN_USE; block->length= 0; @@ -1910,10 +1910,10 @@ while (thread->next); thread->opt_info= NULL; /* Assert that block has a request registered. */ - DBUG_ASSERT(hash_link->block->requests); + assert(hash_link->block->requests); /* Assert that block is not in LRU ring. */ - DBUG_ASSERT(!hash_link->block->next_used); - DBUG_ASSERT(!hash_link->block->prev_used); + assert(!hash_link->block->next_used); + assert(!hash_link->block->prev_used); } /* @@ -1933,7 +1933,7 @@ Register a request on the block. This unlinks it from the LRU ring and protects it against eviction. */ - DBUG_ASSERT(!block->requests); + assert(!block->requests); reg_requests(keycache, block,1); /* We do not need to set block->status|= BLOCK_IN_EVICTION here @@ -1976,10 +1976,10 @@ The block is marked BLOCK_IN_SWITCH. It should be left alone except for reading. No free, no write. */ - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); - DBUG_ASSERT(!(block->status & (BLOCK_REASSIGNED | - BLOCK_CHANGED | - BLOCK_FOR_UPDATE))); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(!(block->status & (BLOCK_REASSIGNED | + BLOCK_CHANGED | + BLOCK_FOR_UPDATE))); } else { @@ -1988,11 +1988,11 @@ BLOCK_IN_EVICTION may be true or not. Other flags must have a fixed value. */ - DBUG_ASSERT((block->status & ~BLOCK_IN_EVICTION) == - (BLOCK_READ | BLOCK_IN_SWITCH | - BLOCK_IN_FLUSH | BLOCK_IN_FLUSHWRITE | - BLOCK_CHANGED | BLOCK_IN_USE)); - DBUG_ASSERT(block->hash_link); + assert((block->status & ~BLOCK_IN_EVICTION) == + (BLOCK_READ | BLOCK_IN_SWITCH | + BLOCK_IN_FLUSH | BLOCK_IN_FLUSHWRITE | + BLOCK_CHANGED | BLOCK_IN_USE)); + assert(block->hash_link); mysql_mutex_unlock(&keycache->cache_lock); /* @@ -2007,10 +2007,10 @@ mysql_mutex_lock(&keycache->cache_lock); /* Block status must not have changed. */ - DBUG_ASSERT((block->status & ~BLOCK_IN_EVICTION) == - (BLOCK_READ | BLOCK_IN_SWITCH | - BLOCK_IN_FLUSH | BLOCK_IN_FLUSHWRITE | - BLOCK_CHANGED | BLOCK_IN_USE) || fail_block(block)); + assert((block->status & ~BLOCK_IN_EVICTION) == + (BLOCK_READ | BLOCK_IN_SWITCH | + BLOCK_IN_FLUSH | BLOCK_IN_FLUSHWRITE | + BLOCK_CHANGED | BLOCK_IN_USE) || fail_block(block)); keycache->global_cache_write++; } } @@ -2020,7 +2020,7 @@ The block comes from the LRU ring. It must have a hash_link assigned. */ - DBUG_ASSERT(block->hash_link); + assert(block->hash_link); if (block->hash_link) { /* @@ -2047,10 +2047,10 @@ a page in the cache in a sweep, without yielding control) */ wait_for_readers(keycache, block, thread); - DBUG_ASSERT(block->hash_link && block->hash_link->block == block && - block->prev_changed); + assert(block->hash_link && block->hash_link->block == block && + block->prev_changed); /* The reader must not have been a writer. */ - DBUG_ASSERT(!(block->status & BLOCK_CHANGED)); + assert(!(block->status & BLOCK_CHANGED)); /* Wake flushers that might have found the block in between. */ release_whole_queue(&block->wqueue[COND_FOR_SAVED]); @@ -2074,8 +2074,8 @@ link_to_file_list(keycache, block, file, 0); page_status= PAGE_TO_BE_READ; - DBUG_ASSERT(block->hash_link->block == block); - DBUG_ASSERT(hash_link->block->hash_link == hash_link); + assert(block->hash_link->block == block); + assert(hash_link->block->hash_link == hash_link); } else { @@ -2121,12 +2121,12 @@ Register a request on the block. This is another protection against eviction. */ - DBUG_ASSERT(((block->hash_link != hash_link) && - (block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH))) || - ((block->hash_link == hash_link) && - !(block->status & BLOCK_READ)) || - ((block->status & BLOCK_READ) && - !(block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH)))); + assert(((block->hash_link != hash_link) && + (block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH))) || + ((block->hash_link == hash_link) && + !(block->status & BLOCK_READ)) || + ((block->status & BLOCK_READ) && + !(block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH)))); reg_requests(keycache, block, 1); page_status= (((block->hash_link == hash_link) && (block->status & BLOCK_READ)) ? @@ -2134,17 +2134,17 @@ } } - DBUG_ASSERT(page_status != -1); + assert(page_status != -1); /* Same assert basically, but be very sure. */ - DBUG_ASSERT(block); + assert(block); /* Assert that block has a request and is not in LRU ring. */ - DBUG_ASSERT(block->requests); - DBUG_ASSERT(!block->next_used); - DBUG_ASSERT(!block->prev_used); + assert(block->requests); + assert(!block->next_used); + assert(!block->prev_used); /* Assert that we return the correct block. */ - DBUG_ASSERT((page_status == PAGE_WAIT_TO_BE_READ) || - ((block->hash_link->file == file) && - (block->hash_link->diskpos == filepos))); + assert((page_status == PAGE_WAIT_TO_BE_READ) || + ((block->hash_link->file == file) && + (block->hash_link->diskpos == filepos))); *page_st=page_status; DBUG_RETURN(block); } @@ -2192,12 +2192,12 @@ request for the block become secondary requests. For a primary request the block must be properly initialized. */ - DBUG_ASSERT(((block->status & ~BLOCK_FOR_UPDATE) == BLOCK_IN_USE) || - fail_block(block)); - DBUG_ASSERT((block->length == 0) || fail_block(block)); - DBUG_ASSERT((block->offset == keycache->key_cache_block_size) || - fail_block(block)); - DBUG_ASSERT((block->requests > 0) || fail_block(block)); + assert(((block->status & ~BLOCK_FOR_UPDATE) == BLOCK_IN_USE) || + fail_block(block)); + assert((block->length == 0) || fail_block(block)); + assert((block->offset == keycache->key_cache_block_size) || + fail_block(block)); + assert((block->requests > 0) || fail_block(block)); keycache->global_cache_read++; /* Page is not in buffer yet, is to be read from disk */ @@ -2213,13 +2213,13 @@ The block can now have been marked for free (in case of FLUSH_RELEASE). Otherwise the state must be unchanged. */ - DBUG_ASSERT(((block->status & ~(BLOCK_REASSIGNED | - BLOCK_FOR_UPDATE)) == BLOCK_IN_USE) || - fail_block(block)); - DBUG_ASSERT((block->length == 0) || fail_block(block)); - DBUG_ASSERT((block->offset == keycache->key_cache_block_size) || - fail_block(block)); - DBUG_ASSERT((block->requests > 0) || fail_block(block)); + assert(((block->status & ~(BLOCK_REASSIGNED | + BLOCK_FOR_UPDATE)) == BLOCK_IN_USE) || + fail_block(block)); + assert((block->length == 0) || fail_block(block)); + assert((block->offset == keycache->key_cache_block_size) || + fail_block(block)); + assert((block->requests > 0) || fail_block(block)); if (got_length < min_length) block->status|= BLOCK_ERROR; @@ -2356,7 +2356,7 @@ /* Do not read beyond the end of the cache block. */ read_length= length; set_if_smaller(read_length, keycache->key_cache_block_size-offset); - DBUG_ASSERT(read_length > 0); + assert(read_length > 0); if (block_length > keycache->key_cache_block_size || offset) return_buffer=0; @@ -2396,10 +2396,10 @@ requested file block. It does not hurt to check it for primary requests too. */ - DBUG_ASSERT(keycache->can_be_used); - DBUG_ASSERT(block->hash_link->file == file); - DBUG_ASSERT(block->hash_link->diskpos == filepos); - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(keycache->can_be_used); + assert(block->hash_link->file == file); + assert(block->hash_link->diskpos == filepos); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); } else if (block->length < read_length + offset) { @@ -2421,14 +2421,14 @@ if (!(block->status & BLOCK_ERROR)) { { - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); mysql_mutex_unlock(&keycache->cache_lock); /* Copy data from the cache buffer */ memcpy(buff, block->buffer+offset, (size_t) read_length); mysql_mutex_lock(&keycache->cache_lock); - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); } } @@ -2563,7 +2563,7 @@ /* Do not load beyond the end of the cache block. */ read_length= length; set_if_smaller(read_length, keycache->key_cache_block_size-offset); - DBUG_ASSERT(read_length > 0); + assert(read_length > 0); /* The block has been read by the caller already. */ keycache->global_cache_read++; @@ -2621,10 +2621,10 @@ requested file block. It does not hurt to check it for primary requests too. */ - DBUG_ASSERT(keycache->can_be_used); - DBUG_ASSERT(block->hash_link->file == file); - DBUG_ASSERT(block->hash_link->diskpos == filepos); - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(keycache->can_be_used); + assert(block->hash_link->file == file); + assert(block->hash_link->diskpos == filepos); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); } else if (page_st == PAGE_TO_BE_READ) { @@ -2632,10 +2632,10 @@ This is a new block in the cache. If we come here, we have data for the whole block. */ - DBUG_ASSERT(block->hash_link->requests); - DBUG_ASSERT(block->status & BLOCK_IN_USE); - DBUG_ASSERT((page_st == PAGE_TO_BE_READ) || - (block->status & BLOCK_READ)); + assert(block->hash_link->requests); + assert(block->status & BLOCK_IN_USE); + assert((page_st == PAGE_TO_BE_READ) || + (block->status & BLOCK_READ)); mysql_mutex_unlock(&keycache->cache_lock); /* @@ -2647,9 +2647,9 @@ memcpy(block->buffer+offset, buff, (size_t) read_length); mysql_mutex_lock(&keycache->cache_lock); - DBUG_ASSERT(block->status & BLOCK_IN_USE); - DBUG_ASSERT((page_st == PAGE_TO_BE_READ) || - (block->status & BLOCK_READ)); + assert(block->status & BLOCK_IN_USE); + assert((page_st == PAGE_TO_BE_READ) || + (block->status & BLOCK_READ)); /* After the data is in the buffer, we can declare the block valid. Now other threads do not need to register as @@ -2679,8 +2679,8 @@ with the new data. If the condition is met, we can simply ignore the block. */ - DBUG_ASSERT((page_st == PAGE_READ) && - (read_length + offset <= block->length)); + assert((page_st == PAGE_READ) && + (read_length + offset <= block->length)); } /* @@ -2688,9 +2688,9 @@ requested file block. It does not hurt to check it for primary requests too. */ - DBUG_ASSERT(block->hash_link->file == file); - DBUG_ASSERT(block->hash_link->diskpos == filepos); - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(block->hash_link->file == file); + assert(block->hash_link->diskpos == filepos); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); } /* end of if (!(block->status & BLOCK_ERROR)) */ remove_reader(block); @@ -2848,7 +2848,7 @@ /* Do not write beyond the end of the cache block. */ read_length= length; set_if_smaller(read_length, keycache->key_cache_block_size-offset); - DBUG_ASSERT(read_length > 0); + assert(read_length > 0); /* Request the cache block that matches file/pos. */ keycache->global_cache_w_requests++; @@ -2902,8 +2902,8 @@ offset + read_length >= keycache->key_cache_block_size? offset : keycache->key_cache_block_size, offset, (page_st == PAGE_TO_BE_READ)); - DBUG_ASSERT(keycache->can_be_used); - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(keycache->can_be_used); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); /* Prevent block from flushing and from being selected for to be freed. This must be set when we release the cache_lock. @@ -2915,10 +2915,10 @@ The block should always be assigned to the requested file block here. It need not be BLOCK_READ when overwriting the whole block. */ - DBUG_ASSERT(block->hash_link->file == file); - DBUG_ASSERT(block->hash_link->diskpos == filepos); - DBUG_ASSERT(block->status & BLOCK_IN_USE); - DBUG_ASSERT((page_st == PAGE_TO_BE_READ) || (block->status & BLOCK_READ)); + assert(block->hash_link->file == file); + assert(block->hash_link->diskpos == filepos); + assert(block->status & BLOCK_IN_USE); + assert((page_st == PAGE_TO_BE_READ) || (block->status & BLOCK_READ)); /* The block to be written must not be marked BLOCK_REASSIGNED. Otherwise it could be freed in dirty state or reused without @@ -2927,7 +2927,7 @@ the flusher could clear BLOCK_CHANGED without flushing the new changes again. */ - DBUG_ASSERT(!(block->status & BLOCK_REASSIGNED)); + assert(!(block->status & BLOCK_REASSIGNED)); while (block->status & BLOCK_IN_FLUSHWRITE) { @@ -2942,11 +2942,11 @@ */ wait_on_queue(&block->wqueue[COND_FOR_SAVED], &keycache->cache_lock, thread_var); - DBUG_ASSERT(keycache->can_be_used); - DBUG_ASSERT(block->status & (BLOCK_READ | BLOCK_IN_USE)); + assert(keycache->can_be_used); + assert(block->status & (BLOCK_READ | BLOCK_IN_USE)); /* Still must not be marked for free. */ - DBUG_ASSERT(!(block->status & BLOCK_REASSIGNED)); - DBUG_ASSERT(block->hash_link && (block->hash_link->block == block)); + assert(!(block->status & BLOCK_REASSIGNED)); + assert(block->hash_link && (block->hash_link->block == block)); } /* @@ -3103,24 +3103,24 @@ is registered in the hash_link and free_block() will wait for it below. */ - DBUG_ASSERT((block->status & BLOCK_IN_USE) && - !(block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH | - BLOCK_REASSIGNED | BLOCK_IN_FLUSH | - BLOCK_CHANGED | BLOCK_FOR_UPDATE))); + assert((block->status & BLOCK_IN_USE) && + !(block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH | + BLOCK_REASSIGNED | BLOCK_IN_FLUSH | + BLOCK_CHANGED | BLOCK_FOR_UPDATE))); /* Assert that the block is in a file_blocks chain. */ - DBUG_ASSERT(block->prev_changed && *block->prev_changed == block); + assert(block->prev_changed && *block->prev_changed == block); /* Assert that the block is not in the LRU ring. */ - DBUG_ASSERT(!block->next_used && !block->prev_used); + assert(!block->next_used && !block->prev_used); /* IMHO the below condition (if()) makes no sense. I can't see how it could be possible that free_block() is entered with a NULL hash_link pointer. The only place where it can become NULL is in free_block() (or before its first use ever, but for those blocks free_block() is not called). I don't remove the conditional as it cannot harm, but - place an DBUG_ASSERT to confirm my hypothesis. Eventually the + place an assert to confirm my hypothesis. Eventually the condition (if()) can be removed. */ - DBUG_ASSERT(block->hash_link && block->hash_link->block == block); + assert(block->hash_link && block->hash_link->block == block); if (block->hash_link) { /* @@ -3136,14 +3136,14 @@ checks. An additional requirement is that it must be read now (BLOCK_READ). */ - DBUG_ASSERT(block->hash_link && block->hash_link->block == block); - DBUG_ASSERT((block->status & (BLOCK_READ | BLOCK_IN_USE | - BLOCK_REASSIGNED)) && - !(block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH | - BLOCK_IN_FLUSH | BLOCK_CHANGED | - BLOCK_FOR_UPDATE))); - DBUG_ASSERT(block->prev_changed && *block->prev_changed == block); - DBUG_ASSERT(!block->prev_used); + assert(block->hash_link && block->hash_link->block == block); + assert((block->status & (BLOCK_READ | BLOCK_IN_USE | + BLOCK_REASSIGNED)) && + !(block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH | + BLOCK_IN_FLUSH | BLOCK_CHANGED | + BLOCK_FOR_UPDATE))); + assert(block->prev_changed && *block->prev_changed == block); + assert(!block->prev_used); /* Unset BLOCK_REASSIGNED again. If we hand the block to an evicting thread (through unreg_request() below), other threads must not see @@ -3166,7 +3166,7 @@ operation in this case. Assert that there are no other requests registered. */ - DBUG_ASSERT(block->requests == 1); + assert(block->requests == 1); unreg_request(keycache, block, 0); /* Note that even without releasing the cache lock it is possible that @@ -3181,8 +3181,8 @@ if (!(block->status & BLOCK_ERROR)) { /* Here the block must be in the LRU ring. Unlink it again. */ - DBUG_ASSERT(block->next_used && block->prev_used && - *block->prev_used == block); + assert(block->next_used && block->prev_used && + *block->prev_used == block); unlink_block(keycache, block); } if (block->temperature == BLOCK_WARM) @@ -3201,9 +3201,9 @@ block->offset= keycache->key_cache_block_size; /* Enforced by unlink_changed(), but just to be sure. */ - DBUG_ASSERT(!block->next_changed && !block->prev_changed); + assert(!block->next_changed && !block->prev_changed); /* Enforced by unlink_block(): not in LRU ring nor in free_block_list. */ - DBUG_ASSERT(!block->next_used && !block->prev_used); + assert(!block->next_used && !block->prev_used); /* Insert the free block in the free list. */ block->next_used= keycache->free_block_list; keycache->free_block_list= block; @@ -3263,11 +3263,11 @@ if (!(block->status & BLOCK_FOR_UPDATE)) { /* Blocks coming here must have a certain status. */ - DBUG_ASSERT(block->hash_link); - DBUG_ASSERT(block->hash_link->block == block); - DBUG_ASSERT(block->hash_link->file == file); - DBUG_ASSERT((block->status & ~BLOCK_IN_EVICTION) == - (BLOCK_READ | BLOCK_IN_FLUSH | BLOCK_CHANGED | BLOCK_IN_USE)); + assert(block->hash_link); + assert(block->hash_link->block == block); + assert(block->hash_link->file == file); + assert((block->status & ~BLOCK_IN_EVICTION) == + (BLOCK_READ | BLOCK_IN_FLUSH | BLOCK_CHANGED | BLOCK_IN_USE)); block->status|= BLOCK_IN_FLUSHWRITE; mysql_mutex_unlock(&keycache->cache_lock); error= (int)my_pwrite(file, block->buffer+block->offset, @@ -3284,11 +3284,11 @@ } block->status&= ~BLOCK_IN_FLUSHWRITE; /* Block must not have changed status except BLOCK_FOR_UPDATE. */ - DBUG_ASSERT(block->hash_link); - DBUG_ASSERT(block->hash_link->block == block); - DBUG_ASSERT(block->hash_link->file == file); - DBUG_ASSERT((block->status & ~(BLOCK_FOR_UPDATE | BLOCK_IN_EVICTION)) == - (BLOCK_READ | BLOCK_IN_FLUSH | BLOCK_CHANGED | BLOCK_IN_USE)); + assert(block->hash_link); + assert(block->hash_link->block == block); + assert(block->hash_link->file == file); + assert((block->status & ~(BLOCK_FOR_UPDATE | BLOCK_IN_EVICTION)) == + (BLOCK_READ | BLOCK_IN_FLUSH | BLOCK_CHANGED | BLOCK_IN_USE)); /* Set correct status and link in right queue for free or later use. free_block() must not see BLOCK_CHANGED and it may need to wait @@ -3377,7 +3377,7 @@ BLOCK_LINK *last_in_flush; BLOCK_LINK *last_for_update; BLOCK_LINK *block, *next; -#ifndef DBUG_OFF +#ifndef NDEBUG uint cnt=0; #endif @@ -3396,7 +3396,7 @@ !(block->status & BLOCK_IN_FLUSH)) { count++; - DBUG_ASSERT(count<= keycache->blocks_used); + assert(count<= keycache->blocks_used); } } /* @@ -3426,9 +3426,9 @@ block ; block= next) { -#ifndef DBUG_OFF +#ifndef NDEBUG cnt++; - DBUG_ASSERT(cnt <= keycache->blocks_used); + assert(cnt <= keycache->blocks_used); #endif next= block->next_changed; if (block->hash_link->file == file) @@ -3493,7 +3493,7 @@ else { /* It's a temporary file */ - DBUG_ASSERT(!(block->status & BLOCK_REASSIGNED)); + assert(!(block->status & BLOCK_REASSIGNED)); /* free_block() must not be called with BLOCK_CHANGED. Note that we must not change the BLOCK_CHANGED flag outside of @@ -3614,14 +3614,14 @@ */ while (first_in_switch) { -#ifndef DBUG_OFF +#ifndef NDEBUG cnt= 0; #endif wait_on_queue(&first_in_switch->wqueue[COND_FOR_SAVED], &keycache->cache_lock, thread_var); -#ifndef DBUG_OFF +#ifndef NDEBUG cnt++; - DBUG_ASSERT(cnt <= keycache->blocks_used); + assert(cnt <= keycache->blocks_used); #endif /* Do not restart here. We have flushed all blocks that were @@ -3653,7 +3653,7 @@ next= block->next_changed; /* Changed blocks cannot appear in the file_blocks hash. */ - DBUG_ASSERT(!(block->status & BLOCK_CHANGED)); + assert(!(block->status & BLOCK_CHANGED)); if (block->hash_link->file == file) { /* We must skip blocks that will be changed. */ @@ -3679,7 +3679,7 @@ total_found++; found++; - DBUG_ASSERT(found <= keycache->blocks_used); + assert(found <= keycache->blocks_used); /* Register a request. This unlinks the block from the LRU @@ -3701,7 +3701,7 @@ next_hash_link= next->hash_link; next_diskpos= next_hash_link->diskpos; next_file= next_hash_link->file; - DBUG_ASSERT(next == next_hash_link->block); + assert(next == next_hash_link->block); } free_block(keycache, thread_var, block); @@ -3748,7 +3748,7 @@ if (last_for_update) { /* We did not wait. Block must not have changed status. */ - DBUG_ASSERT(last_for_update->status & BLOCK_FOR_UPDATE); + assert(last_for_update->status & BLOCK_FOR_UPDATE); wait_on_queue(&last_for_update->wqueue[COND_FOR_REQUESTED], &keycache->cache_lock, thread_var); goto restart; @@ -3761,9 +3761,9 @@ if (last_in_switch) { /* We did not wait. Block must not have changed status. */ - DBUG_ASSERT(last_in_switch->status & (BLOCK_IN_EVICTION | - BLOCK_IN_SWITCH | - BLOCK_REASSIGNED)); + assert(last_in_switch->status & (BLOCK_IN_EVICTION | + BLOCK_IN_SWITCH | + BLOCK_REASSIGNED)); wait_on_queue(&last_in_switch->wqueue[COND_FOR_SAVED], &keycache->cache_lock, thread_var); goto restart; @@ -3947,12 +3947,12 @@ */ } while (total_found); -#ifndef DBUG_OFF +#ifndef NDEBUG /* Now there should not exist any block any more. */ for (idx= 0; idx < CHANGED_BLOCKS_HASH; idx++) { - DBUG_ASSERT(!keycache->changed_blocks[idx]); - DBUG_ASSERT(!keycache->file_blocks[idx]); + assert(!keycache->changed_blocks[idx]); + assert(!keycache->file_blocks[idx]); } #endif @@ -3996,7 +3996,7 @@ } -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) #define F_B_PRT(_f_, _v_) DBUG_PRINT("assert_fail", (_f_, _v_)) static int fail_block(BLOCK_LINK *block) diff -Nru mysql-5.7-5.7.33/mysys/mf_keycaches.c mysql-5.7-5.7.34/mysys/mf_keycaches.c --- mysql-5.7-5.7.33/mysys/mf_keycaches.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_keycaches.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_loadpath.c mysql-5.7-5.7.34/mysys/mf_loadpath.c --- mysql-5.7-5.7.33/mysys/mf_loadpath.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_loadpath.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_pack.c mysql-5.7-5.7.34/mysys/mf_pack.c --- mysql-5.7-5.7.33/mysys/mf_pack.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_pack.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_path.c mysql-5.7-5.7.34/mysys/mf_path.c --- mysql-5.7-5.7.33/mysys/mf_path.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_path.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_qsort2.c mysql-5.7-5.7.34/mysys/mf_qsort2.c --- mysql-5.7-5.7.33/mysys/mf_qsort2.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_qsort2.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysys/mf_qsort.c mysql-5.7-5.7.34/mysys/mf_qsort.c --- mysql-5.7-5.7.33/mysys/mf_qsort.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_qsort.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_radix.c mysql-5.7-5.7.34/mysys/mf_radix.c --- mysql-5.7-5.7.33/mysys/mf_radix.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_radix.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_same.c mysql-5.7-5.7.34/mysys/mf_same.c --- mysql-5.7-5.7.33/mysys/mf_same.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_same.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_soundex.c mysql-5.7-5.7.34/mysys/mf_soundex.c --- mysql-5.7-5.7.33/mysys/mf_soundex.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_soundex.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_tempfile.c mysql-5.7-5.7.34/mysys/mf_tempfile.c --- mysql-5.7-5.7.33/mysys/mf_tempfile.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_tempfile.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_unixpath.c mysql-5.7-5.7.34/mysys/mf_unixpath.c --- mysql-5.7-5.7.33/mysys/mf_unixpath.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_unixpath.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mf_wcomp.c mysql-5.7-5.7.34/mysys/mf_wcomp.c --- mysql-5.7-5.7.33/mysys/mf_wcomp.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mf_wcomp.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mulalloc.c mysql-5.7-5.7.34/mysys/mulalloc.c --- mysql-5.7-5.7.33/mysys/mulalloc.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mulalloc.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_access.c mysql-5.7-5.7.34/mysys/my_access.c --- mysql-5.7-5.7.33/mysys/my_access.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_access.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_alloc.c mysql-5.7-5.7.34/mysys/my_alloc.c --- mysql-5.7-5.7.33/mysys/my_alloc.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_alloc.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -124,7 +124,7 @@ void reset_root_defaults(MEM_ROOT *mem_root, size_t block_size, size_t pre_alloc_size MY_ATTRIBUTE((unused))) { - DBUG_ASSERT(alloc_root_inited(mem_root)); + assert(alloc_root_inited(mem_root)); mem_root->block_size= block_size - ALLOC_ROOT_MIN_BLOCK_SIZE; #if defined(PREALLOCATE_MEMORY_CHUNKS) @@ -207,7 +207,7 @@ DBUG_ENTER("alloc_root"); DBUG_PRINT("enter",("root: 0x%lx", (long) mem_root)); - DBUG_ASSERT(alloc_root_inited(mem_root)); + assert(alloc_root_inited(mem_root)); DBUG_EXECUTE_IF("simulate_out_of_memory", { @@ -248,7 +248,7 @@ USED_MEM **prev; DBUG_ENTER("alloc_root"); DBUG_PRINT("enter",("root: 0x%lx", (long) mem_root)); - DBUG_ASSERT(alloc_root_inited(mem_root)); + assert(alloc_root_inited(mem_root)); DBUG_EXECUTE_IF("simulate_out_of_memory", { @@ -548,7 +548,7 @@ */ void set_memroot_max_capacity(MEM_ROOT *mem_root, size_t max_value) { - DBUG_ASSERT(alloc_root_inited(mem_root)); + assert(alloc_root_inited(mem_root)); mem_root->max_capacity= max_value; } @@ -563,7 +563,7 @@ */ void set_memroot_error_reporting(MEM_ROOT *mem_root, my_bool report_error) { - DBUG_ASSERT(alloc_root_inited(mem_root)); + assert(alloc_root_inited(mem_root)); mem_root->error_for_capacity_exceeded= report_error; } diff -Nru mysql-5.7-5.7.33/mysys/my_bit.c mysql-5.7-5.7.34/mysys/my_bit.c --- mysql-5.7-5.7.33/mysys/my_bit.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_bit.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_bitmap.c mysql-5.7-5.7.34/mysys/my_bitmap.c --- mysql-5.7-5.7.33/mysys/my_bitmap.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_bitmap.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -182,7 +182,7 @@ else { - DBUG_ASSERT(thread_safe == 0); + assert(thread_safe == 0); map->mutex= NULL; } @@ -249,7 +249,7 @@ my_bool bitmap_test_and_set(MY_BITMAP *map, uint bitmap_bit) { my_bool res; - DBUG_ASSERT(map->bitmap && bitmap_bit < map->n_bits); + assert(map->bitmap && bitmap_bit < map->n_bits); bitmap_lock(map); res= bitmap_fast_test_and_set(map, bitmap_bit); bitmap_unlock(map); @@ -282,7 +282,7 @@ my_bool bitmap_test_and_clear(MY_BITMAP *map, uint bitmap_bit) { my_bool res; - DBUG_ASSERT(map->bitmap && bitmap_bit < map->n_bits); + assert(map->bitmap && bitmap_bit < map->n_bits); bitmap_lock(map); res= bitmap_fast_test_and_clear(map, bitmap_bit); bitmap_unlock(map); @@ -293,7 +293,7 @@ uint bitmap_set_next(MY_BITMAP *map) { uint bit_found; - DBUG_ASSERT(map->bitmap); + assert(map->bitmap); if ((bit_found= bitmap_get_first(map)) != MY_BIT_NONE) bitmap_set_bit(map, bit_found); return bit_found; @@ -313,8 +313,8 @@ uint prefix_bytes, prefix_bits, d; uchar *m= (uchar *)map->bitmap; - DBUG_ASSERT(map->bitmap && - (prefix_size <= map->n_bits || prefix_size == (uint) ~0)); + assert(map->bitmap && + (prefix_size <= map->n_bits || prefix_size == (uint) ~0)); set_if_smaller(prefix_size, map->n_bits); if ((prefix_bytes= prefix_size / 8)) memset(m, 0xff, prefix_bytes); @@ -335,14 +335,14 @@ uint prefix_bits= prefix_size % 32; my_bitmap_map *word_ptr= map->bitmap, last_word; my_bitmap_map *end_prefix= word_ptr + prefix_size / 32; - DBUG_ASSERT(word_ptr && prefix_size <= map->n_bits); + assert(word_ptr && prefix_size <= map->n_bits); /* 1: Words that should be filled with 1 */ for (; word_ptr < end_prefix; word_ptr++) if (*word_ptr != 0xFFFFFFFF) return FALSE; - DBUG_ASSERT(map->n_bits > 0); + assert(map->n_bits > 0); last_word= *map->last_word_ptr & ~map->last_word_mask; /* 2: Word which contains the end of the prefix (if any) */ @@ -378,7 +378,7 @@ my_bitmap_map *data_ptr= map->bitmap; my_bitmap_map *end= map->last_word_ptr; - DBUG_ASSERT(map->n_bits > 0); + assert(map->n_bits > 0); for (; data_ptr < end; data_ptr++) if (*data_ptr != 0xFFFFFFFF) return FALSE; @@ -393,7 +393,7 @@ my_bitmap_map *data_ptr= map->bitmap; my_bitmap_map *end= map->last_word_ptr; - DBUG_ASSERT(map->n_bits > 0); + assert(map->n_bits > 0); for (; data_ptr < end; data_ptr++) if (*data_ptr) return FALSE; @@ -408,16 +408,16 @@ { my_bitmap_map *m1= map1->bitmap, *m2= map2->bitmap, *end; - DBUG_ASSERT(map1->bitmap && map2->bitmap && - map1->n_bits==map2->n_bits); + assert(map1->bitmap && map2->bitmap && + map1->n_bits==map2->n_bits); end= map1->last_word_ptr; for (; m1 < end; m1++, m2++) if (*m1 & ~(*m2)) return FALSE; - DBUG_ASSERT(map1->n_bits > 0); - DBUG_ASSERT(map2->n_bits > 0); + assert(map1->n_bits > 0); + assert(map2->n_bits > 0); if ((*map1->last_word_ptr & ~map1->last_word_mask) & ~(*map2->last_word_ptr & ~map2->last_word_mask)) @@ -431,11 +431,11 @@ { my_bitmap_map *m1= map1->bitmap, *m2= map2->bitmap, *end; - DBUG_ASSERT(map1->bitmap && map2->bitmap && - map1->n_bits==map2->n_bits); + assert(map1->bitmap && map2->bitmap && + map1->n_bits==map2->n_bits); - DBUG_ASSERT(map1->n_bits > 0); - DBUG_ASSERT(map2->n_bits > 0); + assert(map1->n_bits > 0); + assert(map2->n_bits > 0); end= map1->last_word_ptr; for (; m1 < end; m1++, m2++) @@ -454,7 +454,7 @@ my_bitmap_map *to= map->bitmap, *from= map2->bitmap, *end; uint len= no_words_in_map(map), len2 = no_words_in_map(map2); - DBUG_ASSERT(map->bitmap && map2->bitmap); + assert(map->bitmap && map2->bitmap); end= to + MY_MIN(len, len2); for (; to < end; to++, from++) @@ -506,9 +506,9 @@ void bitmap_subtract(MY_BITMAP *map, const MY_BITMAP *map2) { my_bitmap_map *to= map->bitmap, *from= map2->bitmap, *end; - DBUG_ASSERT(map->bitmap && map2->bitmap && - map->n_bits==map2->n_bits); - DBUG_ASSERT(map->n_bits > 0); + assert(map->bitmap && map2->bitmap && + map->n_bits==map2->n_bits); + assert(map->n_bits > 0); end= map->last_word_ptr; for (; to <= end; to++, from++) @@ -519,9 +519,9 @@ void bitmap_union(MY_BITMAP *map, const MY_BITMAP *map2) { my_bitmap_map *to= map->bitmap, *from= map2->bitmap, *end; - DBUG_ASSERT(map->bitmap && map2->bitmap && - map->n_bits==map2->n_bits); - DBUG_ASSERT(map->n_bits > 0); + assert(map->bitmap && map2->bitmap && + map->n_bits==map2->n_bits); + assert(map->n_bits > 0); end= map->last_word_ptr; for (; to <= end; to++, from++) @@ -532,9 +532,9 @@ void bitmap_xor(MY_BITMAP *map, const MY_BITMAP *map2) { my_bitmap_map *to= map->bitmap, *from= map2->bitmap, *end; - DBUG_ASSERT(map->bitmap && map2->bitmap && - map->n_bits==map2->n_bits); - DBUG_ASSERT(map->n_bits > 0); + assert(map->bitmap && map2->bitmap && + map->n_bits==map2->n_bits); + assert(map->n_bits > 0); end= map->last_word_ptr; for (; to <= end; to++, from++) @@ -545,8 +545,8 @@ void bitmap_invert(MY_BITMAP *map) { my_bitmap_map *to= map->bitmap, *end; - DBUG_ASSERT(map->bitmap); - DBUG_ASSERT(map->n_bits > 0); + assert(map->bitmap); + assert(map->n_bits > 0); end= map->last_word_ptr; for (; to <= end; to++) @@ -559,8 +559,8 @@ my_bitmap_map *data_ptr= map->bitmap; my_bitmap_map *end= map->last_word_ptr; uint res= 0; - DBUG_ASSERT(map->bitmap); - DBUG_ASSERT(map->n_bits > 0); + assert(map->bitmap); + assert(map->n_bits > 0); for (; data_ptr < end; data_ptr++) res+= my_count_bits_uint32(*data_ptr); @@ -574,9 +574,9 @@ void bitmap_copy(MY_BITMAP *map, const MY_BITMAP *map2) { my_bitmap_map *to= map->bitmap, *from= map2->bitmap, *end; - DBUG_ASSERT(map->bitmap && map2->bitmap && - map->n_bits==map2->n_bits); - DBUG_ASSERT(map->n_bits > 0); + assert(map->bitmap && map2->bitmap && + map->n_bits==map2->n_bits); + assert(map->n_bits > 0); end= map->last_word_ptr; for (; to <= end; to++, from++) @@ -589,8 +589,8 @@ uint word_pos; my_bitmap_map *data_ptr, *end= map->last_word_ptr; - DBUG_ASSERT(map->bitmap); - DBUG_ASSERT(map->n_bits > 0); + assert(map->bitmap); + assert(map->n_bits > 0); data_ptr= map->bitmap; for (word_pos=0; data_ptr < end; data_ptr++, word_pos++) @@ -617,8 +617,8 @@ unsigned char *ptr= (unsigned char*) &first_word; my_bitmap_map *data_ptr, *end= map->last_word_ptr; - DBUG_ASSERT(map->bitmap); - DBUG_ASSERT(map->n_bits > 0); + assert(map->bitmap); + assert(map->n_bits > 0); /* Look for the next bit */ bitmap_bit++; @@ -653,8 +653,8 @@ uint word_pos; my_bitmap_map *data_ptr, *end= map->last_word_ptr; - DBUG_ASSERT(map->bitmap); - DBUG_ASSERT(map->n_bits > 0); + assert(map->bitmap); + assert(map->n_bits > 0); data_ptr= map->bitmap; for (word_pos=0; data_ptr < end; data_ptr++, word_pos++) @@ -678,7 +678,7 @@ void bitmap_lock_clear_bit(MY_BITMAP *map, uint bitmap_bit) { bitmap_lock(map); - DBUG_ASSERT(map->bitmap && bitmap_bit < map->n_bits); + assert(map->bitmap && bitmap_bit < map->n_bits); bitmap_clear_bit(map, bitmap_bit); bitmap_unlock(map); } diff -Nru mysql-5.7-5.7.33/mysys/my_chmod.c mysql-5.7-5.7.34/mysys/my_chmod.c --- mysql-5.7-5.7.33/mysys/my_chmod.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_chmod.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -93,7 +93,7 @@ int ret_val; MY_MODE file_perm; DBUG_ENTER("my_chmod"); - DBUG_ASSERT(filename && filename[0]); + assert(filename && filename[0]); file_perm= get_file_perm(perm_flags); #ifdef _WIN32 diff -Nru mysql-5.7-5.7.33/mysys/my_chsize.c mysql-5.7-5.7.34/mysys/my_chsize.c --- mysql-5.7-5.7.33/mysys/my_chsize.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_chsize.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_compare.c mysql-5.7-5.7.34/mysys/my_compare.c --- mysql-5.7-5.7.33/mysys/my_compare.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_compare.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_compress.c mysql-5.7-5.7.34/mysys/my_compress.c --- mysql-5.7-5.7.33/mysys/my_compress.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_compress.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_conio.c mysql-5.7-5.7.34/mysys/my_conio.c --- mysql-5.7-5.7.33/mysys/my_conio.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_conio.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -90,7 +90,7 @@ HANDLE console= GetStdHandle(STD_INPUT_HANDLE); - DBUG_ASSERT(mbbufsize > 0); /* Need space for at least trailing '\0' */ + assert(mbbufsize > 0); /* Need space for at least trailing '\0' */ GetConsoleMode(console, &console_mode); SetConsoleMode(console, ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT | ENABLE_ECHO_INPUT); @@ -122,7 +122,7 @@ (const char *) u16buf, nchars * sizeof(wchar_t), &my_charset_utf16le_bin, &dummy_errors); - DBUG_ASSERT(mblen < mbbufsize); /* Safety */ + assert(mblen < mbbufsize); /* Safety */ mbbuf[mblen]= 0; return mbbuf; } @@ -182,7 +182,7 @@ if ((cnvres= (*wc_mb)(to_cs, wc, (uchar *) to, (uchar *) to_end)) > 0) { /* We can never convert only a part of wchar_t */ - DBUG_ASSERT((cnvres % sizeof(wchar_t)) == 0); + assert((cnvres % sizeof(wchar_t)) == 0); /* cnvres returns number of bytes, convert to number of wchar_t's */ to+= cnvres / sizeof(wchar_t); } @@ -215,7 +215,7 @@ { static wchar_t u16buf[MAX_CONSOLE_LINE_SIZE + 1]; size_t nchars= my_mbstou16s(cs, (const uchar *) data, datalen, - u16buf, sizeof(u16buf)); + u16buf, sizeof(u16buf) / sizeof(u16buf[0])); DWORD nwritten; WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), u16buf, (DWORD) nchars, &nwritten, NULL); @@ -296,7 +296,7 @@ len= my_convert(av[i], alloced_len, cs, (const char *) wargs[i], arg_len * sizeof(wchar_t), &my_charset_utf16le_bin, &dummy_errors); - DBUG_ASSERT(len < alloced_len); + assert(len < alloced_len); av[i][len]= '\0'; } *argv= av; diff -Nru mysql-5.7-5.7.33/mysys/my_copy.c mysql-5.7-5.7.34/mysys/my_copy.c --- mysql-5.7-5.7.33/mysys/my_copy.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_copy.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -70,7 +70,7 @@ from_file=to_file= -1; memset(&new_stat_buff, 0, sizeof(MY_STAT)); - DBUG_ASSERT(!(MyFlags & (MY_FNABP | MY_NABP))); /* for my_read/my_write */ + assert(!(MyFlags & (MY_FNABP | MY_NABP))); /* for my_read/my_write */ if (MyFlags & MY_HOLD_ORIGINAL_MODES) /* Copy stat if possible */ new_file_stat= MY_TEST(my_stat((char*) to, &new_stat_buff, MYF(0))); diff -Nru mysql-5.7-5.7.33/mysys/my_crc32.c mysql-5.7-5.7.34/mysys/my_crc32.c --- mysql-5.7-5.7.33/mysys/my_crc32.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_crc32.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2004 MySQL AB +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysys/my_create.c mysql-5.7-5.7.34/mysys/my_create.c --- mysql-5.7-5.7.33/mysys/my_create.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_create.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_delete.c mysql-5.7-5.7.34/mysys/my_delete.c --- mysql-5.7-5.7.33/mysys/my_delete.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_delete.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_div.c mysql-5.7-5.7.34/mysys/my_div.c --- mysql-5.7-5.7.33/mysys/my_div.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_div.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_error.c mysql-5.7-5.7.34/mysys/my_error.c --- mysql-5.7-5.7.33/mysys/my_error.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_error.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_file.c mysql-5.7-5.7.34/mysys/my_file.c --- mysql-5.7-5.7.33/mysys/my_file.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_file.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_fopen.c mysql-5.7-5.7.34/mysys/my_fopen.c --- mysql-5.7-5.7.33/mysys/my_fopen.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_fopen.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -117,7 +117,7 @@ int handle_fd, fd= _fileno(stream); HANDLE osfh; - DBUG_ASSERT(path && stream); + assert(path && stream); /* Services don't have stdout/stderr on Windows, so _fileno returns -1. */ if (fd < 0) @@ -183,7 +183,7 @@ int pathfd= -1; int ds= -1; - DBUG_ASSERT(path != NULL && stream != NULL); + assert(path != NULL && stream != NULL); streamfd= fileno(stream); if (streamfd == -1) { @@ -364,8 +364,8 @@ static void make_ftype(char * to, int flag) { /* check some possible invalid combinations */ - DBUG_ASSERT((flag & (O_TRUNC | O_APPEND)) != (O_TRUNC | O_APPEND)); - DBUG_ASSERT((flag & (O_WRONLY | O_RDWR)) != (O_WRONLY | O_RDWR)); + assert((flag & (O_TRUNC | O_APPEND)) != (O_TRUNC | O_APPEND)); + assert((flag & (O_WRONLY | O_RDWR)) != (O_WRONLY | O_RDWR)); if ((flag & (O_RDONLY|O_WRONLY)) == O_WRONLY) *to++= (flag & O_APPEND) ? 'a' : 'w'; diff -Nru mysql-5.7-5.7.33/mysys/my_fstream.c mysql-5.7-5.7.34/mysys/my_fstream.c --- mysql-5.7-5.7.33/mysys/my_fstream.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_fstream.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_gethwaddr.c mysql-5.7-5.7.34/mysys/my_gethwaddr.c --- mysql-5.7-5.7.33/mysys/my_gethwaddr.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_gethwaddr.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_getsystime.c mysql-5.7-5.7.34/mysys/my_getsystime.c --- mysql-5.7-5.7.33/mysys/my_getsystime.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_getsystime.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_getwd.c mysql-5.7-5.7.34/mysys/my_getwd.c --- mysql-5.7-5.7.33/mysys/my_getwd.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_getwd.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_handler_errors.h mysql-5.7-5.7.34/mysys/my_handler_errors.h --- mysql-5.7-5.7.33/mysys/my_handler_errors.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_handler_errors.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MYSYS_MY_HANDLER_ERRORS_INCLUDED #define MYSYS_MY_HANDLER_ERRORS_INCLUDED -/* Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_init.c mysql-5.7-5.7.34/mysys/my_init.c --- mysql-5.7-5.7.33/mysys/my_init.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_init.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -288,7 +288,7 @@ FILETIME ft; LARGE_INTEGER li, t_cnt; - DBUG_ASSERT(sizeof(LARGE_INTEGER) == sizeof(query_performance_frequency)); + assert(sizeof(LARGE_INTEGER) == sizeof(query_performance_frequency)); if (QueryPerformanceFrequency((LARGE_INTEGER *)&query_performance_frequency) == 0) query_performance_frequency= 0; diff -Nru mysql-5.7-5.7.33/mysys/my_largepage.c mysql-5.7-5.7.34/mysys/my_largepage.c --- mysql-5.7-5.7.33/mysys/my_largepage.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_largepage.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_lib.c mysql-5.7-5.7.34/mysys/my_lib.c --- mysql-5.7-5.7.33/mysys/my_lib.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_lib.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -182,7 +182,7 @@ { /* Process as Unix format: just remove test the final slash. */ char *end; - DBUG_ASSERT(strlen(src) < (FN_REFLEN + 1)); + assert(strlen(src) < (FN_REFLEN + 1)); if (src[0] == 0) src= (char*) "."; /* Use empty as current */ diff -Nru mysql-5.7-5.7.33/mysys/my_lock.c mysql-5.7-5.7.34/mysys/my_lock.c --- mysql-5.7-5.7.33/mysys/my_lock.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_lock.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_malloc.c mysql-5.7-5.7.34/mysys/my_malloc.c --- mysql-5.7-5.7.33/mysys/my_malloc.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_malloc.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -89,8 +89,8 @@ return my_malloc(key, size, flags); old_mh= USER_TO_HEADER(ptr); - DBUG_ASSERT((old_mh->m_key == key) || (old_mh->m_key == PSI_NOT_INSTRUMENTED)); - DBUG_ASSERT(old_mh->m_magic == MAGIC); + assert((old_mh->m_key == key) || (old_mh->m_key == PSI_NOT_INSTRUMENTED)); + assert(old_mh->m_magic == MAGIC); old_size= old_mh->m_size; @@ -100,13 +100,13 @@ new_ptr= my_malloc(key, size, flags); if (likely(new_ptr != NULL)) { -#ifndef DBUG_OFF +#ifndef NDEBUG my_memory_header *new_mh= USER_TO_HEADER(new_ptr); #endif - DBUG_ASSERT((new_mh->m_key == key) || (new_mh->m_key == PSI_NOT_INSTRUMENTED)); - DBUG_ASSERT(new_mh->m_magic == MAGIC); - DBUG_ASSERT(new_mh->m_size == size); + assert((new_mh->m_key == key) || (new_mh->m_key == PSI_NOT_INSTRUMENTED)); + assert(new_mh->m_magic == MAGIC); + assert(new_mh->m_size == size); min_size= (old_size < size) ? old_size : size; memcpy(new_ptr, ptr, min_size); @@ -125,7 +125,7 @@ return; mh= USER_TO_HEADER(ptr); - DBUG_ASSERT(mh->m_magic == MAGIC); + assert(mh->m_magic == MAGIC); mh->m_key= PSI_MEMORY_CALL(memory_claim)(mh->m_key, mh->m_size, & mh->m_owner); } @@ -137,7 +137,7 @@ return; mh= USER_TO_HEADER(ptr); - DBUG_ASSERT(mh->m_magic == MAGIC); + assert(mh->m_magic == MAGIC); PSI_MEMORY_CALL(memory_free)(mh->m_key, mh->m_size, mh->m_owner); /* Catch double free */ mh->m_magic= 0xDEAD; @@ -250,10 +250,10 @@ DBUG_PRINT("my",("ptr: %p size: %lu my_flags: %d", oldpoint, (ulong) size, my_flags)); - DBUG_ASSERT(size > 0); + assert(size > 0); /* These flags are mutually exclusive. */ - DBUG_ASSERT(!((my_flags & MY_FREE_ON_ERROR) && - (my_flags & MY_HOLD_ON_ERROR))); + assert(!((my_flags & MY_FREE_ON_ERROR) && + (my_flags & MY_HOLD_ON_ERROR))); DBUG_EXECUTE_IF("simulate_out_of_memory", point= NULL; goto end;); @@ -264,7 +264,7 @@ #else point= realloc(oldpoint, size); #endif -#ifndef DBUG_OFF +#ifndef NDEBUG end: #endif if (point == NULL) diff -Nru mysql-5.7-5.7.33/mysys/my_memmem.c mysql-5.7-5.7.34/mysys/my_memmem.c --- mysql-5.7-5.7.33/mysys/my_memmem.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_memmem.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2006, 2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysys/my_mess.c mysql-5.7-5.7.34/mysys/my_mess.c --- mysql-5.7-5.7.33/mysys/my_mess.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_mess.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_mkdir.c mysql-5.7-5.7.34/mysys/my_mkdir.c --- mysql-5.7-5.7.33/mysys/my_mkdir.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_mkdir.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_mmap.c mysql-5.7-5.7.34/mysys/my_mmap.c --- mysql-5.7-5.7.33/mysys/my_mmap.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_mmap.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_once.c mysql-5.7-5.7.34/mysys/my_once.c --- mysql-5.7-5.7.33/mysys/my_once.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_once.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_open.c mysql-5.7-5.7.34/mysys/my_open.c --- mysql-5.7-5.7.33/mysys/my_open.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_open.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_pread.c mysql-5.7-5.7.34/mysys/my_pread.c --- mysql-5.7-5.7.33/mysys/my_pread.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_pread.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_rdtsc.c mysql-5.7-5.7.34/mysys/my_rdtsc.c --- mysql-5.7-5.7.33/mysys/my_rdtsc.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_rdtsc.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_read.c mysql-5.7-5.7.34/mysys/my_read.c --- mysql-5.7-5.7.33/mysys/my_read.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_read.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_redel.c mysql-5.7-5.7.34/mysys/my_redel.c --- mysql-5.7-5.7.33/mysys/my_redel.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_redel.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_rename.c mysql-5.7-5.7.34/mysys/my_rename.c --- mysql-5.7-5.7.33/mysys/my_rename.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_rename.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_seek.c mysql-5.7-5.7.34/mysys/my_seek.c --- mysql-5.7-5.7.33/mysys/my_seek.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_seek.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -67,7 +67,7 @@ /* Make sure we are using a valid file descriptor! */ - DBUG_ASSERT(fd != -1); + assert(fd != -1); #if defined (_WIN32) newpos= my_win_lseek(fd, pos, whence); #else @@ -101,7 +101,7 @@ os_off_t pos; DBUG_ENTER("my_tell"); DBUG_PRINT("my",("fd: %d MyFlags: %d",fd, MyFlags)); - DBUG_ASSERT(fd >= 0); + assert(fd >= 0); #if defined (HAVE_TELL) && !defined (_WIN32) pos= tell(fd); #else diff -Nru mysql-5.7-5.7.33/mysys/my_static.c mysql-5.7-5.7.34/mysys/my_static.c --- mysql-5.7-5.7.33/mysys/my_static.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_static.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_static.h mysql-5.7-5.7.34/mysys/my_static.h --- mysql-5.7-5.7.33/mysys/my_static.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_static.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef MYSYS_MY_STATIC_INCLUDED #define MYSYS_MY_STATIC_INCLUDED -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_symlink2.c mysql-5.7-5.7.34/mysys/my_symlink2.c --- mysql-5.7-5.7.33/mysys/my_symlink2.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_symlink2.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_symlink.c mysql-5.7-5.7.34/mysys/my_symlink.c --- mysql-5.7-5.7.33/mysys/my_symlink.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_symlink.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_sync.c mysql-5.7-5.7.34/mysys/my_sync.c --- mysql-5.7-5.7.33/mysys/my_sync.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_sync.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_syslog.c mysql-5.7-5.7.34/mysys/my_syslog.c --- mysql-5.7-5.7.33/mysys/my_syslog.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_syslog.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/mysys_priv.h mysql-5.7-5.7.34/mysys/mysys_priv.h --- mysql-5.7-5.7.33/mysys/mysys_priv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/mysys_priv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_thread.c mysql-5.7-5.7.34/mysys/my_thread.c --- mysql-5.7-5.7.33/mysys/my_thread.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_thread.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_thr_init.c mysql-5.7-5.7.34/mysys/my_thr_init.c --- mysql-5.7-5.7.33/mysys/my_thr_init.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_thr_init.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -38,7 +38,7 @@ static my_bool THR_KEY_mysys_initialized= FALSE; static my_bool my_thread_global_init_done= FALSE; -#ifndef DBUG_OFF +#ifndef NDEBUG static uint THR_thread_count= 0; static uint my_thread_end_wait_time= 5; static my_thread_id thread_id= 0; @@ -53,7 +53,7 @@ THR_LOCK_lock, THR_LOCK_myisam, THR_LOCK_heap, THR_LOCK_net, THR_LOCK_charset, THR_LOCK_myisam_mmap; -#ifndef DBUG_OFF +#ifndef NDEBUG mysql_mutex_t THR_LOCK_threads; mysql_cond_t THR_COND_threads; #endif @@ -68,7 +68,7 @@ static void install_sigabrt_handler(); #endif -#ifndef DBUG_OFF +#ifndef NDEBUG struct st_my_thread_var { my_thread_id id; @@ -77,14 +77,14 @@ static struct st_my_thread_var *mysys_thread_var() { - DBUG_ASSERT(THR_KEY_mysys_initialized); + assert(THR_KEY_mysys_initialized); return (struct st_my_thread_var*)my_get_thread_local(THR_KEY_mysys); } static int set_mysys_thread_var(struct st_my_thread_var *mysys_var) { - DBUG_ASSERT(THR_KEY_mysys_initialized); + assert(THR_KEY_mysys_initialized); return my_set_thread_local(THR_KEY_mysys, mysys_var); } #endif @@ -101,7 +101,7 @@ void my_thread_global_reinit() { - DBUG_ASSERT(my_thread_global_init_done); + assert(my_thread_global_init_done); #ifdef HAVE_PSI_INTERFACE my_init_mysys_psi_keys(); @@ -125,7 +125,7 @@ mysql_mutex_destroy(&THR_LOCK_charset); mysql_mutex_init(key_THR_LOCK_charset, &THR_LOCK_charset, MY_MUTEX_INIT_FAST); -#ifndef DBUG_OFF +#ifndef NDEBUG mysql_mutex_destroy(&THR_LOCK_threads); mysql_mutex_init(key_THR_LOCK_threads, &THR_LOCK_threads, MY_MUTEX_INIT_FAST); @@ -178,8 +178,8 @@ PTHREAD_MUTEX_ERRORCHECK); #endif - DBUG_ASSERT(! THR_KEY_mysys_initialized); -#ifndef DBUG_OFF + assert(! THR_KEY_mysys_initialized); +#ifndef NDEBUG if ((pth_ret= my_create_thread_local_key(&THR_KEY_mysys, NULL)) != 0) { /* purecov: begin inspected */ my_message_local(ERROR_LEVEL, "Can't initialize threads: error %d", @@ -214,7 +214,7 @@ mysql_mutex_init(key_THR_LOCK_myisam_mmap, &THR_LOCK_myisam_mmap, MY_MUTEX_INIT_FAST); mysql_mutex_init(key_THR_LOCK_heap, &THR_LOCK_heap, MY_MUTEX_INIT_FAST); mysql_mutex_init(key_THR_LOCK_net, &THR_LOCK_net, MY_MUTEX_INIT_FAST); -#ifndef DBUG_OFF +#ifndef NDEBUG mysql_mutex_init(key_THR_LOCK_threads, &THR_LOCK_threads, MY_MUTEX_INIT_FAST); mysql_cond_init(key_THR_COND_threads, &THR_COND_threads); #endif @@ -225,7 +225,7 @@ void my_thread_global_end() { -#ifndef DBUG_OFF +#ifndef NDEBUG struct timespec abstime; my_bool all_threads_killed= TRUE; @@ -256,8 +256,8 @@ mysql_mutex_unlock(&THR_LOCK_threads); #endif - DBUG_ASSERT(THR_KEY_mysys_initialized); -#ifndef DBUG_OFF + assert(THR_KEY_mysys_initialized); +#ifndef NDEBUG my_delete_thread_local_key(THR_KEY_mysys); #endif my_delete_thread_local_key(THR_KEY_myerrno); @@ -279,7 +279,7 @@ mysql_mutex_destroy(&THR_LOCK_heap); mysql_mutex_destroy(&THR_LOCK_net); mysql_mutex_destroy(&THR_LOCK_charset); -#ifndef DBUG_OFF +#ifndef NDEBUG if (all_threads_killed) { mysql_mutex_destroy(&THR_LOCK_threads); @@ -303,7 +303,7 @@ my_bool my_thread_init() { -#ifndef DBUG_OFF +#ifndef NDEBUG struct st_my_thread_var *tmp; #endif @@ -314,7 +314,7 @@ install_sigabrt_handler(); #endif -#ifndef DBUG_OFF +#ifndef NDEBUG if (mysys_thread_var()) return FALSE; @@ -342,7 +342,7 @@ void my_thread_end() { -#ifndef DBUG_OFF +#ifndef NDEBUG struct st_my_thread_var *tmp= mysys_thread_var(); #endif @@ -355,7 +355,7 @@ PSI_THREAD_CALL(delete_current_thread)(); #endif -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) if (tmp) { /* tmp->dbug is allocated inside DBUG library */ @@ -374,7 +374,7 @@ my_thread_init() and DBUG_xxxx */ mysql_mutex_lock(&THR_LOCK_threads); - DBUG_ASSERT(THR_thread_count != 0); + assert(THR_thread_count != 0); if (--THR_thread_count == 0) mysql_cond_signal(&THR_COND_threads); mysql_mutex_unlock(&THR_LOCK_threads); @@ -416,7 +416,7 @@ #endif -#ifndef DBUG_OFF +#ifndef NDEBUG my_thread_id my_thread_var_id() { return mysys_thread_var()->id; @@ -433,7 +433,7 @@ { struct st_my_thread_var *tmp; /* - Instead of enforcing DBUG_ASSERT(THR_KEY_mysys_initialized) here, + Instead of enforcing assert(THR_KEY_mysys_initialized) here, which causes any DBUG_ENTER and related traces to fail when used in init / cleanup code, we are more tolerant: using DBUG_ENTER / DBUG_PRINT / DBUG_RETURN @@ -444,7 +444,7 @@ tmp= mysys_thread_var(); return tmp ? &tmp->dbug : NULL; } -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ #ifdef _WIN32 diff -Nru mysql-5.7-5.7.33/mysys/my_timer_cycles.il mysql-5.7-5.7.34/mysys/my_timer_cycles.il --- mysql-5.7-5.7.33/mysys/my_timer_cycles.il 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_timer_cycles.il 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysys/my_windac.c mysql-5.7-5.7.34/mysys/my_windac.c --- mysql-5.7-5.7.33/mysys/my_windac.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_windac.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_winerr.c mysql-5.7-5.7.34/mysys/my_winerr.c --- mysql-5.7-5.7.33/mysys/my_winerr.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_winerr.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/my_winfile.c mysql-5.7-5.7.34/mysys/my_winfile.c --- mysql-5.7-5.7.33/mysys/my_winfile.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_winfile.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -45,7 +45,7 @@ Worth to note: - File descriptors used here are located in a range that is not compatible with CRT on purpose. Attempt to use a file descriptor from Windows CRT library - range in my_win_* function will be punished with DBUG_ASSERT() + range in my_win_* function will be punished with assert() - File streams (FILE *) are actually from the C runtime. The routines provided here are useful only in scernarios that use low-level IO with my_win_fileno() @@ -89,7 +89,7 @@ static void invalidate_fd(File fd) { DBUG_ENTER("invalidate_fd"); - DBUG_ASSERT(fd >= MY_FILE_MIN && fd < (int)my_file_limit); + assert(fd >= MY_FILE_MIN && fd < (int)my_file_limit); my_file_info[fd].fhandle= 0; DBUG_VOID_RETURN; } @@ -99,7 +99,7 @@ HANDLE my_get_osfhandle(File fd) { DBUG_ENTER("my_get_osfhandle"); - DBUG_ASSERT(fd >= MY_FILE_MIN && fd < (int)my_file_limit); + assert(fd >= MY_FILE_MIN && fd < (int)my_file_limit); DBUG_RETURN(my_file_info[fd].fhandle); } @@ -107,7 +107,7 @@ static int my_get_open_flags(File fd) { DBUG_ENTER("my_get_open_flags"); - DBUG_ASSERT(fd >= MY_FILE_MIN && fd < (int)my_file_limit); + assert(fd >= MY_FILE_MIN && fd < (int)my_file_limit); DBUG_RETURN(my_file_info[fd].oflag); } diff -Nru mysql-5.7-5.7.33/mysys/my_write.c mysql-5.7-5.7.34/mysys/my_write.c --- mysql-5.7-5.7.33/mysys/my_write.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/my_write.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/posix_timers.c mysql-5.7-5.7.34/mysys/posix_timers.c --- mysql-5.7-5.7.33/mysys/posix_timers.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/posix_timers.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -301,7 +301,7 @@ void my_timer_deinitialize(void) { - DBUG_ASSERT(port_id >= 0); + assert(port_id >= 0); // close port close(port_id); diff -Nru mysql-5.7-5.7.33/mysys/psi_noop.c mysql-5.7-5.7.34/mysys/psi_noop.c --- mysql-5.7-5.7.33/mysys/psi_noop.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/psi_noop.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/ptr_cmp.c mysql-5.7-5.7.34/mysys/ptr_cmp.c --- mysql-5.7-5.7.33/mysys/ptr_cmp.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/ptr_cmp.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -41,7 +41,7 @@ case 3: mi_int3store(buff,pos); break; case 2: mi_int2store(buff,pos); break; case 1: buff[0]= (uchar) pos; break; - default: DBUG_ASSERT(0); + default: assert(0); } return; } @@ -60,7 +60,7 @@ case 3: pos= (my_off_t) mi_uint3korr(ptr); break; case 2: pos= (my_off_t) mi_uint2korr(ptr); break; case 1: pos= (my_off_t) *(uchar*) ptr; break; - default: DBUG_ASSERT(0); return 0; + default: assert(0); return 0; } return pos; } diff -Nru mysql-5.7-5.7.33/mysys/queues.c mysql-5.7-5.7.34/mysys/queues.c --- mysql-5.7-5.7.33/mysys/queues.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/queues.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -221,7 +221,7 @@ void queue_insert(QUEUE *queue, uchar *element) { uint idx, next; - DBUG_ASSERT(queue->elements < queue->max_elements); + assert(queue->elements < queue->max_elements); queue->root[0]= element; idx= ++queue->elements; /* max_at_top swaps the comparison if we want to order by desc */ @@ -244,7 +244,7 @@ uchar *element; my_bool use_downheap; - DBUG_ASSERT(idx < queue->max_elements); + assert(idx < queue->max_elements); /* If we remove the top element in the queue, we use _downheap else queue_fix to maintain the heap property. @@ -663,7 +663,7 @@ } // Check if queue is a valid heap -static my_bool is_queue_valid(QUEUE *queue) +my_bool is_queue_valid(QUEUE *queue) { unsigned i; diff -Nru mysql-5.7-5.7.33/mysys/sql_chars.c mysql-5.7-5.7.34/mysys/sql_chars.c --- mysql-5.7-5.7.33/mysys/sql_chars.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/sql_chars.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -45,7 +45,7 @@ hint_map[i]= HINT_CHR_DIGIT; else if (my_isspace(cs, i)) { - DBUG_ASSERT(!my_ismb1st(cs, i)); + assert(!my_ismb1st(cs, i)); hint_map[i]= HINT_CHR_SPACE; } else diff -Nru mysql-5.7-5.7.33/mysys/stacktrace.c mysql-5.7-5.7.34/mysys/stacktrace.c --- mysql-5.7-5.7.33/mysys/stacktrace.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/stacktrace.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -312,13 +312,13 @@ HANDLE hSnap; char *envvar; char *p; -#ifndef DBUG_OFF +#ifndef NDEBUG static char pdb_debug_dir[MAX_PATH + 7]; #endif path[0]= '\0'; -#ifndef DBUG_OFF +#ifndef NDEBUG /* Add "debug" subdirectory of the application directory, sometimes PDB will placed here by installation. diff -Nru mysql-5.7-5.7.33/mysys/string.c mysql-5.7-5.7.34/mysys/string.c --- mysql-5.7-5.7.33/mysys/string.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/string.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/test_charset.c mysql-5.7-5.7.34/mysys/test_charset.c --- mysql-5.7-5.7.33/mysys/test_charset.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/test_charset.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/test_dir.c mysql-5.7-5.7.34/mysys/test_dir.c --- mysql-5.7-5.7.33/mysys/test_dir.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/test_dir.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/testhash.c mysql-5.7-5.7.34/mysys/testhash.c --- mysql-5.7-5.7.33/mysys/testhash.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/testhash.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -37,7 +37,7 @@ static uint testflag=0,recant=10000,reclength=37; static uint16 key1[1000]; -#ifdef DBUG_OFF +#ifdef NDEBUG #define hash_check(A) 0 #else my_bool hash_check(HASH *hash); diff -Nru mysql-5.7-5.7.33/mysys/test_xml.c mysql-5.7-5.7.34/mysys/test_xml.c --- mysql-5.7-5.7.33/mysys/test_xml.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/test_xml.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2002 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/mysys/thr_cond.c mysql-5.7-5.7.34/mysys/thr_cond.c --- mysql-5.7-5.7.33/mysys/thr_cond.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/thr_cond.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -68,7 +68,7 @@ mp->thread= my_thread_self(); if (mp->count++) { -#ifndef DBUG_OFF +#ifndef NDEBUG fprintf(stderr, "safe_mutex: Count was %d in thread 0x%x when locking mutex at %s, line %d\n", mp->count-1, my_thread_var_id(), file, line); @@ -108,7 +108,7 @@ mp->thread= my_thread_self(); if (mp->count++) { -#ifndef DBUG_OFF +#ifndef NDEBUG fprintf(stderr, "safe_mutex: Count was %d in thread 0x%x when locking mutex at %s, line %d (error: %d (%d))\n", mp->count-1, my_thread_var_id(), file, line, error, error); diff -Nru mysql-5.7-5.7.33/mysys/thr_lock.c mysql-5.7-5.7.34/mysys/thr_lock.c --- mysql-5.7-5.7.33/mysys/thr_lock.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/thr_lock.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -199,7 +199,7 @@ if ((int) data->type == (int) TL_READ_NO_INSERT) count++; /* Protect against infinite loop. */ - DBUG_ASSERT(count <= lock->read_no_write_count); + assert(count <= lock->read_no_write_count); } if (count != lock->read_no_write_count) { @@ -648,10 +648,10 @@ tries to update t1, is an example of statement which requests two different types of write lock on the same table). */ - DBUG_ASSERT(! has_old_lock(lock->write.data, data->owner) || - ((lock_type <= lock->write.data->type || - (lock_type == TL_WRITE && - lock->write.data->type == TL_WRITE_LOW_PRIORITY)))); + assert(! has_old_lock(lock->write.data, data->owner) || + ((lock_type <= lock->write.data->type || + (lock_type == TL_WRITE && + lock->write.data->type == TL_WRITE_LOW_PRIORITY)))); if ((lock_type == TL_WRITE_ALLOW_WRITE && ! lock->write_wait.data && @@ -1217,14 +1217,14 @@ enum thr_lock_type new_lock_type) { THR_LOCK *lock=in_data->lock; -#ifndef DBUG_OFF +#ifndef NDEBUG enum thr_lock_type old_lock_type= in_data->type; #endif DBUG_ENTER("thr_downgrade_write_only_lock"); mysql_mutex_lock(&lock->mutex); - DBUG_ASSERT(old_lock_type == TL_WRITE_ONLY); - DBUG_ASSERT(old_lock_type > new_lock_type); + assert(old_lock_type == TL_WRITE_ONLY); + assert(old_lock_type > new_lock_type); in_data->type= new_lock_type; check_locks(lock,"after downgrading lock",0); diff -Nru mysql-5.7-5.7.33/mysys/thr_mutex.c mysql-5.7-5.7.34/mysys/thr_mutex.c --- mysql-5.7-5.7.33/mysys/thr_mutex.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/thr_mutex.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -48,7 +48,7 @@ int safe_mutex_init(my_mutex_t *mp, const native_mutexattr_t *attr, const char *file, uint line) { - DBUG_ASSERT(safe_mutex_inited); + assert(safe_mutex_inited); memset(mp, 0, sizeof(*mp)); native_mutex_init(&mp->global,MY_MUTEX_INIT_ERRCHK); native_mutex_init(&mp->mutex,attr); @@ -83,7 +83,7 @@ } else if (my_thread_equal(my_thread_self(),mp->thread)) { -#ifndef DBUG_OFF +#ifndef NDEBUG fprintf(stderr, "safe_mutex: Trying to lock mutex at %s, line %d, when the" " mutex was already locked at %s, line %d in thread T@%u\n", diff -Nru mysql-5.7-5.7.33/mysys/thr_rwlock.c mysql-5.7-5.7.34/mysys/thr_rwlock.c --- mysql-5.7-5.7.33/mysys/thr_rwlock.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/thr_rwlock.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys/tree.c mysql-5.7-5.7.34/mysys/tree.c --- mysql-5.7-5.7.33/mysys/tree.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/tree.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -92,7 +92,7 @@ /* The actuall code for handling binary trees */ -#ifndef DBUG_OFF +#ifndef NDEBUG static int test_rb_tree(TREE_ELEMENT *element); #endif @@ -743,7 +743,7 @@ x->colour=BLACK; } -#ifndef DBUG_OFF +#ifndef NDEBUG /* Test that the proporties for a red-black tree holds */ diff -Nru mysql-5.7-5.7.33/mysys/typelib.c mysql-5.7-5.7.34/mysys/typelib.c --- mysql-5.7-5.7.33/mysys/typelib.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/typelib.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -87,8 +87,8 @@ DBUG_ENTER("find_type"); DBUG_PRINT("enter",("x: '%s' lib: 0x%lx", x, (long) typelib)); - DBUG_ASSERT(!(flags & ~(FIND_TYPE_NO_PREFIX | FIND_TYPE_ALLOW_NUMBER | - FIND_TYPE_NO_OVERWRITE | FIND_TYPE_COMMA_TERM))); + assert(!(flags & ~(FIND_TYPE_NO_PREFIX | FIND_TYPE_ALLOW_NUMBER | + FIND_TYPE_NO_OVERWRITE | FIND_TYPE_COMMA_TERM))); if (!typelib->count) { DBUG_PRINT("exit",("no count")); diff -Nru mysql-5.7-5.7.33/mysys/win_timers.c mysql-5.7-5.7.34/mysys/win_timers.c --- mysql-5.7-5.7.33/mysys/win_timers.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys/win_timers.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -53,7 +53,7 @@ timer_callback_function(PVOID timer_data, BOOLEAN timer_or_wait_fired MY_ATTRIBUTE((unused))) { my_timer_t *timer= (my_timer_t *)timer_data; - DBUG_ASSERT(timer != NULL); + assert(timer != NULL); timer->id.timer_state= TIMER_EXPIRED; PostQueuedCompletionStatus(io_compl_port, 0, (ULONG_PTR)timer, 0); } @@ -107,8 +107,8 @@ int ret_val; int retry_count= 3; - DBUG_ASSERT(timer != 0); - DBUG_ASSERT(timer_queue != 0); + assert(timer != 0); + assert(timer_queue != 0); if (state != NULL) *state= 0; @@ -299,7 +299,7 @@ int my_timer_create(my_timer_t *timer) { - DBUG_ASSERT(timer_queue != 0); + assert(timer_queue != 0); timer->id.timer_handle= 0; return 0; } @@ -317,8 +317,8 @@ int my_timer_set(my_timer_t *timer, unsigned long time) { - DBUG_ASSERT(timer != NULL); - DBUG_ASSERT(timer_queue != 0); + assert(timer != NULL); + assert(timer_queue != 0); /** If timer set previously is expired then it will not be @@ -352,7 +352,7 @@ int my_timer_cancel(my_timer_t *timer, int *state) { - DBUG_ASSERT(state != NULL); + assert(state != NULL); return delete_timer(timer, state); } diff -Nru mysql-5.7-5.7.33/mysys_ssl/CMakeLists.txt mysql-5.7-5.7.34/mysys_ssl/CMakeLists.txt --- mysql-5.7-5.7.33/mysys_ssl/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys_ssl/crypt_genhash_impl.cc mysql-5.7-5.7.34/mysys_ssl/crypt_genhash_impl.cc --- mysql-5.7-5.7.33/mysys_ssl/crypt_genhash_impl.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/crypt_genhash_impl.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys_ssl/mf_tempdir.cc mysql-5.7-5.7.34/mysys_ssl/mf_tempdir.cc --- mysql-5.7-5.7.33/mysys_ssl/mf_tempdir.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/mf_tempdir.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys_ssl/my_aes.cc mysql-5.7-5.7.34/mysys_ssl/my_aes.cc --- mysql-5.7-5.7.33/mysys_ssl/my_aes.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/my_aes.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys_ssl/my_aes_impl.h mysql-5.7-5.7.34/mysys_ssl/my_aes_impl.h --- mysql-5.7-5.7.33/mysys_ssl/my_aes_impl.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/my_aes_impl.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys_ssl/my_aes_openssl.cc mysql-5.7-5.7.34/mysys_ssl/my_aes_openssl.cc --- mysql-5.7-5.7.33/mysys_ssl/my_aes_openssl.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/my_aes_openssl.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -263,7 +263,7 @@ int iv_length; iv_length= EVP_CIPHER_iv_length(cipher); - DBUG_ASSERT(iv_length == 0 || iv_length == MY_AES_IV_SIZE); + assert(iv_length == 0 || iv_length == MY_AES_IV_SIZE); return iv_length != 0 ? TRUE : FALSE; } diff -Nru mysql-5.7-5.7.33/mysys_ssl/my_default.cc mysql-5.7-5.7.34/mysys_ssl/my_default.cc --- mysql-5.7-5.7.33/mysys_ssl/my_default.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/my_default.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -98,7 +98,7 @@ static const char *args_separator= "----args-separator----"; inline static void set_args_separator(char** arg) { - DBUG_ASSERT(my_getopt_use_args_separator); + assert(my_getopt_use_args_separator); *arg= (char*)args_separator; } @@ -1328,7 +1328,7 @@ return 1; /* Failure */ /* Should never fail if DEFAULT_DIRS_SIZE is correct size */ err= array_append_string_unique(p, dirs, DEFAULT_DIRS_SIZE); - DBUG_ASSERT(err == FALSE); + assert(err == FALSE); return 0; } diff -Nru mysql-5.7-5.7.33/mysys_ssl/my_default_priv.h mysql-5.7-5.7.34/mysys_ssl/my_default_priv.h --- mysql-5.7-5.7.33/mysys_ssl/my_default_priv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/my_default_priv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys_ssl/my_getopt.cc mysql-5.7-5.7.34/mysys_ssl/my_getopt.cc --- mysql-5.7-5.7.33/mysys_ssl/my_getopt.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/my_getopt.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -226,8 +226,8 @@ bool opt_found; /* handle_options() assumes arg0 (program name) always exists */ - DBUG_ASSERT(argc && *argc >= 1); - DBUG_ASSERT(argv && *argv); + assert(argc && *argc >= 1); + assert(argv && *argv); (*argc)--; /* Skip the program name */ (*argv)++; /* --- || ---- */ init_variables(longopts, init_one_value); @@ -551,10 +551,10 @@ Hack the string "-XYZ" to make a "-YZ" substring in it, and push that to the output as an unrecognized parameter. */ - DBUG_ASSERT(optend > *pos); - DBUG_ASSERT(optend >= cur_arg); - DBUG_ASSERT(optend <= *pos + strlen(*pos)); - DBUG_ASSERT(*optend); + assert(optend > *pos); + assert(optend >= cur_arg); + assert(optend <= *pos + strlen(*pos)); + assert(*optend); optend--; optend[0]= '-'; /* replace 'X' or '-' by '-' */ (*argv)[argvpos++]= optend; @@ -1072,7 +1072,7 @@ case GET_ULL: return ULLONG_MAX; default: - DBUG_ASSERT(0); + assert(0); return 0; } } diff -Nru mysql-5.7-5.7.33/mysys_ssl/my_md5.cc mysql-5.7-5.7.34/mysys_ssl/my_md5.cc --- mysql-5.7-5.7.33/mysys_ssl/my_md5.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/my_md5.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys_ssl/my_murmur3.cc mysql-5.7-5.7.34/mysys_ssl/my_murmur3.cc --- mysql-5.7-5.7.33/mysys_ssl/my_murmur3.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/my_murmur3.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys_ssl/my_rnd.cc mysql-5.7-5.7.34/mysys_ssl/my_rnd.cc --- mysql-5.7-5.7.33/mysys_ssl/my_rnd.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/my_rnd.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/mysys_ssl/my_sha1.cc mysql-5.7-5.7.34/mysys_ssl/my_sha1.cc --- mysql-5.7-5.7.33/mysys_ssl/my_sha1.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/mysys_ssl/my_sha1.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/CMakeLists.txt mysql-5.7-5.7.34/packaging/deb-in/CMakeLists.txt --- mysql-5.7-5.7.33/packaging/deb-in/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2016, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/deb_debug.cmake mysql-5.7-5.7.34/packaging/deb-in/deb_debug.cmake --- mysql-5.7-5.7.33/packaging/deb-in/deb_debug.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/deb_debug.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/deb_ndb.cmake mysql-5.7-5.7.34/packaging/deb-in/deb_ndb.cmake --- mysql-5.7-5.7.33/packaging/deb-in/deb_ndb.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/deb_ndb.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/extra/conf.d/mysql.cnf mysql-5.7-5.7.34/packaging/deb-in/extra/conf.d/mysql.cnf --- mysql-5.7-5.7.33/packaging/deb-in/extra/conf.d/mysql.cnf 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/extra/conf.d/mysql.cnf 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/extra/my.cnf.fallback mysql-5.7-5.7.34/packaging/deb-in/extra/my.cnf.fallback --- mysql-5.7-5.7.33/packaging/deb-in/extra/my.cnf.fallback 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/extra/my.cnf.fallback 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/extra/mysql.cnf mysql-5.7-5.7.34/packaging/deb-in/extra/mysql.cnf --- mysql-5.7-5.7.33/packaging/deb-in/extra/mysql.cnf 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/extra/mysql.cnf 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2016, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/extra/mysqld.cnf mysql-5.7-5.7.34/packaging/deb-in/extra/mysqld.cnf --- mysql-5.7-5.7.33/packaging/deb-in/extra/mysqld.cnf 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/extra/mysqld.cnf 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2014, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/extra/mysql-helpers mysql-5.7-5.7.34/packaging/deb-in/extra/mysql-helpers --- mysql-5.7-5.7.33/packaging/deb-in/extra/mysql-helpers 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/extra/mysql-helpers 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/extra/mysql-systemd-start mysql-5.7-5.7.34/packaging/deb-in/extra/mysql-systemd-start --- mysql-5.7-5.7.33/packaging/deb-in/extra/mysql-systemd-start 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/extra/mysql-systemd-start 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/libmysqlclient20-dbgsym.install.in mysql-5.7-5.7.34/packaging/deb-in/libmysqlclient20-dbgsym.install.in --- mysql-5.7-5.7.33/packaging/deb-in/libmysqlclient20-dbgsym.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/libmysqlclient20-dbgsym.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/libmysqlclient20.install.in mysql-5.7-5.7.34/packaging/deb-in/libmysqlclient20.install.in --- mysql-5.7-5.7.33/packaging/deb-in/libmysqlclient20.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/libmysqlclient20.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/libmysqlclient20.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/libmysqlclient20.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/libmysqlclient20.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/libmysqlclient20.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/libmysqlclient-dev.install.in mysql-5.7-5.7.34/packaging/deb-in/libmysqlclient-dev.install.in --- mysql-5.7-5.7.33/packaging/deb-in/libmysqlclient-dev.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/libmysqlclient-dev.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/libmysqlclient-dev.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/libmysqlclient-dev.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/libmysqlclient-dev.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/libmysqlclient-dev.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/libmysqld-dev.install.in mysql-5.7-5.7.34/packaging/deb-in/libmysqld-dev.install.in --- mysql-5.7-5.7.33/packaging/deb-in/libmysqld-dev.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/libmysqld-dev.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/libmysqld-dev.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/libmysqld-dev.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/libmysqld-dev.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/libmysqld-dev.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-client.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-client.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-client.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-client.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-client.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/mysql-client.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-client.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-client.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-common.dirs.in mysql-5.7-5.7.34/packaging/deb-in/mysql-common.dirs.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-common.dirs.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-common.dirs.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-common.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-common.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-common.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-common.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-common.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/mysql-common.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-common.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-common.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-common.postinst.in mysql-5.7-5.7.34/packaging/deb-in/mysql-common.postinst.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-common.postinst.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-common.postinst.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-common.postrm.in mysql-5.7-5.7.34/packaging/deb-in/mysql-common.postrm.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-common.postrm.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-common.postrm.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-auto-installer.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-auto-installer.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-auto-installer.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-auto-installer.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-client-dbgsym.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-client-dbgsym.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-client-dbgsym.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-client-dbgsym.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-client.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-client.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-client.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-client.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-client.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-client.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-client.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-client.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-data-node.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-data-node.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-data-node.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-data-node.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-java.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-java.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-java.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-java.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-management-server.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-management-server.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-management-server.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-management-server.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-memcached.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-memcached.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-memcached.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-memcached.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.config.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.config.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.config.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.config.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server-dbgsym.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server-dbgsym.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server-dbgsym.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server-dbgsym.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.dirs.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.dirs.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.dirs.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.dirs.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.mysql.init.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.mysql.init.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.mysql.init.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.mysql.init.in 2021-03-26 06:58:52.000000000 +0000 @@ -14,7 +14,7 @@ ### END INIT INFO # -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.mysql.service.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.mysql.service.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.mysql.service.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.mysql.service.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.mysql@.service.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.mysql@.service.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.mysql@.service.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.mysql@.service.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.postinst.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.postinst.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.postinst.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.postinst.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.postrm.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.postrm.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.postrm.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.postrm.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.preinst.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.preinst.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.preinst.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.preinst.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.prerm.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.prerm.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-server.prerm.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-server.prerm.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-source.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-source.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-source.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-source.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-source.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-source.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-source.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-source.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-test-dbgsym.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-test-dbgsym.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-test-dbgsym.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-test-dbgsym.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-test.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-test.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-test.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-test.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-test.links.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-test.links.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-test.links.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-test.links.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-test.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-test.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-packagesource-test.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-packagesource-test.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-server.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-server.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-server.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-server.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-server.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/mysql-server.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-server.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-server.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-testsuite.install.in mysql-5.7-5.7.34/packaging/deb-in/mysql-testsuite.install.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-testsuite.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-testsuite.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/mysql-testsuite.lintian-overrides.in mysql-5.7-5.7.34/packaging/deb-in/mysql-testsuite.lintian-overrides.in --- mysql-5.7-5.7.33/packaging/deb-in/mysql-testsuite.lintian-overrides.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/mysql-testsuite.lintian-overrides.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/ndbclient-dev.install.in mysql-5.7-5.7.34/packaging/deb-in/ndbclient-dev.install.in --- mysql-5.7-5.7.33/packaging/deb-in/ndbclient-dev.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/ndbclient-dev.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/ndbclient.install.in mysql-5.7-5.7.34/packaging/deb-in/ndbclient.install.in --- mysql-5.7-5.7.33/packaging/deb-in/ndbclient.install.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/ndbclient.install.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/patches/series mysql-5.7-5.7.34/packaging/deb-in/patches/series --- mysql-5.7-5.7.33/packaging/deb-in/patches/series 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/patches/series 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/README mysql-5.7-5.7.34/packaging/deb-in/README --- mysql-5.7-5.7.33/packaging/deb-in/README 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/README 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2016, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/README.Maintainer mysql-5.7-5.7.34/packaging/deb-in/README.Maintainer --- mysql-5.7-5.7.33/packaging/deb-in/README.Maintainer 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/README.Maintainer 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2016, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/rules.in mysql-5.7-5.7.34/packaging/deb-in/rules.in --- mysql-5.7-5.7.33/packaging/deb-in/rules.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/rules.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/make -f -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/source/include-binaries mysql-5.7-5.7.34/packaging/deb-in/source/include-binaries --- mysql-5.7-5.7.33/packaging/deb-in/source/include-binaries 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/source/include-binaries 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/deb-in/source/lintian-overrides mysql-5.7-5.7.34/packaging/deb-in/source/lintian-overrides --- mysql-5.7-5.7.33/packaging/deb-in/source/lintian-overrides 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/deb-in/source/lintian-overrides 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/rpm-common/CMakeLists.txt mysql-5.7-5.7.34/packaging/rpm-common/CMakeLists.txt --- mysql-5.7-5.7.33/packaging/rpm-common/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/rpm-common/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2016, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/rpm-docker/CMakeLists.txt mysql-5.7-5.7.34/packaging/rpm-docker/CMakeLists.txt --- mysql-5.7-5.7.33/packaging/rpm-docker/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/rpm-docker/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/rpm-docker/mysql.spec.in mysql-5.7-5.7.34/packaging/rpm-docker/mysql.spec.in --- mysql-5.7-5.7.33/packaging/rpm-docker/mysql.spec.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/rpm-docker/mysql.spec.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2000, 2020, Oracle and/or its affiliates. +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/rpm-fedora/CMakeLists.txt mysql-5.7-5.7.34/packaging/rpm-fedora/CMakeLists.txt --- mysql-5.7-5.7.33/packaging/rpm-fedora/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/rpm-fedora/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/rpm-fedora/mysql.spec.in mysql-5.7-5.7.34/packaging/rpm-fedora/mysql.spec.in --- mysql-5.7-5.7.33/packaging/rpm-fedora/mysql.spec.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/rpm-fedora/mysql.spec.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2000, 2020, Oracle and/or its affiliates. +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/rpm-oel/CMakeLists.txt mysql-5.7-5.7.34/packaging/rpm-oel/CMakeLists.txt --- mysql-5.7-5.7.33/packaging/rpm-oel/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/rpm-oel/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/rpm-oel/mysql.spec.in mysql-5.7-5.7.34/packaging/rpm-oel/mysql.spec.in --- mysql-5.7-5.7.33/packaging/rpm-oel/mysql.spec.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/rpm-oel/mysql.spec.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2000, 2020, Oracle and/or its affiliates. +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/rpm-sles/CMakeLists.txt mysql-5.7-5.7.34/packaging/rpm-sles/CMakeLists.txt --- mysql-5.7-5.7.33/packaging/rpm-sles/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/rpm-sles/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/rpm-sles/mysql.init mysql-5.7-5.7.34/packaging/rpm-sles/mysql.init --- mysql-5.7-5.7.33/packaging/rpm-sles/mysql.init 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/rpm-sles/mysql.init 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/bash # -# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/rpm-sles/mysql.spec.in mysql-5.7-5.7.34/packaging/rpm-sles/mysql.spec.in --- mysql-5.7-5.7.33/packaging/rpm-sles/mysql.spec.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/rpm-sles/mysql.spec.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2000, 2020, Oracle and/or its affiliates. +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/solaris/CMakeLists.txt mysql-5.7-5.7.34/packaging/solaris/CMakeLists.txt --- mysql-5.7-5.7.33/packaging/solaris/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/solaris/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/solaris/postinstall-solaris.sh mysql-5.7-5.7.34/packaging/solaris/postinstall-solaris.sh --- mysql-5.7-5.7.33/packaging/solaris/postinstall-solaris.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/solaris/postinstall-solaris.sh 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/WiX/CMakeLists.txt mysql-5.7-5.7.34/packaging/WiX/CMakeLists.txt --- mysql-5.7-5.7.33/packaging/WiX/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/WiX/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/WiX/configure_file.cmake mysql-5.7-5.7.34/packaging/WiX/configure_file.cmake --- mysql-5.7-5.7.33/packaging/WiX/configure_file.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/WiX/configure_file.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2017, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/WiX/CPackWixConfig.cmake mysql-5.7-5.7.34/packaging/WiX/CPackWixConfig.cmake --- mysql-5.7-5.7.33/packaging/WiX/CPackWixConfig.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/WiX/CPackWixConfig.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/WiX/create_msi.cmake.in mysql-5.7-5.7.34/packaging/WiX/create_msi.cmake.in --- mysql-5.7-5.7.33/packaging/WiX/create_msi.cmake.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/WiX/create_msi.cmake.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/packaging/WiX/extra.wxs.in mysql-5.7-5.7.34/packaging/WiX/extra.wxs.in --- mysql-5.7-5.7.33/packaging/WiX/extra.wxs.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/packaging/WiX/extra.wxs.in 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> %lu, " "checkpoint_seqno --> %u.", shift, checkpoint_seqno)); @@ -418,7 +418,7 @@ DBUG_RETURN(1); } rli->log_space_total += s.st_size; -#ifndef DBUG_OFF +#ifndef NDEBUG char buf[22]; DBUG_PRINT("info",("log_space_total: %s", llstr(rli->log_space_total,buf))); #endif @@ -653,7 +653,7 @@ } } my_b_seek(cur_log,(off_t)pos); -#ifndef DBUG_OFF +#ifndef NDEBUG { char llbuf1[22], llbuf2[22]; DBUG_PRINT("info", ("my_b_tell(cur_log)=%s >event_relay_log_pos=%s", @@ -894,13 +894,13 @@ DBUG_PRINT("info",("Got signal of master update or timed out")); if (error == ETIMEDOUT || error == ETIME) { -#ifndef DBUG_OFF +#ifndef NDEBUG /* Doing this to generate a stack trace and make debugging easier. */ if (DBUG_EVALUATE_IF("debug_crash_slave_time_out", 1, 0)) - DBUG_ASSERT(0); + assert(0); #endif error= -1; break; @@ -1060,13 +1060,13 @@ DBUG_PRINT("info",("Got signal of master update or timed out")); if (error == ETIMEDOUT || error == ETIME) { -#ifndef DBUG_OFF +#ifndef NDEBUG /* Doing this to generate a stack trace and make debugging easier. */ if (DBUG_EVALUATE_IF("debug_crash_slave_time_out", 1, 0)) - DBUG_ASSERT(0); + assert(0); #endif error= -1; break; @@ -1150,8 +1150,8 @@ Broadcast to master_pos_wait() waiters should be done after the table is updated. */ - DBUG_ASSERT(!is_parallel_exec() || - mts_group_status != Relay_log_info::MTS_IN_GROUP); + assert(!is_parallel_exec() || + mts_group_status != Relay_log_info::MTS_IN_GROUP); /* We do not force synchronization at this point, note the parameter false, because a non-transactional change is @@ -1318,8 +1318,8 @@ } else { - DBUG_ASSERT(slave_running == 0); - DBUG_ASSERT(mi->slave_running == 0); + assert(slave_running == 0); + assert(mi->slave_running == 0); } /* Reset the transaction boundary parser and clear the last GTID queued */ mi->transaction_parser.reset(); @@ -1375,7 +1375,7 @@ true/*need_lock_log=true*/, true/*need_lock_index=true*/); err: -#ifndef DBUG_OFF +#ifndef NDEBUG char buf[22]; #endif DBUG_PRINT("info",("log_space_total: %s",llstr(log_space_total,buf))); @@ -1407,7 +1407,7 @@ uint base_name_len; uint suffix_buff_size; - DBUG_ASSERT(base_name !=NULL); + assert(base_name !=NULL); base_name_len= strlen(base_name); suffix_buff_size= buff_size - base_name_len; @@ -1504,7 +1504,7 @@ log_pos= group_relay_log_pos; } -#ifndef DBUG_OFF +#ifndef NDEBUG { char buf[32]; DBUG_PRINT("info", ("group_master_log_name='%s', group_master_log_pos=%s", @@ -1685,11 +1685,11 @@ break; case UNTIL_NONE: - DBUG_ASSERT(0); + assert(0); break; } - DBUG_ASSERT(0); + assert(0); DBUG_RETURN(false); } @@ -1722,9 +1722,9 @@ clear_flag(IN_STMT); - DBUG_ASSERT(!belongs_to_client()); + assert(!belongs_to_client()); /* Worker does not execute binlog update position logics */ - DBUG_ASSERT(!is_mts_worker(info_thd)); + assert(!is_mts_worker(info_thd)); /* Replication keeps event and group positions to specify the @@ -1766,7 +1766,7 @@ if (is_parallel_exec()) { - DBUG_ASSERT(!is_mts_worker(info_thd)); + assert(!is_mts_worker(info_thd)); /* Format Description events only can drive MTS execution to this @@ -1790,7 +1790,7 @@ { DBUG_ENTER("Relay_log_info::cleanup_context"); - DBUG_ASSERT(info_thd == thd); + assert(info_thd == thd); /* 1) Instances of Table_map_log_event, if ::do_apply_event() was called on them, may have opened tables, which we cannot be sure have been closed (because @@ -1821,8 +1821,8 @@ DBUG_EXECUTE_IF("after_deleting_the_rows_query_ev", { const char action[]="now SIGNAL deleted_rows_query_ev WAIT_FOR go_ahead"; - DBUG_ASSERT(!debug_sync_set_action(info_thd, - STRING_WITH_LEN(action))); + assert(!debug_sync_set_action(info_thd, + STRING_WITH_LEN(action))); };); } m_table_map.clear_tables(); @@ -1837,10 +1837,10 @@ XID_STATE *xid_state= thd->get_transaction()->xid_state(); if (!xid_state->has_state(XID_STATE::XA_NOTR)) { - DBUG_ASSERT(DBUG_EVALUATE_IF("simulate_commit_failure",1, - xid_state->has_state(XID_STATE::XA_ACTIVE) || - xid_state->has_state(XID_STATE::XA_IDLE) - )); + assert(DBUG_EVALUATE_IF("simulate_commit_failure",1, + xid_state->has_state(XID_STATE::XA_ACTIVE) || + xid_state->has_state(XID_STATE::XA_IDLE) + )); xa_trans_force_rollback(thd); xid_state->reset(); @@ -1886,7 +1886,7 @@ void Relay_log_info::clear_tables_to_lock() { DBUG_ENTER("Relay_log_info::clear_tables_to_lock()"); -#ifndef DBUG_OFF +#ifndef NDEBUG /** When replicating in RBR and MyISAM Merge tables are involved open_and_lock_tables (called in do_apply_event) appends the @@ -1899,7 +1899,7 @@ */ uint i=0; for (TABLE_LIST *ptr= tables_to_lock ; ptr ; ptr= ptr->next_global, i++) ; - DBUG_ASSERT(i == tables_to_lock_count); + assert(i == tables_to_lock_count); #endif while (tables_to_lock) @@ -1925,7 +1925,7 @@ tables_to_lock_count--; my_free(to_free); } - DBUG_ASSERT(tables_to_lock == NULL && tables_to_lock_count == 0); + assert(tables_to_lock == NULL && tables_to_lock_count == 0); DBUG_VOID_RETURN; } @@ -1985,7 +1985,7 @@ bool res; DBUG_ENTER("mysql_show_relaylog_events"); - DBUG_ASSERT(thd->lex->sql_command == SQLCOM_SHOW_RELAYLOG_EVENTS); + assert(thd->lex->sql_command == SQLCOM_SHOW_RELAYLOG_EVENTS); channel_map.wrlock(); @@ -2232,7 +2232,7 @@ sql_print_error("Failed in open_index_file() called from Relay_log_info::rli_init_info()."); DBUG_RETURN(1); } -#ifndef DBUG_OFF +#ifndef NDEBUG global_sid_lock->wrlock(); gtid_set.dbug_print("set of GTIDs in relay log before initialization"); global_sid_lock->unlock(); @@ -2260,7 +2260,7 @@ DBUG_RETURN(1); } gtid_retrieved_initialized= true; -#ifndef DBUG_OFF +#ifndef NDEBUG global_sid_lock->wrlock(); gtid_set.dbug_print("set of GTIDs in relay log after initialization"); global_sid_lock->unlock(); @@ -2371,14 +2371,14 @@ goto err; } -#ifndef DBUG_OFF +#ifndef NDEBUG { char llbuf1[22], llbuf2[22]; DBUG_PRINT("info", ("my_b_tell(cur_log)=%s event_relay_log_pos=%s", llstr(my_b_tell(cur_log),llbuf1), llstr(event_relay_log_pos,llbuf2))); - DBUG_ASSERT(event_relay_log_pos >= BIN_LOG_HEADER_SIZE); - DBUG_ASSERT((my_b_tell(cur_log) == event_relay_log_pos)); + assert(event_relay_log_pos >= BIN_LOG_HEADER_SIZE); + assert((my_b_tell(cur_log) == event_relay_log_pos)); } #endif } @@ -2583,7 +2583,7 @@ constructor (or passed to it), so that we are guaranteed that it exists at this point. /Sven */ - //DBUG_ASSERT(!belongs_to_client()); + //assert(!belongs_to_client()); /* Starting from 5.1.x, relay-log.info has a new format. Now, its @@ -2665,8 +2665,8 @@ sql_delay= (int32) temp_sql_delay; internal_id= (uint) temp_internal_id; - DBUG_ASSERT(lines < LINES_IN_RELAY_LOG_INFO_WITH_ID || - (lines >= LINES_IN_RELAY_LOG_INFO_WITH_ID && internal_id == 1)); + assert(lines < LINES_IN_RELAY_LOG_INFO_WITH_ID || + (lines >= LINES_IN_RELAY_LOG_INFO_WITH_ID && internal_id == 1)); DBUG_RETURN(FALSE); } @@ -2689,7 +2689,7 @@ @todo Uncomment the following assertion. See todo in Relay_log_info::read_info() for details. /Sven */ - //DBUG_ASSERT(!belongs_to_client()); + //assert(!belongs_to_client()); if (to->prepare_info_for_write() || to->set_info((int) LINES_IN_RELAY_LOG_INFO_WITH_ID) || @@ -2728,7 +2728,7 @@ void Relay_log_info::set_rli_description_event(Format_description_log_event *fe) { DBUG_ENTER("Relay_log_info::set_rli_description_event"); - DBUG_ASSERT(!info_thd || !is_mts_worker(info_thd) || !fe); + assert(!info_thd || !is_mts_worker(info_thd) || !fe); if (fe) { @@ -2760,10 +2760,10 @@ if (rli_description_event && rli_description_event->usage_counter.atomic_add(-1) == 1) delete rli_description_event; -#ifndef DBUG_OFF +#ifndef NDEBUG else /* It must be MTS mode when the usage counter greater than 1. */ - DBUG_ASSERT(!rli_description_event || is_parallel_exec()); + assert(!rli_description_event || is_parallel_exec()); #endif rli_description_event= fe; if (rli_description_event) @@ -2933,13 +2933,13 @@ When the SQL thread or MTS Coordinator executes this method there's a constraint on current_version argument. */ - DBUG_ASSERT(!thd || - thd->rli_fake != NULL || - thd->system_thread == SYSTEM_THREAD_SLAVE_WORKER || - (thd->system_thread == SYSTEM_THREAD_SLAVE_SQL && - (!rli_description_event || - current_version == - rli_description_event->get_product_version()))); + assert(!thd || + thd->rli_fake != NULL || + thd->system_thread == SYSTEM_THREAD_SLAVE_WORKER || + (thd->system_thread == SYSTEM_THREAD_SLAVE_SQL && + (!rli_description_event || + current_version == + rli_description_event->get_product_version()))); if (master_version == current_version) return 0; @@ -2964,7 +2964,7 @@ if ((downgrade ? current_version : master_version) < ver_f) { i_last= i; - DBUG_ASSERT(i_last >= i_first); + assert(i_last >= i_first); break; } } @@ -2975,14 +2975,14 @@ for (i= i_first; i < i_last; i++) { /* Run time check of the st_feature_version items ordering */ - DBUG_ASSERT(!i || - version_product(s_features[i - 1].version_split) <= - version_product(s_features[i].version_split)); - - DBUG_ASSERT((downgrade ? master_version : current_version) < - version_product(s_features[i].version_split) && - (downgrade ? current_version : master_version >= - version_product(s_features[i].version_split))); + assert(!i || + version_product(s_features[i - 1].version_split) <= + version_product(s_features[i].version_split)); + + assert((downgrade ? master_version : current_version) < + version_product(s_features[i].version_split) && + (downgrade ? current_version : master_version >= + version_product(s_features[i].version_split))); if (downgrade && s_features[i].downgrade) { diff -Nru mysql-5.7-5.7.33/sql/rpl_rli.h mysql-5.7-5.7.34/sql/rpl_rli.h --- mysql-5.7-5.7.33/sql/rpl_rli.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_rli.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -150,7 +150,7 @@ */ inline bool belongs_to_client() { - DBUG_ASSERT(info_thd); + assert(info_thd); return !info_thd->slave_thread; } /* Instrumentation key for performance schema for mts_temp_table_LOCK */ @@ -305,7 +305,7 @@ void add_logged_gtid(rpl_sidno sidno, rpl_gno gno) { global_sid_lock->assert_some_lock(); - DBUG_ASSERT(sidno <= global_sid_map->get_max_sidno()); + assert(sidno <= global_sid_map->get_max_sidno()); gtid_set.ensure_sidno(sidno); gtid_set._add_gtid(sidno, gno); } @@ -535,7 +535,7 @@ bool get_table_data(TABLE *table_arg, table_def **tabledef_var, TABLE **conv_table_var) const { - DBUG_ASSERT(tabledef_var && conv_table_var); + assert(tabledef_var && conv_table_var); for (TABLE_LIST *ptr= tables_to_lock ; ptr != NULL ; ptr= ptr->next_global) if (ptr->table == table_arg) { @@ -821,7 +821,7 @@ { bool ret= (slave_parallel_workers > 0) && !is_mts_recovery(); - DBUG_ASSERT(!ret || !workers.empty()); + assert(!ret || !workers.empty()); return ret; } diff -Nru mysql-5.7-5.7.33/sql/rpl_rli_pdb.cc mysql-5.7-5.7.34/sql/rpl_rli_pdb.cc --- mysql-5.7-5.7.33/sql/rpl_rli_pdb.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_rli_pdb.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -30,7 +30,7 @@ #include "pfs_file_provider.h" #include "mysql/psi/mysql_file.h" -#ifndef DBUG_OFF +#ifndef NDEBUG ulong w_rr= 0; uint mts_debug_concurrent_access= 0; #endif @@ -85,11 +85,11 @@ ++rli->exit_counter; worker->exit_incremented= true; - DBUG_ASSERT(!is_mts_worker(current_thd)); + assert(!is_mts_worker(current_thd)); } -#ifndef DBUG_OFF +#ifndef NDEBUG else - DBUG_ASSERT(is_mts_worker(current_thd)); + assert(is_mts_worker(current_thd)); #endif /* @@ -239,7 +239,7 @@ In the future, it would be great if we use only one identifier. So when factoring out this code, please, consider this. */ - DBUG_ASSERT(internal_id == id + 1); + assert(internal_id == id + 1); checkpoint_relay_log_name[0]= 0; checkpoint_master_log_name[0]= 0; @@ -254,7 +254,7 @@ end_info(); if (jobs.inited_queue) { - DBUG_ASSERT(jobs.m_Q.size() == jobs.size); + assert(jobs.m_Q.size() == jobs.size); jobs.m_Q.clear(); } mysql_mutex_destroy(&jobs_lock); @@ -279,7 +279,7 @@ int Slave_worker::init_worker(Relay_log_info * rli, ulong i) { DBUG_ENTER("Slave_worker::init_worker"); - DBUG_ASSERT(!rli->info_thd->is_error()); + assert(!rli->info_thd->is_error()); Slave_job_item empty= Slave_job_item(); @@ -304,7 +304,7 @@ end_group_sets_max_dbs= false; gaq_index= last_group_done_index= c_rli->gaq->size; // out of range last_groups_assigned_index=0; - DBUG_ASSERT(!jobs.inited_queue); + assert(!jobs.inited_queue); jobs.avail= 0; jobs.len= 0; jobs.overfill= FALSE; // todo: move into Slave_jobs_queue constructor @@ -312,11 +312,11 @@ jobs.entry= jobs.size= c_rli->mts_slave_worker_queue_len_max; jobs.inited_queue= true; curr_group_seen_begin= curr_group_seen_gtid= false; -#ifndef DBUG_OFF +#ifndef NDEBUG curr_group_seen_sequence_number= false; #endif jobs.m_Q.resize(jobs.size, empty); - DBUG_ASSERT(jobs.m_Q.size() == jobs.size); + assert(jobs.m_Q.size() == jobs.size); wq_overrun_cnt= excess_cnt= 0; underrun_level= (ulong) ((rli->mts_worker_underrun_level * jobs.size) / 100.0); @@ -330,8 +330,8 @@ (Mts_submode*) new Mts_submode_logical_clock(); //workers and coordinator must be of the same type - DBUG_ASSERT(rli->current_mts_submode->get_type() == - current_mts_submode->get_type()); + assert(rli->current_mts_submode->get_type() == + current_mts_submode->get_type()); m_order_commit_deadlock= false; DBUG_RETURN(0); @@ -502,7 +502,7 @@ from->get_info(channel, sizeof(channel),(char*)"")) DBUG_RETURN(TRUE); - DBUG_ASSERT(nbytes <= no_bytes_in_map(&group_executed)); + assert(nbytes <= no_bytes_in_map(&group_executed)); internal_id=(uint) temp_internal_id; group_relay_log_pos= temp_group_relay_log_pos; @@ -550,7 +550,7 @@ ulong nbytes= (ulong) no_bytes_in_map(&group_executed); uchar *buffer= (uchar*) group_executed.bitmap; - DBUG_ASSERT(nbytes <= (c_rli->checkpoint_group + 7) / 8); + assert(nbytes <= (c_rli->checkpoint_group + 7) / 8); if (to->prepare_info_for_write() || to->set_info((int) internal_id) || @@ -650,13 +650,13 @@ */ if (ptr_g->group_relay_log_name) { - DBUG_ASSERT(strlen(ptr_g->group_relay_log_name) + 1 - <= sizeof(group_relay_log_name)); + assert(strlen(ptr_g->group_relay_log_name) + 1 + <= sizeof(group_relay_log_name)); strmake(group_relay_log_name, ptr_g->group_relay_log_name, sizeof(group_relay_log_name) - 1); } - DBUG_ASSERT(ptr_g->checkpoint_seqno <= (c_rli->checkpoint_group - 1)); + assert(ptr_g->checkpoint_seqno <= (c_rli->checkpoint_group - 1)); bitmap_set_bit(&group_executed, ptr_g->checkpoint_seqno); checkpoint_seqno= ptr_g->checkpoint_seqno; @@ -715,14 +715,14 @@ DBUG_PRINT("info", ("free_entry %s, %zu", entry->db, strlen(entry->db))); - DBUG_ASSERT(c_thd->system_thread == SYSTEM_THREAD_SLAVE_SQL); + assert(c_thd->system_thread == SYSTEM_THREAD_SLAVE_SQL); /* Although assert is correct valgrind senses entry->worker can be freed. - DBUG_ASSERT(entry->usage == 0 || - !entry->worker || // last entry owner could have errored out - entry->worker->running_status != Slave_worker::RUNNING); + assert(entry->usage == 0 || + !entry->worker || // last entry owner could have errored out + entry->worker->running_status != Slave_worker::RUNNING); */ mts_move_temp_tables_to_thd(c_thd, entry->temporary_tables); @@ -793,7 +793,7 @@ else { /* removing the first item from the list */ - DBUG_ASSERT(table == thd->temporary_tables); + assert(table == thd->temporary_tables); thd->temporary_tables= table->next; if (thd->temporary_tables) @@ -829,7 +829,7 @@ DBUG_RETURN(NULL); // accept only if this is the start of the list. - DBUG_ASSERT(!table->prev); + assert(!table->prev); // walk along the source list and associate the tables with thd do @@ -936,9 +936,9 @@ DBUG_ENTER("map_db_to_worker"); - DBUG_ASSERT(!rli->last_assigned_worker || - rli->last_assigned_worker == last_worker); - DBUG_ASSERT(is_mts_db_partitioned(rli)); + assert(!rli->last_assigned_worker || + rli->last_assigned_worker == last_worker); + assert(is_mts_db_partitioned(rli)); if (!rli->inited_hash_workers) DBUG_RETURN(NULL); @@ -1031,8 +1031,8 @@ */ for (uint i= 0; i < rli->mapping_db_to_worker.records; i++) { - DBUG_ASSERT(!entry->temporary_tables || !entry->temporary_tables->prev); - DBUG_ASSERT(!thd->temporary_tables || !thd->temporary_tables->prev); + assert(!entry->temporary_tables || !entry->temporary_tables->prev); + assert(!thd->temporary_tables || !thd->temporary_tables->prev); db_worker_hash_entry *entry= (db_worker_hash_entry*) my_hash_element(&rli->mapping_db_to_worker, i); @@ -1079,7 +1079,7 @@ else if (entry->worker == last_worker || !last_worker) { - DBUG_ASSERT(entry->worker); + assert(entry->worker); entry->usage++; } @@ -1090,8 +1090,8 @@ // the hashing conflict and is handled as the following: PSI_stage_info old_stage; - DBUG_ASSERT(last_worker != NULL && - rli->curr_group_assigned_parts.size() > 0); + assert(last_worker != NULL && + rli->curr_group_assigned_parts.size() > 0); // future assignenment and marking at the same time entry->worker= last_worker; @@ -1135,21 +1135,21 @@ thd->temporary_tables= NULL; } } -#ifndef DBUG_OFF +#ifndef NDEBUG else { // all entries must have been emptied from temps by the caller for (TABLE *table= thd->temporary_tables; table; table= table->next) { - DBUG_ASSERT(0 != strcmp(table->s->db.str, entry->db)); + assert(0 != strcmp(table->s->db.str, entry->db)); } } #endif } mysql_mutex_unlock(&rli->slave_worker_hash_lock); - DBUG_ASSERT(entry); + assert(entry); err: if (entry) @@ -1196,7 +1196,7 @@ { ptr_g= c_rli->gaq->get_job_group(gaq_index); - DBUG_ASSERT(gaq_index == ev->mts_group_idx); + assert(gaq_index == ev->mts_group_idx); /* It guarantees that the worker is removed from order commit queue when its transaction doesn't binlog anything. It will break innodb group commit, @@ -1206,9 +1206,9 @@ get_commit_order_manager()->report_commit(this); // first ever group must have relay log name - DBUG_ASSERT(last_group_done_index != c_rli->gaq->size || - ptr_g->group_relay_log_name != NULL); - DBUG_ASSERT(ptr_g->worker_id == id); + assert(last_group_done_index != c_rli->gaq->size || + ptr_g->group_relay_log_name != NULL); + assert(ptr_g->worker_id == id); if (ev->get_type_code() != binary_log::XID_EVENT) { @@ -1260,11 +1260,11 @@ mysql_mutex_lock(&c_rli->slave_worker_hash_lock); - DBUG_ASSERT(entry); + assert(entry); entry->usage --; - DBUG_ASSERT(entry->usage >= 0); + assert(entry->usage >= 0); if (entry->usage == 0) { @@ -1274,15 +1274,15 @@ with the entry at least until time Coordinator will deallocate it from the hash, that is either due to stop or extra size of the hash. */ - DBUG_ASSERT(usage_partition >= 0); - DBUG_ASSERT(this->info_thd->temporary_tables == 0); - DBUG_ASSERT(!entry->temporary_tables || - !entry->temporary_tables->prev); + assert(usage_partition >= 0); + assert(this->info_thd->temporary_tables == 0); + assert(!entry->temporary_tables || + !entry->temporary_tables->prev); if (entry->worker != this) // Coordinator is waiting { -#ifndef DBUG_OFF - // TODO: open it! DBUG_ASSERT(usage_partition || !entry->worker->jobs.len); +#ifndef NDEBUG + // TODO: open it! assert(usage_partition || !entry->worker->jobs.len); #endif DBUG_PRINT("info", ("Notifying entry %p release by worker %lu", entry, this->id)); @@ -1291,7 +1291,7 @@ } } else - DBUG_ASSERT(usage_partition != 0); + assert(usage_partition != 0); mysql_mutex_unlock(&c_rli->slave_worker_hash_lock); } @@ -1309,8 +1309,8 @@ } else // not DB-type scheduler { - DBUG_ASSERT(current_mts_submode->get_type() == - MTS_PARALLEL_TYPE_LOGICAL_CLOCK); + assert(current_mts_submode->get_type() == + MTS_PARALLEL_TYPE_LOGICAL_CLOCK); /* Check if there're any waiter. If there're try incrementing lwm and signal to those who've got sasfied with the waiting condition. @@ -1328,8 +1328,8 @@ DBUG_EXECUTE_IF("slave_worker_ends_group_before_signal_lwm", { const char act[]= "now WAIT_FOR worker_continue"; - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); }); if (unlikely(error)) @@ -1363,7 +1363,7 @@ mysql_mutex_unlock(&c_rli->mts_gaq_LOCK); } -#ifndef DBUG_OFF +#ifndef NDEBUG curr_group_seen_sequence_number= false; #endif } @@ -1387,8 +1387,8 @@ template bool circular_buffer_queue::gt(ulong i, ulong k) { - DBUG_ASSERT(i < size && k < size); - DBUG_ASSERT(avail != entry); + assert(i < size && k < size); + assert(avail != entry); if (i >= entry) if (k >= entry) @@ -1402,7 +1402,7 @@ return i > k; } -#ifndef DBUG_OFF +#ifndef NDEBUG bool Slave_committed_queue::count_done(Relay_log_info* rli) { ulong i, k, cnt= 0; @@ -1417,7 +1417,7 @@ cnt++; } - DBUG_ASSERT(cnt <= size); + assert(cnt <= size); DBUG_PRINT("mts", ("Checking if it can simulate a crash:" " mts_checkpoint_group %u counter %lu parallel slaves %lu\n", @@ -1460,7 +1460,7 @@ Slave_job_group *ptr_g; char grl_name[FN_REFLEN]; -#ifndef DBUG_OFF +#ifndef NDEBUG if (DBUG_EVALUATE_IF("check_slave_debug_group", 1, 0) && cnt == opt_mts_checkpoint_period) DBUG_RETURN(cnt); @@ -1499,7 +1499,7 @@ Removes the job from the (G)lobal (A)ssigned (Q)ueue. */ Slave_job_group g= Slave_job_group(); -#ifndef DBUG_OFF +#ifndef NDEBUG ulong ind= #endif de_queue(&g); @@ -1516,17 +1516,17 @@ g.group_relay_log_name= lwm.group_relay_log_name; lwm= g; - DBUG_ASSERT(ind == i); - DBUG_ASSERT(!ptr_g->group_relay_log_name); - DBUG_ASSERT(ptr_g->total_seqno == lwm.total_seqno); -#ifndef DBUG_OFF + assert(ind == i); + assert(!ptr_g->group_relay_log_name); + assert(ptr_g->total_seqno == lwm.total_seqno); +#ifndef NDEBUG { ulonglong l= last_done[w_i->id]; /* There must be some progress otherwise we should have exit the loop earlier. */ - DBUG_ASSERT(l < ptr_g->total_seqno); + assert(l < ptr_g->total_seqno); } #endif /* @@ -1536,7 +1536,7 @@ last_done[w_i->id]= ptr_g->total_seqno; } - DBUG_ASSERT(cnt <= size); + assert(cnt <= size); DBUG_RETURN(cnt); } @@ -1565,7 +1565,7 @@ Slave_job_group *ptr_g= NULL; ulong i, k, cnt; - DBUG_ASSERT(start_index <= size); + assert(start_index <= size); if (empty()) return size; @@ -1625,8 +1625,8 @@ my_free(ptr_g->group_master_log_name); } } - DBUG_ASSERT((avail == size /* full */ || entry == size /* empty */) || - i == avail /* all occupied are processed */); + assert((avail == size /* full */ || entry == size /* empty */) || + i == avail /* all occupied are processed */); } @@ -1706,7 +1706,7 @@ this->va_report(level, err_code, buff_coord, msg, args); } -#ifndef DBUG_OFF +#ifndef NDEBUG static bool may_have_timestamp(Log_event *ev) { bool res= false; @@ -1791,7 +1791,7 @@ ev->thd= thd; // todo: assert because up to this point, ev->thd == 0 ev->worker= this; -#ifndef DBUG_OFF +#ifndef NDEBUG if (!is_mts_db_partitioned(rli) && may_have_timestamp(ev) && !curr_group_seen_sequence_number) { @@ -1809,19 +1809,19 @@ must have been satisfied by Coordinator. The first scheduled transaction does not have to wait for anybody. */ - DBUG_ASSERT(rli->gaq->entry == ev->mts_group_idx || - Mts_submode_logical_clock::clock_leq(last_committed, - lwm_estimate)); - DBUG_ASSERT(lwm_estimate != SEQ_UNINIT || rli->gaq->entry == ev->mts_group_idx); + assert(rli->gaq->entry == ev->mts_group_idx || + Mts_submode_logical_clock::clock_leq(last_committed, + lwm_estimate)); + assert(lwm_estimate != SEQ_UNINIT || rli->gaq->entry == ev->mts_group_idx); /* The current transaction's timestamp can't be less that lwm. */ - DBUG_ASSERT(sequence_number == SEQ_UNINIT || - !Mts_submode_logical_clock:: - clock_leq(sequence_number, - static_cast - (rli->current_mts_submode)-> - estimate_lwm_timestamp())); + assert(sequence_number == SEQ_UNINIT || + !Mts_submode_logical_clock:: + clock_leq(sequence_number, + static_cast + (rli->current_mts_submode)-> + estimate_lwm_timestamp())); } #endif @@ -1835,7 +1835,7 @@ if (num_dbs == OVER_MAX_DBS_IN_EVENT_MTS) num_dbs= 1; - DBUG_ASSERT(num_dbs > 0); + assert(num_dbs > 0); for (uint k= 0; k < num_dbs; k++) { @@ -1850,7 +1850,7 @@ { /* notice, can't assert - DBUG_ASSERT(ev->mts_assigned_partitions[k]->worker == worker); + assert(ev->mts_assigned_partitions[k]->worker == worker); since entry could be marked as wanted by other worker. */ curr_group_exec_parts.push_back(ev->mts_assigned_partitions[k]); @@ -1969,7 +1969,7 @@ { error= ER_LOCK_DEADLOCK; } -#ifndef DBUG_OFF +#ifndef NDEBUG else { /* @@ -1979,7 +1979,7 @@ fail an assert to ease the issue investigation when it happens. */ if (DBUG_EVALUATE_IF("rpl_fake_cod_deadlock", 0, 1)) - DBUG_ASSERT(false); + assert(false); } #endif } @@ -2190,7 +2190,7 @@ { if (jobs->avail == jobs->size) { - DBUG_ASSERT(jobs->avail == jobs->m_Q.size()); + assert(jobs->avail == jobs->m_Q.size()); return -1; } @@ -2208,9 +2208,9 @@ // post-boundary cond if (jobs->avail == jobs->entry) jobs->avail= jobs->size; - DBUG_ASSERT(jobs->avail == jobs->entry || - jobs->len == (jobs->avail >= jobs->entry) ? - (jobs->avail - jobs->entry) : (jobs->size + jobs->avail - jobs->entry)); + assert(jobs->avail == jobs->entry || + jobs->len == (jobs->avail >= jobs->entry) ? + (jobs->avail - jobs->entry) : (jobs->size + jobs->avail - jobs->entry)); return jobs->avail; } @@ -2243,13 +2243,13 @@ { if (jobs->entry == jobs->size) { - DBUG_ASSERT(jobs->len == 0); + assert(jobs->len == 0); ret->data= NULL; // todo: move to caller return NULL; } *ret= jobs->m_Q[jobs->entry]; - DBUG_ASSERT(ret->data); // todo: move to caller + assert(ret->data); // todo: move to caller return ret; } @@ -2262,7 +2262,7 @@ { if (jobs->entry == jobs->size) { - DBUG_ASSERT(jobs->len == 0); + assert(jobs->len == 0); return NULL; } *ret= jobs->m_Q[jobs->entry]; @@ -2277,10 +2277,10 @@ if (jobs->avail == jobs->entry) jobs->entry= jobs->size; - DBUG_ASSERT(jobs->entry == jobs->size || - (jobs->len == (jobs->avail >= jobs->entry) ? - (jobs->avail - jobs->entry) : - (jobs->size + jobs->avail - jobs->entry))); + assert(jobs->entry == jobs->size || + (jobs->len == (jobs->avail >= jobs->entry) ? + (jobs->avail - jobs->entry) : + (jobs->size + jobs->avail - jobs->entry))); return ret; } @@ -2305,7 +2305,7 @@ ulonglong new_pend_size; PSI_stage_info old_stage; - DBUG_ASSERT(thd == current_thd); + assert(thd == current_thd); mysql_mutex_lock(&rli->pending_jobs_lock); new_pend_size= rli->mts_pending_jobs_size + ev_size; @@ -2451,7 +2451,7 @@ rli->pending_jobs--; rli->mts_pending_jobs_size-= ev->common_header->data_written; - DBUG_ASSERT(rli->mts_pending_jobs_size < rli->mts_pending_jobs_size_max); + assert(rli->mts_pending_jobs_size < rli->mts_pending_jobs_size_max); /* The positive branch is underrun: number of pending assignments @@ -2490,8 +2490,8 @@ rli->mts_wq_overrun_cnt++; // statistics // guarding correctness of incrementing in case of the only one Worker - DBUG_ASSERT(rli->workers.size() != 1 || - rli->mts_wq_excess_cnt == worker->wq_overrun_cnt); + assert(rli->workers.size() != 1 || + rli->mts_wq_excess_cnt == worker->wq_overrun_cnt); } else if (worker->excess_cnt > 0) { @@ -2501,8 +2501,8 @@ worker->excess_cnt= 0; worker->wq_overrun_cnt= 0; // and the local is reset - DBUG_ASSERT(rli->mts_wq_excess_cnt >= 0); - DBUG_ASSERT(rli->mts_wq_excess_cnt == 0 || rli->workers.size() > 1); + assert(rli->mts_wq_excess_cnt >= 0); + assert(rli->mts_wq_excess_cnt == 0 || rli->workers.size() > 1); } @@ -2664,14 +2664,14 @@ if (unlikely(thd->killed || worker->running_status == Slave_worker::STOP_ACCEPTED)) { - DBUG_ASSERT(worker->running_status != Slave_worker::ERROR_LEAVING); + assert(worker->running_status != Slave_worker::ERROR_LEAVING); // de-queueing and decrement counters is in the caller's exit branch error= -1; goto err; } ev= job_item->data; - DBUG_ASSERT(ev != NULL); + assert(ev != NULL); DBUG_PRINT("info", ("W_%lu <- job item: %p data: %p thd: %p", worker->id, job_item, ev, thd)); if (is_gtid_event(ev)) @@ -2713,9 +2713,9 @@ WL#7592 refines the original assert disjunction formula with the final disjunct. */ - DBUG_ASSERT(seen_begin || is_gtid_event(ev) || - ev->get_type_code() == binary_log::QUERY_EVENT || - is_mts_db_partitioned(rli) || worker->id == 0 || seen_gtid); + assert(seen_begin || is_gtid_event(ev) || + ev->get_type_code() == binary_log::QUERY_EVENT || + is_mts_db_partitioned(rli) || worker->id == 0 || seen_gtid); if (ev->ends_group() || (!seen_begin && !is_gtid_event(ev) && @@ -2737,7 +2737,7 @@ /* The group is applied successfully, so error should be 0 */ worker->slave_worker_ends_group(ev, 0); -#ifndef DBUG_OFF +#ifndef NDEBUG DBUG_PRINT("mts", ("Check_slave_debug_group worker %lu mts_checkpoint_group" " %u processed %lu debug %d\n", worker->id, opt_mts_checkpoint_group, worker->groups_done, diff -Nru mysql-5.7-5.7.33/sql/rpl_rli_pdb.h mysql-5.7-5.7.34/sql/rpl_rli_pdb.h --- mysql-5.7-5.7.33/sql/rpl_rli_pdb.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_rli_pdb.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -34,7 +34,7 @@ #include "rpl_rli.h" // Relay_log_info #include "rpl_slave.h" // MTS_WORKER_UNDEF -#ifndef DBUG_OFF +#ifndef NDEBUG extern ulong w_rr; #endif /** @@ -122,7 +122,7 @@ int32 done; // Flag raised by W, read and reset by Coordinator ulong shifted; // shift the last CP bitmap at receiving a new CP time_t ts; // Group's timestampt to update Seconds_behind_master -#ifndef DBUG_OFF +#ifndef NDEBUG bool notified; // to debug group_master_log_name change notification #endif /* Clock-based scheduler requirement: */ @@ -173,7 +173,7 @@ checkpoint_seqno= (uint) -1; done= 0; ts= 0; -#ifndef DBUG_OFF +#ifndef NDEBUG notified= false; #endif last_committed= SEQ_UNINIT; @@ -310,7 +310,7 @@ } } -#ifndef DBUG_OFF +#ifndef NDEBUG bool count_done(Relay_log_info* rli); #endif @@ -324,7 +324,7 @@ */ Slave_job_group* get_job_group(ulong ind) { - DBUG_ASSERT(ind < size); + assert(ind < size); return &m_Q[ind]; } @@ -376,7 +376,7 @@ ulong ret; if (avail == size) { - DBUG_ASSERT(avail == m_Q.size()); + assert(avail == m_Q.size()); return (ulong) -1; } @@ -396,10 +396,10 @@ if (avail == entry) avail= size; - DBUG_ASSERT(avail == entry || - len == (avail >= entry) ? - (avail - entry) : (size + avail - entry)); - DBUG_ASSERT(avail != entry); + assert(avail == entry || + len == (avail >= entry) ? + (avail - entry) : (size + avail - entry)); + assert(avail != entry); return ret; } @@ -419,7 +419,7 @@ ulong ret; if (entry == size) { - DBUG_ASSERT(len == 0); + assert(len == 0); return (ulong) -1; } @@ -436,10 +436,10 @@ if (avail == entry) entry= size; - DBUG_ASSERT(entry == size || - (len == (avail >= entry)? (avail - entry) : - (size + avail - entry))); - DBUG_ASSERT(avail != entry); + assert(entry == size || + (len == (avail >= entry)? (avail - entry) : + (size + avail - entry))); + assert(avail != entry); return ret; } @@ -450,7 +450,7 @@ { if (entry == size) { - DBUG_ASSERT(len == 0); + assert(len == 0); return (ulong) -1; } @@ -462,10 +462,10 @@ if (avail == entry) entry= size; - DBUG_ASSERT(entry == size || - (len == (avail >= entry)? (avail - entry) : - (size + avail - entry))); - DBUG_ASSERT(avail != entry); + assert(entry == size || + (len == (avail >= entry)? (avail - entry) : + (size + avail - entry))); + assert(avail != entry); return avail; } @@ -511,7 +511,7 @@ curr_group_exec_parts; // Current Group Executed Partitions bool curr_group_seen_begin; // is set to TRUE with explicit B-event -#ifndef DBUG_OFF +#ifndef NDEBUG bool curr_group_seen_sequence_number; // is set to TRUE about starts_group() #endif ulong id; // numberic identifier of the Worker @@ -690,12 +690,12 @@ } if (rli_description_event) { - DBUG_ASSERT(rli_description_event->usage_counter.atomic_get() > 0); + assert(rli_description_event->usage_counter.atomic_get() > 0); if (rli_description_event->usage_counter.atomic_add(-1) == 1) { /* The being deleted by Worker FD can't be the latest one */ - DBUG_ASSERT(rli_description_event != c_rli->get_rli_description_event()); + assert(rli_description_event != c_rli->get_rli_description_event()); delete rli_description_event; } diff -Nru mysql-5.7-5.7.33/sql/rpl_slave.cc mysql-5.7-5.7.34/sql/rpl_slave.cc --- mysql-5.7-5.7.33/sql/rpl_slave.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_slave.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -240,8 +240,8 @@ static void set_thd_tx_priority(THD* thd, int priority) { DBUG_ENTER("set_thd_tx_priority"); - DBUG_ASSERT(thd->system_thread == SYSTEM_THREAD_SLAVE_SQL || - thd->system_thread == SYSTEM_THREAD_SLAVE_WORKER); + assert(thd->system_thread == SYSTEM_THREAD_SLAVE_SQL || + thd->system_thread == SYSTEM_THREAD_SLAVE_WORKER); thd->thd_tx_priority= priority; DBUG_EXECUTE_IF("dbug_set_high_prio_sql_thread", @@ -258,7 +258,7 @@ @param thd Thread handler @param ignore_limit if the memory limits should be ignored - @param allow_drop_writeset if this thread does not require WS to always be + @param allow_drop_write_set if this thread does not require WS to always be logged */ static void set_thd_write_set_options(THD *thd, bool ignore_limit, @@ -283,7 +283,7 @@ { DBUG_ENTER("set_slave_max_allowed_packet"); // thd and mysql must be valid - DBUG_ASSERT(thd && mysql); + assert(thd && mysql); thd->variables.max_allowed_packet= slave_max_allowed_packet; /* @@ -434,7 +434,7 @@ &channel_map))) sql_print_error("Failed to create or recover replication info repositories."); -#ifndef DBUG_OFF +#ifndef NDEBUG /* @todo: Print it for all the channels */ { Master_info *default_mi; @@ -559,7 +559,7 @@ if (channel_map.get_num_instances() == 1) { mi= channel_map.get_default_channel_mi(); - DBUG_ASSERT(mi); + assert(mi); if (start_slave(thd, &thd->lex->slave_connection, &thd->lex->mi, thd->lex->slave_thd_opt, mi, true)) DBUG_RETURN(true); @@ -634,8 +634,8 @@ { mi= channel_map.get_default_channel_mi(); - DBUG_ASSERT(!strcmp(mi->get_channel(), - channel_map.get_default_channel())); + assert(!strcmp(mi->get_channel(), + channel_map.get_default_channel())); error= stop_slave(thd, mi, 1, false /*for_one_channel*/, &push_temp_table_warning); @@ -880,7 +880,7 @@ first event of the log. */ Format_description_log_event fd_ev(BINLOG_VERSION), *fd_ev_p= &fd_ev; - DBUG_ASSERT(fd_ev.is_valid()); + assert(fd_ev.is_valid()); IO_CACHE log; const char *errmsg= NULL; File file= open_binlog_file(&log, filename, &errmsg); @@ -913,7 +913,7 @@ if (ev->server_id && ev->server_id != ::server_id) { Rotate_log_event *rotate_ev= (Rotate_log_event *)ev; - DBUG_ASSERT(FN_REFLEN >= rotate_ev->ident_len + 1); + assert(FN_REFLEN >= rotate_ev->ident_len + 1); memcpy(master_log_file, rotate_ev->new_log_ident, rotate_ev->ident_len + 1); *master_log_pos= rotate_ev->pos; ret= FOUND_ROTATE; @@ -1303,7 +1303,7 @@ int thread_mask) { DBUG_ENTER("init_info"); - DBUG_ASSERT(mi != NULL && mi->rli != NULL); + assert(mi != NULL && mi->rli != NULL); int init_error= 0; enum_return_check check_return= ERROR_CHECKING_REPOSITORY; THD *thd= current_thd; @@ -1395,7 +1395,7 @@ void end_info(Master_info* mi) { DBUG_ENTER("end_info"); - DBUG_ASSERT(mi != NULL && mi->rli != NULL); + assert(mi != NULL && mi->rli != NULL); /* The previous implementation was not acquiring locks. We do the same here. @@ -1411,7 +1411,7 @@ { int error= 1; DBUG_ENTER("remove_info"); - DBUG_ASSERT(mi != NULL && mi->rli != NULL); + assert(mi != NULL && mi->rli != NULL); /* The previous implementation was not acquiring locks. @@ -1449,7 +1449,7 @@ int flush_master_info(Master_info* mi, bool force) { DBUG_ENTER("flush_master_info"); - DBUG_ASSERT(mi != NULL && mi->rli != NULL); + assert(mi != NULL && mi->rli != NULL); /* The previous implementation was not acquiring locks. We do the same here. However, this is quite strange. @@ -1496,8 +1496,8 @@ */ const size_t MIN_ROOM= 10; DBUG_ENTER("print_slave_skip_errors"); - DBUG_ASSERT(sizeof(slave_skip_error_names) > MIN_ROOM); - DBUG_ASSERT(MAX_SLAVE_ERROR <= 999999); // 6 digits + assert(sizeof(slave_skip_error_names) > MIN_ROOM); + assert(MAX_SLAVE_ERROR <= 999999); // 6 digits if (!use_slave_mask || bitmap_is_clear_all(&slave_error_mask)) { @@ -1565,7 +1565,7 @@ static void init_slave_skip_errors() { DBUG_ENTER("init_slave_skip_errors"); - DBUG_ASSERT(!use_slave_mask); // not already initialized + assert(!use_slave_mask); // not already initialized if (bitmap_init(&slave_error_mask,0,MAX_SLAVE_ERROR,0)) { @@ -1579,8 +1579,8 @@ static void add_slave_skip_errors(const uint* errors, uint n_errors) { DBUG_ENTER("add_slave_skip_errors"); - DBUG_ASSERT(errors); - DBUG_ASSERT(use_slave_mask); + assert(errors); + assert(use_slave_mask); for (uint i = 0; i < n_errors; i++) { @@ -1752,8 +1752,8 @@ { const char act[]= "now SIGNAL reached_stopping_io_thread"; - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); };); if ((error=terminate_slave_thread(mi->info_thd,io_lock, &mi->stop_cond, @@ -1870,7 +1870,7 @@ DBUG_RETURN(ER_SLAVE_CHANNEL_NOT_RUNNING); } } - DBUG_ASSERT(thd != 0); + assert(thd != 0); THD_CHECK_SENTRY(thd); /* @@ -1890,7 +1890,7 @@ */ #ifndef _WIN32 int err MY_ATTRIBUTE((unused))= pthread_kill(thd->real_id, SIGUSR1); - DBUG_ASSERT(err != EINVAL); + assert(err != EINVAL); #endif thd->awake(THD::NOT_KILLED); mysql_mutex_unlock(&thd->LOCK_thd_data); @@ -1901,7 +1901,7 @@ */ struct timespec abstime; set_timespec(&abstime,2); -#ifndef DBUG_OFF +#ifndef NDEBUG int error= #endif mysql_cond_timedwait(term_cond, term_lock, &abstime); @@ -1913,10 +1913,10 @@ mysql_mutex_unlock(term_lock); DBUG_RETURN (1); } - DBUG_ASSERT(error == ETIMEDOUT || error == 0); + assert(error == ETIMEDOUT || error == 0); } - DBUG_ASSERT(*slave_running == 0); + assert(*slave_running == 0); if (need_lock_term) mysql_mutex_unlock(term_lock); @@ -2210,8 +2210,8 @@ { DBUG_ENTER("io_slave_killed"); - DBUG_ASSERT(mi->info_thd == thd); - DBUG_ASSERT(mi->slave_running); // tracking buffer overrun + assert(mi->info_thd == thd); + assert(mi->slave_running); // tracking buffer overrun DBUG_RETURN(mi->abort_slave || abort_loop || thd->killed); } @@ -2240,8 +2240,8 @@ DBUG_ENTER("sql_slave_killed"); - DBUG_ASSERT(rli->info_thd == thd); - DBUG_ASSERT(rli->slave_running == 1); + assert(rli->info_thd == thd); + assert(rli->slave_running == 1); if (rli->sql_thread_kill_accepted) DBUG_RETURN(true); DBUG_EXECUTE_IF("stop_when_mts_in_group", rli->abort_slave = 1; @@ -2485,7 +2485,7 @@ } } else - DBUG_ASSERT(master_row == NULL); + assert(master_row == NULL); DBUG_RETURN(COMMAND_STATUS_OK); } @@ -2561,19 +2561,19 @@ DBUG_EXECUTE_IF("dbug.before_get_MASTER_UUID", { const char act[]= "now wait_for signal.get_master_uuid"; - DBUG_ASSERT(opt_debug_sync_timeout > 0); - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(opt_debug_sync_timeout > 0); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); };); DBUG_EXECUTE_IF("dbug.simulate_busy_io", { const char act[]= "now signal Reached wait_for signal.got_stop_slave"; - DBUG_ASSERT(opt_debug_sync_timeout > 0); - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(opt_debug_sync_timeout > 0); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); };); -#ifndef DBUG_OFF +#ifndef NDEBUG DBUG_EXECUTE_IF("dbug.simulate_no_such_var_server_uuid", { query_buf[strlen(query_buf) - 1]= '_'; // currupt the last char @@ -2810,10 +2810,10 @@ mi->get_mi_description_event()->common_footer->checksum_alg= mi->rli->relay_log.relay_log_checksum_alg; - DBUG_ASSERT(mi->get_mi_description_event()->common_footer->checksum_alg != - binary_log::BINLOG_CHECKSUM_ALG_UNDEF); - DBUG_ASSERT(mi->rli->relay_log.relay_log_checksum_alg != - binary_log::BINLOG_CHECKSUM_ALG_UNDEF); + assert(mi->get_mi_description_event()->common_footer->checksum_alg != + binary_log::BINLOG_CHECKSUM_ALG_UNDEF); + assert(mi->rli->relay_log.relay_log_checksum_alg != + binary_log::BINLOG_CHECKSUM_ALG_UNDEF); mysql_mutex_unlock(&mi->data_lock); @@ -2827,9 +2827,9 @@ const char act[]= "now " "wait_for signal.get_unix_timestamp"; - DBUG_ASSERT(opt_debug_sync_timeout > 0); - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(opt_debug_sync_timeout > 0); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); };); master_res= NULL; @@ -2882,9 +2882,9 @@ const char act[]= "now " "wait_for signal.get_server_id"; - DBUG_ASSERT(opt_debug_sync_timeout > 0); - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(opt_debug_sync_timeout > 0); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); };); master_res= NULL; master_row= NULL; @@ -3189,10 +3189,10 @@ } // valid outcome is either of - DBUG_ASSERT(mi->checksum_alg_before_fd == - binary_log::BINLOG_CHECKSUM_ALG_OFF || - mi->checksum_alg_before_fd == - binary_log::BINLOG_CHECKSUM_ALG_CRC32); + assert(mi->checksum_alg_before_fd == + binary_log::BINLOG_CHECKSUM_ALG_OFF || + mi->checksum_alg_before_fd == + binary_log::BINLOG_CHECKSUM_ALG_CRC32); } else if (check_io_slave_killed(mi->info_thd, mi, NULL)) goto slave_killed_err; @@ -3316,7 +3316,7 @@ { if (master_res) mysql_free_result(master_res); - DBUG_ASSERT(err_code != 0); + assert(err_code != 0); mi->report(ERROR_LEVEL, err_code, "%s", err_buff); DBUG_RETURN(1); } @@ -3377,7 +3377,7 @@ */ if (rli->ignore_log_space_limit) { -#ifndef DBUG_OFF +#ifndef NDEBUG { char llbuf1[22], llbuf2[22]; DBUG_PRINT("info", ("log_space_limit=%s " @@ -3429,7 +3429,7 @@ int error= 0; DBUG_ENTER("write_ignored_events_info_to_relay_log"); - DBUG_ASSERT(thd == mi->info_thd); + assert(thd == mi->info_thd); mysql_mutex_assert_owner(&mi->data_lock); mysql_mutex_lock(log_lock); if (rli->ign_master_log_name_end[0]) @@ -3777,7 +3777,7 @@ until_type= "DONE"; break; default: - DBUG_ASSERT(0); + assert(0); } protocol->store(until_type, &my_charset_bin); protocol->store(mi->rli->until_log_name, &my_charset_bin); @@ -4288,7 +4288,7 @@ static int init_slave_thread(THD* thd, SLAVE_THD_TYPE thd_type) { DBUG_ENTER("init_slave_thread"); -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) int simulate_error= 0; #endif thd->system_thread= (thd_type == SLAVE_THD_WORKER) ? @@ -4320,7 +4320,7 @@ simulate_error|= (1 << SLAVE_THD_IO);); DBUG_EXECUTE_IF("simulate_sql_slave_error_on_init", simulate_error|= (1 << SLAVE_THD_SQL);); -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) if (thd->store_globals() || simulate_error & (1<< thd_type)) #else if (thd->store_globals()) @@ -4457,7 +4457,7 @@ ptr_buffer+= encoded_data_size; command_size= ptr_buffer - command_buffer; - DBUG_ASSERT(command_size == (allocation_size - 1)); + assert(command_size == (allocation_size - 1)); } else { @@ -4481,7 +4481,7 @@ ptr_buffer+= BINLOG_NAME_INFO_SIZE; command_size= ptr_buffer - command_buffer; - DBUG_ASSERT(command_size == (allocation_size - 1)); + assert(command_size == (allocation_size - 1)); } if (simple_command(mysql, command, command_buffer, command_size, 1)) @@ -4535,7 +4535,7 @@ my_real_read() will time us out We check if we were told to die, and if not, try reading again */ -#ifndef DBUG_OFF +#ifndef NDEBUG if (disconnect_slave_event_count && !(mi->events_until_exit--)) DBUG_RETURN(packet_error); #endif @@ -4607,7 +4607,7 @@ DBUG_ENTER("sql_delay_event"); mysql_mutex_assert_owner(&rli->data_lock); - DBUG_ASSERT(!rli->belongs_to_client()); + assert(!rli->belongs_to_client()); int type= ev->get_type_code(); if (sql_delay && type != binary_log::ROTATE_EVENT && @@ -4761,7 +4761,7 @@ { reason= ev->shall_skip(rli); } -#ifndef DBUG_OFF +#ifndef NDEBUG if (rli->is_mts_recovery()) { DBUG_PRINT("mts", ("Mts is recovering %d, number of bits set %d, " @@ -4806,7 +4806,7 @@ bool need_sync= ev->is_mts_group_isolated(); // all events except BEGIN-query must be marked with a non-NULL Worker - DBUG_ASSERT(((Slave_worker*) ev->worker) == rli->last_assigned_worker); + assert(((Slave_worker*) ev->worker) == rli->last_assigned_worker); DBUG_PRINT("Log_event::apply_event:", ("-> job item data %p to W_%lu", job_item->data, w->id)); @@ -4929,7 +4929,7 @@ (ev->ends_group() || !rli->mts_recovery_group_seen_begin) && bitmap_is_set(&rli->recovery_groups, rli->mts_recovery_index)))) { -#ifndef DBUG_OFF +#ifndef NDEBUG /* This only prints information to the debug trace. @@ -4969,7 +4969,7 @@ if (skip_event) free_root(thd->mem_root, MYF(MY_KEEP_PREALLOC)); -#ifndef DBUG_OFF +#ifndef NDEBUG DBUG_PRINT("info", ("update_pos error = %d", error)); if (!rli->belongs_to_client()) { @@ -4989,12 +4989,12 @@ INTVAR_EVENT, RAND_EVENT, USER_VAR_EVENT and ROWS_QUERY_LOG_EVENT are deferred event. It means ev->worker is NULL. */ - DBUG_ASSERT(*ptr_ev == ev || rli->is_parallel_exec() || - (!ev->worker && - (ev->get_type_code() == binary_log::INTVAR_EVENT || - ev->get_type_code() == binary_log::RAND_EVENT || - ev->get_type_code() == binary_log::USER_VAR_EVENT || - ev->get_type_code() == binary_log::ROWS_QUERY_LOG_EVENT))); + assert(*ptr_ev == ev || rli->is_parallel_exec() || + (!ev->worker && + (ev->get_type_code() == binary_log::INTVAR_EVENT || + ev->get_type_code() == binary_log::RAND_EVENT || + ev->get_type_code() == binary_log::USER_VAR_EVENT || + ev->get_type_code() == binary_log::ROWS_QUERY_LOG_EVENT))); rli->inc_event_relay_log_pos(); } @@ -5220,7 +5220,7 @@ Log_event *ev = next_event(rli), **ptr_ev; - DBUG_ASSERT(rli->info_thd==thd); + assert(rli->info_thd==thd); if (sql_slave_killed(thd,rli)) { @@ -5256,7 +5256,7 @@ { rli->last_master_timestamp= ev->common_header->when.tv_sec + (time_t) ev->exec_time; - DBUG_ASSERT(rli->last_master_timestamp >= 0); + assert(rli->last_master_timestamp >= 0); } /* @@ -5292,8 +5292,8 @@ ((ev->get_type_code() == binary_log::QUERY_EVENT) && strcmp("COMMIT", ((Query_log_event *) ev)->query) == 0)) { - DBUG_ASSERT(thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::SESSION)); + assert(thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::SESSION)); rli->abort_slave= 1; mysql_mutex_unlock(&rli->data_lock); delete ev; @@ -5338,15 +5338,15 @@ */ if (*ptr_ev) { - DBUG_ASSERT(*ptr_ev == ev); // event remains to belong to Coordinator + assert(*ptr_ev == ev); // event remains to belong to Coordinator DBUG_EXECUTE_IF("dbug.calculate_sbm_after_previous_gtid_log_event", { if (ev->get_type_code() == binary_log::PREVIOUS_GTIDS_LOG_EVENT) { const char act[]= "now signal signal.reached wait_for signal.done_sbm_calculation"; - DBUG_ASSERT(opt_debug_sync_timeout > 0); - DBUG_ASSERT(!debug_sync_set_action(thd, STRING_WITH_LEN(act))); + assert(opt_debug_sync_timeout > 0); + assert(!debug_sync_set_action(thd, STRING_WITH_LEN(act))); } };); DBUG_EXECUTE_IF("dbug.calculate_sbm_after_fake_rotate_log_event", @@ -5354,9 +5354,9 @@ if (ev->get_type_code() == binary_log::ROTATE_EVENT && ev->is_artificial_event()) { const char act[]= "now signal signal.reached wait_for signal.done_sbm_calculation"; - DBUG_ASSERT(opt_debug_sync_timeout > 0); - DBUG_ASSERT(!debug_sync_set_action(thd, - STRING_WITH_LEN(act))); + assert(opt_debug_sync_timeout > 0); + assert(!debug_sync_set_action(thd, + STRING_WITH_LEN(act))); } };); /* @@ -5597,7 +5597,7 @@ bool suppress_warnings; int ret; int binlog_version; -#ifndef DBUG_OFF +#ifndef NDEBUG uint retry_count_reg= 0, retry_count_dump= 0, retry_count_event= 0; #endif Global_THD_manager *thd_manager= Global_THD_manager::get_instance(); @@ -5605,7 +5605,7 @@ my_thread_init(); DBUG_ENTER("handle_slave_io"); - DBUG_ASSERT(mi->inited); + assert(mi->inited); mysql= NULL ; retry_count= 0; @@ -5613,7 +5613,7 @@ /* Inform waiting threads that slave has started */ mi->slave_run_id++; -#ifndef DBUG_OFF +#ifndef NDEBUG mi->events_until_exit = disconnect_slave_event_count; #endif @@ -5709,9 +5709,9 @@ const char act[]= "now " "wait_for signal.io_thread_let_running"; - DBUG_ASSERT(opt_debug_sync_timeout > 0); - DBUG_ASSERT(!debug_sync_set_action(thd, - STRING_WITH_LEN(act))); + assert(opt_debug_sync_timeout > 0); + assert(!debug_sync_set_action(thd, + STRING_WITH_LEN(act))); };); DBUG_EXECUTE_IF("dbug.calculate_sbm_after_previous_gtid_log_event", { @@ -5816,7 +5816,7 @@ }); const char *event_buf; - DBUG_ASSERT(mi->last_error().number == 0); + assert(mi->last_error().number == 0); while (!io_slave_killed(thd,mi)) { ulong event_len; @@ -5930,8 +5930,8 @@ const char act[]= "now SIGNAL reached_after_queue_event " "WAIT_FOR continue_after_queue_event"; - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); };); /* @@ -5946,7 +5946,7 @@ for no reason, but this function will do a clean read, notice the clean value and exit immediately. */ -#ifndef DBUG_OFF +#ifndef NDEBUG { char llbuf1[22], llbuf2[22]; DBUG_PRINT("info", ("log_space_limit=%s log_space_total=%s \ @@ -5971,9 +5971,9 @@ if (event_buf[EVENT_TYPE_OFFSET] == binary_log::USER_VAR_EVENT) { const char act[]= "now signal Reached wait_for signal.flush_complete_continue"; - DBUG_ASSERT(opt_debug_sync_timeout > 0); - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(opt_debug_sync_timeout > 0); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); } }); @@ -6036,8 +6036,8 @@ { const char act[]= "now SIGNAL reached_stopping_io_thread " "WAIT_FOR continue_to_stop_io_thread"; - DBUG_ASSERT(!debug_sync_set_action(thd, - STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(thd, + STRING_WITH_LEN(act))); };); thd->reset_query(); thd->reset_db(NULL_CSTR); @@ -6254,7 +6254,7 @@ mysql_mutex_unlock(&w->jobs_lock); - DBUG_ASSERT(thd->is_slave_error == 0); + assert(thd->is_slave_error == 0); w->stats_exec_time= w->stats_read_time= 0; set_timespec_nsec(&w->ts_exec[0], 0); @@ -6279,18 +6279,18 @@ { purge_cnt++; purge_size += job_item->data->common_header->data_written; - DBUG_ASSERT(job_item->data); + assert(job_item->data); delete job_item->data; } - DBUG_ASSERT(w->jobs.len == 0); + assert(w->jobs.len == 0); mysql_mutex_unlock(&w->jobs_lock); mysql_mutex_lock(&rli->pending_jobs_lock); rli->pending_jobs -= purge_cnt; rli->mts_pending_jobs_size -= purge_size; - DBUG_ASSERT(rli->mts_pending_jobs_size < rli->mts_pending_jobs_size_max); + assert(rli->mts_pending_jobs_size < rli->mts_pending_jobs_size_max); mysql_mutex_unlock(&rli->pending_jobs_lock); @@ -6393,7 +6393,7 @@ DBUG_ENTER("mts_recovery_groups"); - DBUG_ASSERT(rli->slave_parallel_workers == 0); + assert(rli->slave_parallel_workers == 0); /* Although mts_recovery_groups() is reentrant it returns @@ -6432,7 +6432,7 @@ }; Format_description_log_event fdle(BINLOG_VERSION), *p_fdle= &fdle; - DBUG_ASSERT(p_fdle->is_valid()); + assert(p_fdle->is_valid()); /* Gathers information on valuable workers and stores it in @@ -6514,7 +6514,7 @@ while(!eof); continue; */ - DBUG_ASSERT(!rli->recovery_groups_inited); + assert(!rli->recovery_groups_inited); if (!above_lwm_jobs.empty()) { @@ -6589,7 +6589,7 @@ (ev= Log_event::read_log_event(&log, 0, p_fdle, opt_slave_sql_verify_checksum))) { - DBUG_ASSERT(ev->is_valid()); + assert(ev->is_valid()); if (ev->get_type_code() == binary_log::FORMAT_DESCRIPTION_EVENT) p_fdle->common_footer->checksum_alg= ev->common_footer->checksum_alg; @@ -6628,7 +6628,7 @@ ev->common_header->log_pos); if ((ret= mts_event_coord_cmp(&ev_coord, &w_last)) == 0) { -#ifndef DBUG_OFF +#ifndef NDEBUG for (uint i= 0; i <= w->checkpoint_seqno; i++) { if (bitmap_is_set(&w->group_executed, i)) @@ -6654,7 +6654,7 @@ not_reached_commit= false; } else - DBUG_ASSERT(ret < 0); + assert(ret < 0); } delete ev; ev= NULL; @@ -6673,8 +6673,8 @@ recovery_group_cnt : rli->mts_recovery_group_cnt); } - DBUG_ASSERT(!rli->recovery_groups_inited || - rli->mts_recovery_group_cnt <= groups->n_bits); + assert(!rli->recovery_groups_inited || + rli->mts_recovery_group_cnt <= groups->n_bits); goto end; err: @@ -6716,7 +6716,7 @@ DBUG_ENTER("checkpoint_routine"); -#ifndef DBUG_OFF +#ifndef NDEBUG if (DBUG_EVALUATE_IF("check_slave_debug_group", 1, 0)) { if (!rli->gaq->count_done(rli)) @@ -6726,8 +6726,8 @@ { const char act[]= "now signal mts_checkpoint_start"; - DBUG_ASSERT(!debug_sync_set_action(rli->info_thd, - STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(rli->info_thd, + STRING_WITH_LEN(act))); };); #endif @@ -6735,10 +6735,10 @@ rli->checkpoint_group can have two possible values due to two possible status of the last (being scheduled) group. */ - DBUG_ASSERT(!rli->gaq->full() || - ((rli->checkpoint_seqno == rli->checkpoint_group -1 && - rli->mts_group_status == Relay_log_info::MTS_IN_GROUP) || - rli->checkpoint_seqno == rli->checkpoint_group)); + assert(!rli->gaq->full() || + ((rli->checkpoint_seqno == rli->checkpoint_group -1 && + rli->mts_group_status == Relay_log_info::MTS_IN_GROUP) || + rli->checkpoint_seqno == rli->checkpoint_group)); /* Currently, the checkpoint routine is being called by the SQL Thread. @@ -6766,7 +6766,7 @@ if (!is_mts_db_partitioned(rli)) mysql_mutex_unlock(&rli->mts_gaq_LOCK); -#ifndef DBUG_OFF +#ifndef NDEBUG if (DBUG_EVALUATE_IF("check_slave_debug_group", 1, 0) && cnt != opt_mts_checkpoint_period) sql_print_error("This an error cnt != mts_checkpoint_period"); @@ -6866,15 +6866,15 @@ /* end-of "Coordinator::"commit_positions" */ end: -#ifndef DBUG_OFF +#ifndef NDEBUG if (DBUG_EVALUATE_IF("check_slave_debug_group", 1, 0)) DBUG_SUICIDE(); DBUG_EXECUTE_IF("mts_checkpoint", { const char act[]= "now signal mts_checkpoint_end"; - DBUG_ASSERT(!debug_sync_set_action(rli->info_thd, - STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(rli->info_thd, + STRING_WITH_LEN(act))); };); #endif set_timespec_nsec(&rli->last_clock, 0); @@ -6916,7 +6916,7 @@ } // We assume that workers are added in sequential order here. - DBUG_ASSERT(i == rli->workers.size()); + assert(i == rli->workers.size()); if (i >= rli->workers.size()) rli->workers.resize(i+1); rli->workers[i]= w; @@ -7150,9 +7150,9 @@ while (w->running_status != Slave_worker::NOT_RUNNING) { PSI_stage_info old_stage; - DBUG_ASSERT(w->running_status == Slave_worker::ERROR_LEAVING || - w->running_status == Slave_worker::STOP || - w->running_status == Slave_worker::STOP_ACCEPTED); + assert(w->running_status == Slave_worker::ERROR_LEAVING || + w->running_status == Slave_worker::STOP || + w->running_status == Slave_worker::STOP_ACCEPTED); thd->ENTER_COND(&w->jobs_cond, &w->jobs_lock, &stage_slave_waiting_workers_to_exit, &old_stage); @@ -7196,8 +7196,8 @@ rli->mts_wq_no_underrun_cnt, rli->mts_total_wait_worker_avail)); - DBUG_ASSERT(rli->pending_jobs == 0); - DBUG_ASSERT(rli->mts_pending_jobs_size == 0); + assert(rli->pending_jobs == 0); + assert(rli->mts_pending_jobs_size == 0); end: rli->mts_group_status= Relay_log_info::MTS_NOT_IN_GROUP; @@ -7249,12 +7249,12 @@ my_thread_init(); DBUG_ENTER("handle_slave_sql"); - DBUG_ASSERT(rli->inited); + assert(rli->inited); mysql_mutex_lock(&rli->run_lock); - DBUG_ASSERT(!rli->slave_running); + assert(!rli->slave_running); errmsg= 0; error_string= 0; -#ifndef DBUG_OFF +#ifndef NDEBUG rli->events_until_exit = abort_slave_event_count; #endif @@ -7413,13 +7413,13 @@ goto err; } THD_CHECK_SENTRY(thd); -#ifndef DBUG_OFF +#ifndef NDEBUG { char llbuf1[22], llbuf2[22]; DBUG_PRINT("info", ("my_b_tell(rli->cur_log)=%s rli->event_relay_log_pos=%s", llstr(my_b_tell(rli->cur_log),llbuf1), llstr(rli->get_event_relay_log_pos(),llbuf2))); - DBUG_ASSERT(rli->get_event_relay_log_pos() >= BIN_LOG_HEADER_SIZE); + assert(rli->get_event_relay_log_pos() >= BIN_LOG_HEADER_SIZE); /* Wonder if this is correct. I (Guilhem) wonder if my_b_tell() returns the correct position when it's called just after my_b_seek() (the questionable @@ -7430,13 +7430,13 @@ fails (as we my_b_seek(rli->event_relay_log_pos) at the very end of init_relay_log_pos() called above). Maybe the assertion would be meaningful if we held rli->data_lock between the my_b_seek() and the - DBUG_ASSERT(). + assert(). - DBUG_ASSERT(my_b_tell(rli->cur_log) == rli->get_event_relay_log_pos()); + assert(my_b_tell(rli->cur_log) == rli->get_event_relay_log_pos()); */ } #endif - DBUG_ASSERT(rli->info_thd == thd); + assert(rli->info_thd == thd); #ifdef WITH_NDBCLUSTER_STORAGE_ENGINE /* engine specific hook, to be made generic */ @@ -7505,7 +7505,7 @@ while (!sql_slave_killed(thd,rli)) { THD_STAGE_INFO(thd, stage_reading_event_from_the_relay_log); - DBUG_ASSERT(rli->info_thd == thd); + assert(rli->info_thd == thd); THD_CHECK_SENTRY(thd); if (saved_skip && rli->slave_skip_counter == 0) @@ -7642,15 +7642,15 @@ { const char act[]= "now SIGNAL reached_stopping_sql_thread " "WAIT_FOR continue_to_stop_sql_thread"; - DBUG_ASSERT(!debug_sync_set_action(thd, - STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(thd, + STRING_WITH_LEN(act))); };); THD_STAGE_INFO(thd, stage_waiting_for_slave_mutex_on_exit); mysql_mutex_lock(&rli->run_lock); /* We need data_lock, at least to wake up any waiting master_pos_wait() */ mysql_mutex_lock(&rli->data_lock); - DBUG_ASSERT(rli->slave_running == 1); // tracking buffer overrun + assert(rli->slave_running == 1); // tracking buffer overrun /* When master_pos_wait() wakes up it will check this and terminate */ rli->slave_running= 0; rli->is_stopping.atomic_set(0); @@ -7672,7 +7672,7 @@ thd->temporary_tables = 0; // remove tempation from destructor to close them // destructor will not free it, because we are weird thd->get_protocol_classic()->end_net(); - DBUG_ASSERT(rli->info_thd == thd); + assert(rli->info_thd == thd); THD_CHECK_SENTRY(thd); mysql_mutex_lock(&rli->info_thd_lock); rli->info_thd= NULL; @@ -7743,7 +7743,7 @@ skip_load_data_infile(net); DBUG_RETURN(0); } - DBUG_ASSERT(cev->inited_from_old); + assert(cev->inited_from_old); thd->file_id = cev->file_id = mi->file_id++; thd->server_id = cev->server_id; cev_not_written = 1; @@ -7861,7 +7861,7 @@ mi->set_master_log_pos(rev->pos); DBUG_PRINT("info", ("new (master_log_name, master_log_pos): ('%s', %lu)", mi->get_master_log_name(), (ulong) mi->get_master_log_pos())); -#ifndef DBUG_OFF +#ifndef NDEBUG /* If we do not do this, we will be getting the first rotate event forever, so we need to not disconnect after one. @@ -7880,8 +7880,8 @@ Format_description_log_event *old_fdle= mi->get_mi_description_event(); if (old_fdle->binlog_version >= 4) { - DBUG_ASSERT(old_fdle->common_footer->checksum_alg == - mi->rli->relay_log.relay_log_checksum_alg); + assert(old_fdle->common_footer->checksum_alg == + mi->rli->relay_log.relay_log_checksum_alg); Format_description_log_event *new_fdle= new Format_description_log_event(3); new_fdle->common_footer->checksum_alg= @@ -7980,7 +7980,7 @@ */ { /* We come here when and only when tmp_buf != 0 */ - DBUG_ASSERT(tmp_buf != 0); + assert(tmp_buf != 0); inc_pos=event_len; ev->common_header->log_pos+= inc_pos; int error = process_io_create_file(mi,(Create_file_log_event*)ev); @@ -8150,9 +8150,9 @@ Gtid gtid= { 0, 0 }; Log_event_type event_type= (Log_event_type)buf[EVENT_TYPE_OFFSET]; - DBUG_ASSERT(checksum_alg == binary_log::BINLOG_CHECKSUM_ALG_OFF || - checksum_alg == binary_log::BINLOG_CHECKSUM_ALG_UNDEF || - checksum_alg == binary_log::BINLOG_CHECKSUM_ALG_CRC32); + assert(checksum_alg == binary_log::BINLOG_CHECKSUM_ALG_OFF || + checksum_alg == binary_log::BINLOG_CHECKSUM_ALG_UNDEF || + checksum_alg == binary_log::BINLOG_CHECKSUM_ALG_CRC32); DBUG_ENTER("queue_event"); @@ -8164,8 +8164,8 @@ { const char act[]= "now SIGNAL reached_queuing_event " "WAIT_FOR continue_queuing_event"; - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); };); /* @@ -8188,12 +8188,12 @@ } // does not hold always because of old binlog can work with NM - // DBUG_ASSERT(checksum_alg != BINLOG_CHECKSUM_ALG_UNDEF); + // assert(checksum_alg != BINLOG_CHECKSUM_ALG_UNDEF); // should hold unless manipulations with RL. Tests that do that // will have to refine the clause. - DBUG_ASSERT(mi->rli->relay_log.relay_log_checksum_alg != - binary_log::BINLOG_CHECKSUM_ALG_UNDEF); + assert(mi->rli->relay_log.relay_log_checksum_alg != + binary_log::BINLOG_CHECKSUM_ALG_UNDEF); // Emulate the network corruption DBUG_EXECUTE_IF("corrupt_queue_event", @@ -8219,7 +8219,7 @@ } mysql_mutex_lock(&mi->data_lock); - DBUG_ASSERT(lock_count == 0); + assert(lock_count == 0); lock_count= 1; if (mi->get_mi_description_event() == NULL) @@ -8355,12 +8355,12 @@ rot_crc= checksum_crc32(rot_crc, (const uchar *) rot_buf, event_len - BINLOG_CHECKSUM_LEN); int4store(&rot_buf[event_len - BINLOG_CHECKSUM_LEN], rot_crc); - DBUG_ASSERT(event_len == uint4korr(&rot_buf[EVENT_LEN_OFFSET])); - DBUG_ASSERT(mi->get_mi_description_event()->common_footer->checksum_alg == - mi->rli->relay_log.relay_log_checksum_alg); + assert(event_len == uint4korr(&rot_buf[EVENT_LEN_OFFSET])); + assert(mi->get_mi_description_event()->common_footer->checksum_alg == + mi->rli->relay_log.relay_log_checksum_alg); /* the first one */ - DBUG_ASSERT(mi->checksum_alg_before_fd != - binary_log::BINLOG_CHECKSUM_ALG_UNDEF); + assert(mi->checksum_alg_before_fd != + binary_log::BINLOG_CHECKSUM_ALG_UNDEF); save_buf= (char *) buf; buf= rot_buf; } @@ -8379,12 +8379,12 @@ int4store(&rot_buf[EVENT_LEN_OFFSET], uint4korr(rot_buf + EVENT_LEN_OFFSET) - BINLOG_CHECKSUM_LEN); - DBUG_ASSERT(event_len == uint4korr(&rot_buf[EVENT_LEN_OFFSET])); - DBUG_ASSERT(mi->get_mi_description_event()->common_footer->checksum_alg == - mi->rli->relay_log.relay_log_checksum_alg); + assert(event_len == uint4korr(&rot_buf[EVENT_LEN_OFFSET])); + assert(mi->get_mi_description_event()->common_footer->checksum_alg == + mi->rli->relay_log.relay_log_checksum_alg); /* the first one */ - DBUG_ASSERT(mi->checksum_alg_before_fd != - binary_log::BINLOG_CHECKSUM_ALG_UNDEF); + assert(mi->checksum_alg_before_fd != + binary_log::BINLOG_CHECKSUM_ALG_UNDEF); save_buf= (char *) buf; buf= rot_buf; } @@ -8488,12 +8488,12 @@ hb.common_header->log_pos && mi->get_master_log_name() != NULL) { - DBUG_ASSERT(memcmp(const_cast(mi->get_master_log_name()), - hb.get_log_ident(), hb.get_ident_len()) == 0); + assert(memcmp(const_cast(mi->get_master_log_name()), + hb.get_log_ident(), hb.get_ident_len()) == 0); DBUG_EXECUTE_IF("reached_heart_beat_queue_event", { const char act[] = "now SIGNAL check_slave_master_info WAIT_FOR proceed_write_rotate"; - DBUG_ASSERT(!debug_sync_set_action(current_thd, STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(current_thd, STRING_WITH_LEN(act))); };); mi->set_master_log_pos(hb.common_header->log_pos); @@ -8669,7 +8669,7 @@ */ mysql_mutex_lock(log_lock); - DBUG_ASSERT(lock_count == 1); + assert(lock_count == 1); lock_count= 2; s_id= uint4korr(buf + SERVER_ID_OFFSET); @@ -8719,7 +8719,7 @@ { mi->set_master_log_pos(mi->get_master_log_pos() + inc_pos); memcpy(rli->ign_master_log_name_end, mi->get_master_log_name(), FN_REFLEN); - DBUG_ASSERT(rli->ign_master_log_name_end[0]); + assert(rli->ign_master_log_name_end[0]); rli->ign_master_log_pos_end= mi->get_master_log_pos(); } rli->relay_log.signal_update(); // the slave SQL thread needs to re-check @@ -8753,7 +8753,7 @@ */ if (event_type == binary_log::ANONYMOUS_GTID_LOG_EVENT) { -#ifndef DBUG_OFF +#ifndef NDEBUG if (!mi->get_last_gtid_queued()->is_empty()) { DBUG_PRINT("info", ("Discarding Gtid(%d, %lld) as the transaction " @@ -8857,7 +8857,7 @@ size_t password_size= sizeof(password); DBUG_ENTER("connect_to_master"); set_slave_max_allowed_packet(thd, mysql); -#ifndef DBUG_OFF +#ifndef NDEBUG mi->events_until_exit = disconnect_slave_event_count; #endif ulong client_flag= CLIENT_REMEMBER_OPTIONS; @@ -9052,8 +9052,8 @@ static IO_CACHE *reopen_relay_log(Relay_log_info *rli, const char **errmsg) { DBUG_ENTER("reopen_relay_log"); - DBUG_ASSERT(rli->cur_log != &rli->cache_buf); - DBUG_ASSERT(rli->cur_log_fd == -1); + assert(rli->cur_log != &rli->cache_buf); + assert(rli->cur_log_fd == -1); IO_CACHE *cur_log = rli->cur_log=&rli->cache_buf; if ((rli->cur_log_fd=open_binlog_file(cur_log,rli->get_event_relay_log_name(), @@ -9090,9 +9090,9 @@ THD* thd = rli->info_thd; DBUG_ENTER("next_event"); - DBUG_ASSERT(thd != 0); + assert(thd != 0); -#ifndef DBUG_OFF +#ifndef NDEBUG if (abort_slave_event_count && !rli->events_until_exit--) DBUG_RETURN(0); #endif @@ -9123,7 +9123,7 @@ if ((hot_log = (cur_log != &rli->cache_buf)) || DBUG_EVALUATE_IF("force_sql_thread_error", 1, 0)) { - DBUG_ASSERT(rli->cur_log_fd == -1); // foreign descriptor + assert(rli->cur_log_fd == -1); // foreign descriptor mysql_mutex_lock(log_lock); /* @@ -9153,7 +9153,7 @@ mysql_mutex_unlock(log_lock); goto err; } -#ifndef DBUG_OFF +#ifndef NDEBUG { DBUG_PRINT("info", ("assertion skip %lu file pos %lu event relay log pos %lu file %s\n", (ulong) rli->slave_skip_counter, (ulong) my_b_tell(cur_log), @@ -9166,8 +9166,8 @@ llstr(my_b_tell(cur_log),llbuf1), llstr(rli->get_event_relay_log_pos(),llbuf2))); - DBUG_ASSERT(my_b_tell(cur_log) >= BIN_LOG_HEADER_SIZE); - DBUG_ASSERT(my_b_tell(cur_log) == rli->get_event_relay_log_pos() || rli->is_parallel_exec()); + assert(my_b_tell(cur_log) >= BIN_LOG_HEADER_SIZE); + assert(my_b_tell(cur_log) == rli->get_event_relay_log_pos() || rli->is_parallel_exec()); DBUG_PRINT("info", ("next_event group master %s %lu group relay %s %lu event %s %lu\n", rli->get_group_master_log_name(), @@ -9195,7 +9195,7 @@ rli->get_rli_description_event(), opt_slave_sql_verify_checksum))) { - DBUG_ASSERT(thd==rli->info_thd); + assert(thd==rli->info_thd); /* read it while we have a lock, to avoid a mutex lock in inc_event_relay_log_pos() @@ -9225,14 +9225,14 @@ the checkpoint routine must be periodically invoked. */ (void) mts_checkpoint_routine(rli, period, force, true/*need_data_lock=true*/); // TODO: ALFRANIO ERROR - DBUG_ASSERT(!force || - (force && (rli->checkpoint_seqno <= (rli->checkpoint_group - 1))) || - sql_slave_killed(thd, rli)); + assert(!force || + (force && (rli->checkpoint_seqno <= (rli->checkpoint_group - 1))) || + sql_slave_killed(thd, rli)); mysql_mutex_lock(&rli->data_lock); } DBUG_RETURN(ev); } - DBUG_ASSERT(thd==rli->info_thd); + assert(thd==rli->info_thd); if (opt_reckless_slave) // For mysql-test cur_log->error = 0; if (cur_log->error < 0) @@ -9295,8 +9295,8 @@ if (!rli->is_parallel_exec()) rli->last_master_timestamp= 0; - DBUG_ASSERT(rli->relay_log.get_open_count() == - rli->cur_log_old_open_count); + assert(rli->relay_log.get_open_count() == + rli->cur_log_old_open_count); if (rli->ign_master_log_name_end[0]) { @@ -9435,7 +9435,7 @@ cases separately after doing some common initialization */ end_io_cache(cur_log); - DBUG_ASSERT(rli->cur_log_fd >= 0); + assert(rli->cur_log_fd >= 0); mysql_file_close(rli->cur_log_fd, MYF(MY_WME)); rli->cur_log_fd = -1; @@ -9521,7 +9521,7 @@ #endif rli->cur_log= cur_log= rli->relay_log.get_log_file(); rli->cur_log_old_open_count= rli->relay_log.get_open_count(); - DBUG_ASSERT(rli->cur_log_fd == -1); + assert(rli->cur_log_fd == -1); /* When the SQL thread is [stopped and] (re)started the @@ -9853,7 +9853,7 @@ const uchar *master_ver= rli->get_rli_description_event()->server_version_split; - DBUG_ASSERT(sizeof(rli->get_rli_description_event()->server_version_split) == 3); + assert(sizeof(rli->get_rli_description_event()->server_version_split) == 3); for (uint i= 0; i < sizeof(versions_for_all_bugs)/sizeof(*versions_for_all_bugs);i++) @@ -10074,7 +10074,7 @@ else mi->rli->channel_mts_submode = MTS_PARALLEL_TYPE_LOGICAL_CLOCK; -#ifndef DBUG_OFF +#ifndef NDEBUG if (!DBUG_EVALUATE_IF("check_slave_debug_group", 1, 0)) #endif mi->rli->checkpoint_group= opt_mts_checkpoint_group; @@ -10404,7 +10404,7 @@ continue; } mi= it->second; - DBUG_ASSERT(mi); + assert(mi); if ((result= reset_slave(thd, mi, thd->lex->reset_slave_info.all))) break; it= channel_map.begin(); @@ -10414,7 +10414,7 @@ while (gr_channel_map_it != channel_map.end(GROUP_REPLICATION_CHANNEL)) { mi= gr_channel_map_it->second; - DBUG_ASSERT(mi); + assert(mi); /* We cannot RESET a group replication channel while the group replication is running. @@ -10436,7 +10436,7 @@ while (it != channel_map.end()) { mi= it->second; - DBUG_ASSERT(mi); + assert(mi); if ((result= reset_slave(thd, mi, thd->lex->reset_slave_info.all))) break; it++; @@ -10451,7 +10451,7 @@ while (gr_channel_map_it != channel_map.end(GROUP_REPLICATION_CHANNEL)) { mi= gr_channel_map_it->second; - DBUG_ASSERT(mi); + assert(mi); if (is_group_replication_running()) { my_error(ER_SLAVE_CHANNEL_OPERATION_NOT_ALLOWED, MYF(0), @@ -10528,7 +10528,7 @@ } /* Clear master's log coordinates and associated information */ - DBUG_ASSERT(!mi->rli || !mi->rli->slave_running); // none writes in rli table + assert(!mi->rli || !mi->rli->slave_running); // none writes in rli table if (remove_info(mi)) { error= ER_UNKNOWN_ERROR; @@ -10873,8 +10873,8 @@ */ mi->heartbeat_period= min(SLAVE_MAX_HEARTBEAT_PERIOD, (slave_net_timeout/2.0f)); - DBUG_ASSERT(mi->heartbeat_period > (float) 0.001 - || mi->heartbeat_period == 0); + assert(mi->heartbeat_period > (float) 0.001 + || mi->heartbeat_period == 0); // counter is cleared if master is CHANGED. mi->received_heartbeats= 0; @@ -11204,7 +11204,7 @@ Change-Master can't be done if there is a mts group gap. That requires mts-recovery which START SLAVE provides. */ - DBUG_ASSERT(mi->rli->recovery_parallel_workers); + assert(mi->rli->recovery_parallel_workers); error= ER_MTS_CHANGE_MASTER_CANT_RUN_WITH_GAPS; my_message(ER_MTS_CHANGE_MASTER_CANT_RUN_WITH_GAPS, @@ -11386,7 +11386,7 @@ relay_log_purge= 0; /* Relay log must be already initialized */ - DBUG_ASSERT(mi->rli->inited); + assert(mi->rli->inited); if (mi->rli->init_relay_log_pos(mi->rli->get_group_relay_log_name(), mi->rli->get_group_relay_log_pos(), true/*we do need mi->rli->data_lock*/, diff -Nru mysql-5.7-5.7.33/sql/rpl_slave_commit_order_manager.cc mysql-5.7-5.7.34/sql/rpl_slave_commit_order_manager.cc --- mysql-5.7-5.7.33/sql/rpl_slave_commit_order_manager.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_slave_commit_order_manager.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -129,7 +129,7 @@ mysql_mutex_lock(&m_mutex); - DBUG_ASSERT(!queue_empty()); + assert(!queue_empty()); /* Set next manager as the head and signal the trx to commit. */ queue_pop(); @@ -164,8 +164,8 @@ DBUG_EXECUTE_IF("rpl_fake_cod_deadlock", { const char act[]= "now signal reported_deadlock"; - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); }); mysql_cond_signal(&m_workers[worker->id].cond); mysql_mutex_unlock(&m_mutex); diff -Nru mysql-5.7-5.7.33/sql/rpl_slave_commit_order_manager.h mysql-5.7-5.7.34/sql/rpl_slave_commit_order_manager.h --- mysql-5.7-5.7.33/sql/rpl_slave_commit_order_manager.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_slave_commit_order_manager.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rpl_slave.h mysql-5.7-5.7.34/sql/rpl_slave.h --- mysql-5.7-5.7.33/sql/rpl_slave.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_slave.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rpl_table_access.cc mysql-5.7-5.7.34/sql/rpl_table_access.cc --- mysql-5.7-5.7.33/sql/rpl_table_access.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_table_access.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rpl_table_access.h mysql-5.7-5.7.34/sql/rpl_table_access.h --- mysql-5.7-5.7.33/sql/rpl_table_access.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_table_access.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rpl_tblmap.cc mysql-5.7-5.7.34/sql/rpl_tblmap.cc --- mysql-5.7-5.7.33/sql/rpl_tblmap.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_tblmap.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rpl_tblmap.h mysql-5.7-5.7.34/sql/rpl_tblmap.h --- mysql-5.7-5.7.33/sql/rpl_tblmap.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_tblmap.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rpl_transaction_ctx.cc mysql-5.7-5.7.34/sql/rpl_transaction_ctx.cc --- mysql-5.7-5.7.33/sql/rpl_transaction_ctx.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_transaction_ctx.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rpl_transaction_ctx.h mysql-5.7-5.7.34/sql/rpl_transaction_ctx.h --- mysql-5.7-5.7.33/sql/rpl_transaction_ctx.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_transaction_ctx.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rpl_transaction_write_set_ctx.cc mysql-5.7-5.7.34/sql/rpl_transaction_write_set_ctx.cc --- mysql-5.7-5.7.33/sql/rpl_transaction_write_set_ctx.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_transaction_write_set_ctx.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -140,7 +140,7 @@ void Rpl_transaction_write_set_ctx::set_global_require_full_write_set( bool requires_ws) { - DBUG_ASSERT(!requires_ws || !m_global_component_requires_write_sets); + assert(!requires_ws || !m_global_component_requires_write_sets); if (requires_ws) my_atomic_store32(&m_global_component_requires_write_sets, 1); else @@ -152,7 +152,7 @@ } void Rpl_transaction_write_set_ctx::set_global_write_set_memory_size_limit(int64 limit) { - DBUG_ASSERT(m_global_write_set_memory_size_limit == 0); + assert(m_global_write_set_memory_size_limit == 0); m_global_write_set_memory_size_limit = limit; } @@ -234,14 +234,14 @@ DBUG_EXECUTE_IF("transaction_write_set_savepoint_clear_on_commit_rollback", { - DBUG_ASSERT(savepoint.size() == 0); - DBUG_ASSERT(write_set.size() == 0); - DBUG_ASSERT(write_set_unique.size() == 0); - DBUG_ASSERT(savepoint_list.size() == 0); + assert(savepoint.size() == 0); + assert(write_set.size() == 0); + assert(write_set_unique.size() == 0); + assert(savepoint_list.size() == 0); }); DBUG_EXECUTE_IF("transaction_write_set_savepoint_level", - DBUG_ASSERT(savepoint.size() == 0);); + assert(savepoint.size() == 0);); std::map::iterator it; @@ -256,7 +256,7 @@ write_set.size())); DBUG_EXECUTE_IF("transaction_write_set_savepoint_add_savepoint", - DBUG_ASSERT(savepoint.find(identifier)->second == write_set.size());); + assert(savepoint.find(identifier)->second == write_set.size());); DBUG_VOID_RETURN; } @@ -269,7 +269,7 @@ DBUG_EXECUTE_IF("transaction_write_set_savepoint_block_before_release", { const char act[]= "now wait_for signal.unblock_release"; - DBUG_ASSERT(!debug_sync_set_action(current_thd, STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(current_thd, STRING_WITH_LEN(act))); }); savepoint.erase(identifier); @@ -286,12 +286,12 @@ if ((elem = savepoint.find(identifier)) != savepoint.end()) { - DBUG_ASSERT(elem->second <= write_set.size()); + assert(elem->second <= write_set.size()); DBUG_EXECUTE_IF("transaction_write_set_savepoint_block_before_rollback", { const char act[]= "now wait_for signal.unblock_rollback"; - DBUG_ASSERT(!debug_sync_set_action(current_thd, STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(current_thd, STRING_WITH_LEN(act))); }); position= elem->second; @@ -323,12 +323,12 @@ } DBUG_EXECUTE_IF("transaction_write_set_savepoint_add_savepoint", { - DBUG_ASSERT(write_set.size() == 2); - DBUG_ASSERT(write_set_unique.size() == 2);}); + assert(write_set.size() == 2); + assert(write_set_unique.size() == 2);}); DBUG_EXECUTE_IF("transaction_write_set_size_2", { - DBUG_ASSERT(write_set.size() == 4); - DBUG_ASSERT(write_set_unique.size() == 4);}); + assert(write_set.size() == 4); + assert(write_set_unique.size() == 4);}); } DBUG_VOID_RETURN; diff -Nru mysql-5.7-5.7.33/sql/rpl_transaction_write_set_ctx.h mysql-5.7-5.7.34/sql/rpl_transaction_write_set_ctx.h --- mysql-5.7-5.7.33/sql/rpl_transaction_write_set_ctx.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_transaction_write_set_ctx.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rpl_trx_boundary_parser.cc mysql-5.7-5.7.34/sql/rpl_trx_boundary_parser.cc --- mysql-5.7-5.7.33/sql/rpl_trx_boundary_parser.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_trx_boundary_parser.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -26,7 +26,7 @@ #include "log_event.h" // Log_event -#ifndef DBUG_OFF +#ifndef NDEBUG /* Event parser state names */ static const char *event_parser_state_names[]= { "None", @@ -140,7 +140,7 @@ qlen= Query_log_event::get_query(buf, length, fd_event, &query); if (qlen == 0) { - DBUG_ASSERT(query == NULL); + assert(query == NULL); boundary_type= EVENT_BOUNDARY_TYPE_ERROR; break; } diff -Nru mysql-5.7-5.7.33/sql/rpl_trx_boundary_parser.h mysql-5.7-5.7.34/sql/rpl_trx_boundary_parser.h --- mysql-5.7-5.7.33/sql/rpl_trx_boundary_parser.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_trx_boundary_parser.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rpl_trx_tracking.cc mysql-5.7-5.7.34/sql/rpl_trx_tracking.cc --- mysql-5.7-5.7.33/sql/rpl_trx_tracking.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_trx_tracking.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2018, 2020, Oracle and/or its affiliates. +/* Copyright (c) 2018, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -53,7 +53,7 @@ */ inline int64 Logical_clock::step() { - DBUG_ASSERT(SEQ_UNINIT == 0); + assert(SEQ_UNINIT == 0); DBUG_EXECUTE_IF("logical_clock_step_2", ++state;); return ++state; } @@ -77,7 +77,7 @@ DBUG_ENTER("Logical_clock::set_if_greater"); - DBUG_ASSERT(new_val > 0); + assert(new_val > 0); if (new_val <= offset) { @@ -90,15 +90,15 @@ DBUG_RETURN(SEQ_UNINIT); } - DBUG_ASSERT(new_val > 0); + assert(new_val > 0); while (!(cas_rc= my_atomic_cas64(&state, &old_val, new_val)) && old_val < new_val) {} - DBUG_ASSERT(state >= new_val); // setting can't be done to past + assert(state >= new_val); // setting can't be done to past - DBUG_ASSERT(cas_rc || old_val >= new_val); + assert(cas_rc || old_val >= new_val); DBUG_RETURN(cas_rc ? new_val : old_val); } @@ -121,8 +121,8 @@ { Transaction_ctx *trn_ctx= thd->get_transaction(); - DBUG_ASSERT(trn_ctx->sequence_number - > m_max_committed_transaction.get_offset()); + assert(trn_ctx->sequence_number + > m_max_committed_transaction.get_offset()); /* Prepare sequence_number and commit_parent relative to the current binlog. This is done by subtracting the binlog's clock offset @@ -190,10 +190,10 @@ thd->get_transaction()->get_transaction_write_set_ctx(); std::set *writeset= write_set_ctx->get_write_set(); -#ifndef DBUG_OFF +#ifndef NDEBUG /* The writeset of an empty transaction must be empty. */ if (is_empty_transaction_in_binlog_cache(thd)) - DBUG_ASSERT(writeset->size() == 0); + assert(writeset->size() == 0); #endif /* @@ -337,7 +337,7 @@ m_writeset_session.get_dependency(thd, sequence_number, commit_parent); break; default: - DBUG_ASSERT(0); // blow up on debug + assert(0); // blow up on debug /* Fallback to commit order on production builds. */ @@ -377,9 +377,9 @@ */ trn_ctx->sequence_number= SEQ_UNINIT; - DBUG_ASSERT(trn_ctx->last_committed == SEQ_UNINIT || - thd->commit_error == THD::CE_FLUSH_ERROR || - thd->commit_error == THD::CE_FLUSH_GNO_EXHAUSTED_ERROR); + assert(trn_ctx->last_committed == SEQ_UNINIT || + thd->commit_error == THD::CE_FLUSH_ERROR || + thd->commit_error == THD::CE_FLUSH_GNO_EXHAUSTED_ERROR); } int64 diff -Nru mysql-5.7-5.7.33/sql/rpl_trx_tracking.h mysql-5.7-5.7.34/sql/rpl_trx_tracking.h --- mysql-5.7-5.7.33/sql/rpl_trx_tracking.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_trx_tracking.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ #ifndef RPL_TRX_TRACKING_INCLUDED -/* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2018, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -63,7 +63,7 @@ */ void update_offset(int64 new_offset) { - DBUG_ASSERT(offset <= new_offset); + assert(offset <= new_offset); offset= new_offset; } diff -Nru mysql-5.7-5.7.33/sql/rpl_utility.cc mysql-5.7-5.7.34/sql/rpl_utility.cc --- mysql-5.7-5.7.33/sql/rpl_utility.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_utility.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -238,7 +238,7 @@ break; default: - DBUG_ASSERT(0); + assert(0); break; } break; @@ -388,7 +388,7 @@ int *order_var) { DBUG_ENTER("can_convert_field_to"); -#ifndef DBUG_OFF +#ifndef NDEBUG char field_type_buf[MAX_FIELD_WIDTH]; String field_type(field_type_buf, sizeof(field_type_buf), &my_charset_latin1); field->sql_type(field_type); @@ -485,7 +485,7 @@ *order_var = 1; // Always require lossy conversions else *order_var= compare_lengths(field, source_type, metadata); - DBUG_ASSERT(*order_var != 0); + assert(*order_var != 0); DBUG_RETURN(is_conversion_ok(*order_var, rli)); } @@ -511,7 +511,7 @@ case MYSQL_TYPE_LONG: case MYSQL_TYPE_LONGLONG: *order_var= compare_lengths(field, source_type, metadata); - DBUG_ASSERT(*order_var != 0); + assert(*order_var != 0); DBUG_RETURN(is_conversion_ok(*order_var, rli)); default: @@ -631,7 +631,7 @@ DBUG_PRINT("debug", ("Checking column %d -" " field '%s' can be converted - order: %d", col, field->field_name, order)); - DBUG_ASSERT(order >= -1 && order <= 1); + assert(order >= -1 && order <= 1); /* If order is not 0, a conversion is required, so we need to set @@ -661,8 +661,8 @@ DBUG_PRINT("debug", ("Checking column %d -" " field '%s' can not be converted", col, field->field_name)); - DBUG_ASSERT(col < size() && col < table->s->fields); - DBUG_ASSERT(table->s->db.str && table->s->table_name.str); + assert(col < size() && col < table->s->fields); + assert(table->s->db.str && table->s->table_name.str); const char *db_name= table->s->db.str; const char *tbl_name= table->s->table_name.str; char source_buf[MAX_FIELD_WIDTH]; @@ -708,7 +708,7 @@ } } -#ifndef DBUG_OFF +#ifndef NDEBUG if (tmp_table) { for (unsigned int col= 0; col < tmp_table->s->fields; ++col) @@ -968,7 +968,7 @@ table_def::~table_def() { my_free(m_memory); -#ifndef DBUG_OFF +#ifndef NDEBUG m_type= 0; m_size= 0; #endif @@ -1157,7 +1157,7 @@ bool Hash_slave_rows::next(HASH_ROW_ENTRY** entry) { DBUG_ENTER("Hash_slave_rows::next"); - DBUG_ASSERT(*entry); + assert(*entry); if (*entry == NULL) DBUG_RETURN(true); @@ -1206,7 +1206,7 @@ Hash_slave_rows::del(HASH_ROW_ENTRY *entry) { DBUG_ENTER("Hash_slave_rows::del"); - DBUG_ASSERT(entry); + assert(entry); if (my_hash_delete(&m_hash, (uchar *) entry)) DBUG_RETURN(true); @@ -1295,7 +1295,7 @@ crc= checksum_crc32(crc, f->ptr, f->data_length()); break; } -#ifndef DBUG_OFF +#ifndef NDEBUG String tmp; f->val_str(&tmp); DBUG_PRINT("debug", ("make_hash_entry: hash after field %s=%s: %u", f->field_name, tmp.c_ptr_safe(), crc)); @@ -1353,7 +1353,7 @@ { bool res= false; - DBUG_ASSERT(rli->deferred_events_collecting); + assert(rli->deferred_events_collecting); rli->deferred_events_collecting= false; for (Log_event **it= m_array.begin(); !res && it != m_array.end(); ++it) diff -Nru mysql-5.7-5.7.33/sql/rpl_utility.h mysql-5.7-5.7.34/sql/rpl_utility.h --- mysql-5.7-5.7.33/sql/rpl_utility.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_utility.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -277,7 +277,7 @@ */ enum_field_types type(ulong index) const { - DBUG_ASSERT(index < m_size); + assert(index < m_size); /* If the source type is MYSQL_TYPE_STRING, it can in reality be either MYSQL_TYPE_STRING, MYSQL_TYPE_ENUM, or MYSQL_TYPE_SET, so @@ -326,7 +326,7 @@ */ uint16 field_metadata(uint index) const { - DBUG_ASSERT(index < m_size); + assert(index < m_size); if (m_field_metadata_size) return m_field_metadata[index]; else @@ -339,7 +339,7 @@ */ my_bool maybe_null(uint index) const { - DBUG_ASSERT(index < m_size); + assert(index < m_size); return ((m_null_bits[(index / 8)] & (1 << (index % 8))) == (1 << (index %8))); } diff -Nru mysql-5.7-5.7.33/sql/rpl_write_set_handler.cc mysql-5.7-5.7.34/sql/rpl_write_set_handler.cc --- mysql-5.7-5.7.33/sql/rpl_write_set_handler.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_write_set_handler.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -94,7 +94,7 @@ std::map &foreign_key_map) { DBUG_ENTER("check_foreign_key"); - DBUG_ASSERT(!(thd->variables.option_bits & OPTION_NO_FOREIGN_KEY_CHECKS)); + assert(!(thd->variables.option_bits & OPTION_NO_FOREIGN_KEY_CHECKS)); char value_length_buffer[VALUE_LENGTH_BUFFER_SIZE]; char* value_length= NULL; @@ -147,409 +147,409 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG static void debug_check_for_write_sets(std::vector &key_list_to_hash, std::vector &hash_list) { DBUG_EXECUTE_IF("PKE_assert_single_primary_key_generated_insert", - DBUG_ASSERT(key_list_to_hash.size() == 2); - DBUG_ASSERT(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1"); - DBUG_ASSERT(hash_list.size() == 2); - DBUG_ASSERT(hash_list[0] == 2897372530352804122ULL); - DBUG_ASSERT(hash_list[1] == 340395741608101502ULL);); + assert(key_list_to_hash.size() == 2); + assert(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1"); + assert(hash_list.size() == 2); + assert(hash_list[0] == 2897372530352804122ULL); + assert(hash_list[1] == 340395741608101502ULL);); DBUG_EXECUTE_IF("PKE_assert_single_primary_key_generated_insert_collation", - DBUG_ASSERT(key_list_to_hash.size() == 2); - DBUG_ASSERT(key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0]); - DBUG_ASSERT(hash_list.size() == 2); - DBUG_ASSERT(hash_list[0] == 340395741608101502ULL); - DBUG_ASSERT(hash_list[1] == hash_list[0]);); + assert(key_list_to_hash.size() == 2); + assert(key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0]); + assert(hash_list.size() == 2); + assert(hash_list[0] == 340395741608101502ULL); + assert(hash_list[1] == hash_list[0]);); DBUG_EXECUTE_IF("PKE_assert_single_primary_key_generated_update", - DBUG_ASSERT(key_list_to_hash.size() == 2); - DBUG_ASSERT(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" || - key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1"); - DBUG_ASSERT(hash_list.size() == 2); - DBUG_ASSERT(hash_list[0] == 8147168586610610204ULL || - hash_list[0] == 2897372530352804122ULL); - DBUG_ASSERT(hash_list[1] == 8563267070232261320ULL || - hash_list[1] == 340395741608101502ULL);); + assert(key_list_to_hash.size() == 2); + assert(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" || + key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1"); + assert(hash_list.size() == 2); + assert(hash_list[0] == 8147168586610610204ULL || + hash_list[0] == 2897372530352804122ULL); + assert(hash_list[1] == 8563267070232261320ULL || + hash_list[1] == 340395741608101502ULL);); DBUG_EXECUTE_IF("PKE_assert_single_primary_key_generated_update_collation", - DBUG_ASSERT(key_list_to_hash.size() == 2); - DBUG_ASSERT((key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0]) || - (key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0])); - DBUG_ASSERT(hash_list.size() == 2); - DBUG_ASSERT((hash_list[0] == 8563267070232261320ULL && hash_list[0] == hash_list[1]) || - (hash_list[0] == 340395741608101502ULL && hash_list[0] == hash_list[1]));); + assert(key_list_to_hash.size() == 2); + assert((key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0]) || + (key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0])); + assert(hash_list.size() == 2); + assert((hash_list[0] == 8563267070232261320ULL && hash_list[0] == hash_list[1]) || + (hash_list[0] == 340395741608101502ULL && hash_list[0] == hash_list[1]));); DBUG_EXECUTE_IF("PKE_assert_multi_primary_key_generated_insert", - DBUG_ASSERT(key_list_to_hash.size() == 2); - DBUG_ASSERT(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1"); - DBUG_ASSERT(hash_list.size() == 2); - DBUG_ASSERT(hash_list[0] == 1691122509389864327ULL); - DBUG_ASSERT(hash_list[1] == 13655149628280894901ULL);); + assert(key_list_to_hash.size() == 2); + assert(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1"); + assert(hash_list.size() == 2); + assert(hash_list[0] == 1691122509389864327ULL); + assert(hash_list[1] == 13655149628280894901ULL);); DBUG_EXECUTE_IF("PKE_assert_multi_primary_key_generated_insert_collation", - DBUG_ASSERT(key_list_to_hash.size() == 2); - DBUG_ASSERT(key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0]); - DBUG_ASSERT(hash_list.size() == 2); - DBUG_ASSERT(hash_list[0] == 13655149628280894901ULL); - DBUG_ASSERT(hash_list[1] == hash_list[0]);); + assert(key_list_to_hash.size() == 2); + assert(key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0]); + assert(hash_list.size() == 2); + assert(hash_list[0] == 13655149628280894901ULL); + assert(hash_list[1] == hash_list[0]);); DBUG_EXECUTE_IF("PKE_assert_multi_primary_key_generated_update", - DBUG_ASSERT(key_list_to_hash.size() == 2); - DBUG_ASSERT(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1" || - key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1"); - DBUG_ASSERT(hash_list.size() == 2); - DBUG_ASSERT(hash_list[0] == 3905848172375270818ULL || - hash_list[0] == 1691122509389864327ULL); - DBUG_ASSERT(hash_list[1] == 16833405476607614310ULL || - hash_list[1] == 13655149628280894901ULL);); + assert(key_list_to_hash.size() == 2); + assert(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1" || + key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1"); + assert(hash_list.size() == 2); + assert(hash_list[0] == 3905848172375270818ULL || + hash_list[0] == 1691122509389864327ULL); + assert(hash_list[1] == 16833405476607614310ULL || + hash_list[1] == 13655149628280894901ULL);); DBUG_EXECUTE_IF("PKE_assert_multi_primary_key_generated_update_collation", - DBUG_ASSERT(key_list_to_hash.size() == 2); - DBUG_ASSERT((key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0]) || - (key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0])); - DBUG_ASSERT(hash_list.size() == 2); - DBUG_ASSERT((hash_list[0] == 16833405476607614310ULL && hash_list[0] == hash_list[1]) || - (hash_list[0] == 13655149628280894901ULL && hash_list[0] == hash_list[1]));); + assert(key_list_to_hash.size() == 2); + assert((key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0]) || + (key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0])); + assert(hash_list.size() == 2); + assert((hash_list[0] == 16833405476607614310ULL && hash_list[0] == hash_list[1]) || + (hash_list[0] == 13655149628280894901ULL && hash_list[0] == hash_list[1]));); DBUG_EXECUTE_IF("PKE_assert_single_primary_unique_key_generated_insert", - DBUG_ASSERT(key_list_to_hash.size() == 6); - DBUG_ASSERT(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[5] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1"); - DBUG_ASSERT(hash_list.size() == 6); - DBUG_ASSERT(hash_list[0] == 2897372530352804122ULL); - DBUG_ASSERT(hash_list[1] == 340395741608101502ULL); - DBUG_ASSERT(hash_list[2] == 18399953872590645955ULL); - DBUG_ASSERT(hash_list[3] == 12796928550717161120ULL); - DBUG_ASSERT(hash_list[4] == 11353180532661898235ULL); - DBUG_ASSERT(hash_list[5] == 11199547876733116431ULL);); + assert(key_list_to_hash.size() == 6); + assert(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[5] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1"); + assert(hash_list.size() == 6); + assert(hash_list[0] == 2897372530352804122ULL); + assert(hash_list[1] == 340395741608101502ULL); + assert(hash_list[2] == 18399953872590645955ULL); + assert(hash_list[3] == 12796928550717161120ULL); + assert(hash_list[4] == 11353180532661898235ULL); + assert(hash_list[5] == 11199547876733116431ULL);); DBUG_EXECUTE_IF("PKE_assert_single_primary_unique_key_generated_insert_collation", - DBUG_ASSERT(key_list_to_hash.size() == 6); - DBUG_ASSERT(key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[4] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[5] == key_list_to_hash[4]); - DBUG_ASSERT(hash_list.size() == 6); - DBUG_ASSERT(hash_list[0] == 340395741608101502ULL && hash_list[1] == hash_list[0]); - DBUG_ASSERT(hash_list[2] == 12796928550717161120ULL && hash_list[3] == hash_list[2]); - DBUG_ASSERT(hash_list[4] == 11199547876733116431ULL && hash_list[5] == hash_list[4]);); + assert(key_list_to_hash.size() == 6); + assert(key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[4] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[5] == key_list_to_hash[4]); + assert(hash_list.size() == 6); + assert(hash_list[0] == 340395741608101502ULL && hash_list[1] == hash_list[0]); + assert(hash_list[2] == 12796928550717161120ULL && hash_list[3] == hash_list[2]); + assert(hash_list[4] == 11199547876733116431ULL && hash_list[5] == hash_list[4]);); DBUG_EXECUTE_IF("PKE_assert_single_primary_unique_key_generated_update", - DBUG_ASSERT(key_list_to_hash.size() == 6); - DBUG_ASSERT((key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[5] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1") || - (key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[5] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1")); - DBUG_ASSERT(hash_list.size() == 6); - DBUG_ASSERT((hash_list[0] == 14771035529829851738ULL && - hash_list[1] == 7803002059431370747ULL && - hash_list[2] == 18399953872590645955ULL && - hash_list[3] == 12796928550717161120ULL && - hash_list[4] == 11353180532661898235ULL && - hash_list[5] == 11199547876733116431ULL) || - (hash_list[0] == 2897372530352804122ULL && - hash_list[1] == 340395741608101502ULL && - hash_list[2] == 18399953872590645955ULL && - hash_list[3] == 12796928550717161120ULL && - hash_list[4] == 11353180532661898235ULL && - hash_list[5] == 11199547876733116431ULL));); + assert(key_list_to_hash.size() == 6); + assert((key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[5] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1") || + (key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[5] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1")); + assert(hash_list.size() == 6); + assert((hash_list[0] == 14771035529829851738ULL && + hash_list[1] == 7803002059431370747ULL && + hash_list[2] == 18399953872590645955ULL && + hash_list[3] == 12796928550717161120ULL && + hash_list[4] == 11353180532661898235ULL && + hash_list[5] == 11199547876733116431ULL) || + (hash_list[0] == 2897372530352804122ULL && + hash_list[1] == 340395741608101502ULL && + hash_list[2] == 18399953872590645955ULL && + hash_list[3] == 12796928550717161120ULL && + hash_list[4] == 11353180532661898235ULL && + hash_list[5] == 11199547876733116431ULL));); DBUG_EXECUTE_IF("PKE_assert_single_primary_unique_key_generated_update_collation", - DBUG_ASSERT(key_list_to_hash.size() == 6); - DBUG_ASSERT((key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[4] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[5] == key_list_to_hash[4]) || - (key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[4] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[5] == key_list_to_hash[4])); - DBUG_ASSERT(hash_list.size() == 6); - DBUG_ASSERT((hash_list[0] == 7803002059431370747ULL && - hash_list[2] == 12796928550717161120ULL && - hash_list[4] == 11199547876733116431ULL && - hash_list[1] == hash_list[0] && - hash_list[3] == hash_list[2] && - hash_list[5] == hash_list[4]) || - (hash_list[0] == 340395741608101502ULL && - hash_list[2] == 12796928550717161120ULL && - hash_list[4] == 11199547876733116431ULL && - hash_list[1] == hash_list[0] && - hash_list[3] == hash_list[2] && - hash_list[5] == hash_list[4]));); + assert(key_list_to_hash.size() == 6); + assert((key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[4] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[5] == key_list_to_hash[4]) || + (key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[4] == "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[5] == key_list_to_hash[4])); + assert(hash_list.size() == 6); + assert((hash_list[0] == 7803002059431370747ULL && + hash_list[2] == 12796928550717161120ULL && + hash_list[4] == 11199547876733116431ULL && + hash_list[1] == hash_list[0] && + hash_list[3] == hash_list[2] && + hash_list[5] == hash_list[4]) || + (hash_list[0] == 340395741608101502ULL && + hash_list[2] == 12796928550717161120ULL && + hash_list[4] == 11199547876733116431ULL && + hash_list[1] == hash_list[0] && + hash_list[3] == hash_list[2] && + hash_list[5] == hash_list[4]));); DBUG_EXECUTE_IF("PKE_assert_multi_primary_unique_key_generated_insert", - DBUG_ASSERT(key_list_to_hash.size() == 6); - DBUG_ASSERT(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[3] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[5] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1"); - DBUG_ASSERT(hash_list.size() == 6); - DBUG_ASSERT(hash_list[0] == 1691122509389864327ULL); - DBUG_ASSERT(hash_list[1] == 13655149628280894901ULL); - DBUG_ASSERT(hash_list[2] == 12533984864941331840ULL); - DBUG_ASSERT(hash_list[3] == 8954424140835647185ULL); - DBUG_ASSERT(hash_list[4] == 14184162977259375422ULL); - DBUG_ASSERT(hash_list[5] == 3520344117573337805ULL);); + assert(key_list_to_hash.size() == 6); + assert(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[3] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[5] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1"); + assert(hash_list.size() == 6); + assert(hash_list[0] == 1691122509389864327ULL); + assert(hash_list[1] == 13655149628280894901ULL); + assert(hash_list[2] == 12533984864941331840ULL); + assert(hash_list[3] == 8954424140835647185ULL); + assert(hash_list[4] == 14184162977259375422ULL); + assert(hash_list[5] == 3520344117573337805ULL);); DBUG_EXECUTE_IF("PKE_assert_multi_primary_unique_key_generated_insert_collation", - DBUG_ASSERT(key_list_to_hash.size() == 6); - DBUG_ASSERT(key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[2] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[4] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[5] == key_list_to_hash[4]); - DBUG_ASSERT(hash_list.size() == 6); - DBUG_ASSERT(hash_list[0] == 13655149628280894901ULL && hash_list[1] == hash_list[0]); - DBUG_ASSERT(hash_list[2] == 8954424140835647185ULL && hash_list[3] == hash_list[2]); - DBUG_ASSERT(hash_list[4] == 3520344117573337805ULL && hash_list[5] == hash_list[4]);); + assert(key_list_to_hash.size() == 6); + assert(key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[2] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[4] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[5] == key_list_to_hash[4]); + assert(hash_list.size() == 6); + assert(hash_list[0] == 13655149628280894901ULL && hash_list[1] == hash_list[0]); + assert(hash_list[2] == 8954424140835647185ULL && hash_list[3] == hash_list[2]); + assert(hash_list[4] == 3520344117573337805ULL && hash_list[5] == hash_list[4]);); DBUG_EXECUTE_IF("PKE_assert_multi_primary_unique_key_generated_update", - DBUG_ASSERT(key_list_to_hash.size() == 6); - DBUG_ASSERT((key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[3] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[5] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1") || - (key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[3] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[5] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1")); - DBUG_ASSERT(hash_list.size() == 6); - DBUG_ASSERT((hash_list[0] == 1691122509389864327ULL && - hash_list[1] == 13655149628280894901ULL && - hash_list[2] == 12533984864941331840ULL && - hash_list[3] == 8954424140835647185ULL && - hash_list[4] == 14184162977259375422ULL && - hash_list[5] == 3520344117573337805ULL) || - (hash_list[0] == 3950570981230755523ULL && - hash_list[1] == 17122769277112661326ULL && - hash_list[2] == 12533984864941331840ULL && - hash_list[3] == 8954424140835647185ULL && - hash_list[4] == 14184162977259375422ULL && - hash_list[5] == 3520344117573337805ULL));); + assert(key_list_to_hash.size() == 6); + assert((key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[3] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[5] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1") || + (key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[3] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[5] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1")); + assert(hash_list.size() == 6); + assert((hash_list[0] == 1691122509389864327ULL && + hash_list[1] == 13655149628280894901ULL && + hash_list[2] == 12533984864941331840ULL && + hash_list[3] == 8954424140835647185ULL && + hash_list[4] == 14184162977259375422ULL && + hash_list[5] == 3520344117573337805ULL) || + (hash_list[0] == 3950570981230755523ULL && + hash_list[1] == 17122769277112661326ULL && + hash_list[2] == 12533984864941331840ULL && + hash_list[3] == 8954424140835647185ULL && + hash_list[4] == 14184162977259375422ULL && + hash_list[5] == 3520344117573337805ULL));); DBUG_EXECUTE_IF("PKE_assert_multi_primary_unique_key_generated_update_collation", - DBUG_ASSERT(key_list_to_hash.size() == 6); - DBUG_ASSERT((key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[2] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[4] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[5] == key_list_to_hash[4]) || - (key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "12" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[2] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[4] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[5] == key_list_to_hash[4])); - DBUG_ASSERT(hash_list.size() == 6); - DBUG_ASSERT((hash_list[1] == 13655149628280894901ULL && - hash_list[3] == 8954424140835647185ULL && - hash_list[5] == 3520344117573337805ULL && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[5] == key_list_to_hash[4]) || - (hash_list[1] == 17122769277112661326ULL && - hash_list[3] == 8954424140835647185ULL && - hash_list[5] == 3520344117573337805ULL && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[5] == key_list_to_hash[4]));); + assert(key_list_to_hash.size() == 6); + assert((key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[2] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[4] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[5] == key_list_to_hash[4]) || + (key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "12" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[2] == "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[4] == "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[5] == key_list_to_hash[4])); + assert(hash_list.size() == 6); + assert((hash_list[1] == 13655149628280894901ULL && + hash_list[3] == 8954424140835647185ULL && + hash_list[5] == 3520344117573337805ULL && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[5] == key_list_to_hash[4]) || + (hash_list[1] == 17122769277112661326ULL && + hash_list[3] == 8954424140835647185ULL && + hash_list[5] == 3520344117573337805ULL && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[5] == key_list_to_hash[4]));); DBUG_EXECUTE_IF("PKE_assert_multi_foreign_key_generated_insert", - DBUG_ASSERT(key_list_to_hash.size() == 8); - DBUG_ASSERT(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "15" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[5] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[7] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1"); - DBUG_ASSERT(hash_list.size() == 8); - DBUG_ASSERT(hash_list[0] == 4888980339825597978ULL); - DBUG_ASSERT(hash_list[1] == 3283233640848908273ULL); - DBUG_ASSERT(hash_list[2] == 274016005206261698ULL); - DBUG_ASSERT(hash_list[3] == 17221725733811443497ULL); - DBUG_ASSERT(hash_list[4] == 2897372530352804122ULL); - DBUG_ASSERT(hash_list[5] == 340395741608101502ULL); - DBUG_ASSERT(hash_list[6] == 3473606527244955984ULL); - DBUG_ASSERT(hash_list[7] == 14682037479339770823ULL);); + assert(key_list_to_hash.size() == 8); + assert(key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "15" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[5] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[7] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1"); + assert(hash_list.size() == 8); + assert(hash_list[0] == 4888980339825597978ULL); + assert(hash_list[1] == 3283233640848908273ULL); + assert(hash_list[2] == 274016005206261698ULL); + assert(hash_list[3] == 17221725733811443497ULL); + assert(hash_list[4] == 2897372530352804122ULL); + assert(hash_list[5] == 340395741608101502ULL); + assert(hash_list[6] == 3473606527244955984ULL); + assert(hash_list[7] == 14682037479339770823ULL);); DBUG_EXECUTE_IF("PKE_assert_multi_foreign_key_generated_insert_collation", - DBUG_ASSERT(key_list_to_hash.size() == 8); - DBUG_ASSERT(key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "15" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[4] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[6] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[5] == key_list_to_hash[4] && - key_list_to_hash[7] == key_list_to_hash[6]); - DBUG_ASSERT(hash_list.size() == 8); - DBUG_ASSERT(hash_list[1] == 3283233640848908273ULL && hash_list[1] == hash_list[0]); - DBUG_ASSERT(hash_list[3] == 17221725733811443497ULL && hash_list[3] == hash_list[2]); - DBUG_ASSERT(hash_list[5] == 340395741608101502ULL && hash_list[5] == hash_list[4]); - DBUG_ASSERT(hash_list[7] == 14682037479339770823ULL && hash_list[7] == hash_list[6]);); + assert(key_list_to_hash.size() == 8); + assert(key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "15" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[4] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[6] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[5] == key_list_to_hash[4] && + key_list_to_hash[7] == key_list_to_hash[6]); + assert(hash_list.size() == 8); + assert(hash_list[1] == 3283233640848908273ULL && hash_list[1] == hash_list[0]); + assert(hash_list[3] == 17221725733811443497ULL && hash_list[3] == hash_list[2]); + assert(hash_list[5] == 340395741608101502ULL && hash_list[5] == hash_list[4]); + assert(hash_list[7] == 14682037479339770823ULL && hash_list[7] == hash_list[6]);); DBUG_EXECUTE_IF("PKE_assert_multi_foreign_key_generated_update", - DBUG_ASSERT(key_list_to_hash.size() == 8); - DBUG_ASSERT((key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "15" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[5] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[7] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1") || - (key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "15" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[5] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[7] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1")); - DBUG_ASSERT(hash_list.size() == 8); - DBUG_ASSERT((hash_list[0] == 4888980339825597978ULL && - hash_list[1] == 3283233640848908273ULL && - hash_list[2] == 274016005206261698ULL && - hash_list[3] == 17221725733811443497ULL && - hash_list[4] == 2897372530352804122ULL && - hash_list[5] == 340395741608101502ULL && - hash_list[6] == 3473606527244955984ULL && - hash_list[7] == 14682037479339770823ULL) || - (hash_list[0] == 8035853452724126883ULL && - hash_list[1] == 12666755939597291234ULL && - hash_list[2] == 274016005206261698ULL && - hash_list[3] == 17221725733811443497ULL && - hash_list[4] == 8147168586610610204ULL && - hash_list[5] == 8563267070232261320ULL && - hash_list[6] == 3473606527244955984ULL && - hash_list[7] == 14682037479339770823ULL));); + assert(key_list_to_hash.size() == 8); + assert((key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "15" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[5] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[7] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1") || + (key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "15" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[3] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[5] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[7] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1")); + assert(hash_list.size() == 8); + assert((hash_list[0] == 4888980339825597978ULL && + hash_list[1] == 3283233640848908273ULL && + hash_list[2] == 274016005206261698ULL && + hash_list[3] == 17221725733811443497ULL && + hash_list[4] == 2897372530352804122ULL && + hash_list[5] == 340395741608101502ULL && + hash_list[6] == 3473606527244955984ULL && + hash_list[7] == 14682037479339770823ULL) || + (hash_list[0] == 8035853452724126883ULL && + hash_list[1] == 12666755939597291234ULL && + hash_list[2] == 274016005206261698ULL && + hash_list[3] == 17221725733811443497ULL && + hash_list[4] == 8147168586610610204ULL && + hash_list[5] == 8563267070232261320ULL && + hash_list[6] == 3473606527244955984ULL && + hash_list[7] == 14682037479339770823ULL));); DBUG_EXECUTE_IF("PKE_assert_multi_foreign_key_generated_update_collation", - DBUG_ASSERT(key_list_to_hash.size() == 8); - DBUG_ASSERT((key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "15" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[4] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[6] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[4] == key_list_to_hash[4] && - key_list_to_hash[7] == key_list_to_hash[6]) || - (key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "15" - HASH_STRING_SEPARATOR "1" && - key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[4] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" - HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[6] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" - HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && - key_list_to_hash[1] == key_list_to_hash[0] && - key_list_to_hash[3] == key_list_to_hash[2] && - key_list_to_hash[4] == key_list_to_hash[4] && - key_list_to_hash[7] == key_list_to_hash[6])); - DBUG_ASSERT(hash_list.size() == 8); - DBUG_ASSERT((hash_list[1] == 3283233640848908273ULL && hash_list[1] == hash_list[0] && - hash_list[3] == 17221725733811443497ULL && hash_list[3] == hash_list[2] && - hash_list[5] == 340395741608101502ULL && hash_list[5] == hash_list[4] && - hash_list[7] == 14682037479339770823ULL && hash_list[7] == hash_list[6]) || - (hash_list[1] == 12666755939597291234ULL && hash_list[1] == hash_list[0] && - hash_list[3] == 17221725733811443497ULL && hash_list[3] == hash_list[2] && - hash_list[5] == 8563267070232261320ULL && hash_list[5] == hash_list[4] && - hash_list[7] == 14682037479339770823ULL && hash_list[7] == hash_list[6]));); + assert(key_list_to_hash.size() == 8); + assert((key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "15" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[4] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[6] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[4] == key_list_to_hash[4] && + key_list_to_hash[7] == key_list_to_hash[6]) || + (key_list_to_hash[0] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "15" + HASH_STRING_SEPARATOR "1" && + key_list_to_hash[2] == "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t3" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[4] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t1" + HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[6] == "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR "4t2" + HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" && + key_list_to_hash[1] == key_list_to_hash[0] && + key_list_to_hash[3] == key_list_to_hash[2] && + key_list_to_hash[4] == key_list_to_hash[4] && + key_list_to_hash[7] == key_list_to_hash[6])); + assert(hash_list.size() == 8); + assert((hash_list[1] == 3283233640848908273ULL && hash_list[1] == hash_list[0] && + hash_list[3] == 17221725733811443497ULL && hash_list[3] == hash_list[2] && + hash_list[5] == 340395741608101502ULL && hash_list[5] == hash_list[4] && + hash_list[7] == 14682037479339770823ULL && hash_list[7] == hash_list[6]) || + (hash_list[1] == 12666755939597291234ULL && hash_list[1] == hash_list[0] && + hash_list[3] == 17221725733811443497ULL && hash_list[3] == hash_list[2] && + hash_list[5] == 8563267070232261320ULL && hash_list[5] == hash_list[4] && + hash_list[7] == 14682037479339770823ULL && hash_list[7] == hash_list[6]));); } #endif @@ -571,14 +571,14 @@ */ static bool generate_hash_pke(const std::string &pke, uint collation_conversion_algorithm, THD* thd -#ifndef DBUG_OFF +#ifndef NDEBUG , std::vector &write_sets , std::vector &hash_list #endif ) { - DBUG_ASSERT(thd->variables.transaction_write_set_extraction != - HASH_ALGORITHM_OFF); + assert(thd->variables.transaction_write_set_extraction != + HASH_ALGORITHM_OFF); size_t length= (COLLATION_CONVERSION_ALGORITHM == collation_conversion_algorithm) ? pke.size() : strlen(pke.c_str()); @@ -586,7 +586,7 @@ pke.c_str(), length); if (thd->get_transaction()->get_transaction_write_set_ctx()->add_write_set(hash)) return true; -#ifndef DBUG_OFF +#ifndef NDEBUG write_sets.push_back(pke); hash_list.push_back(hash); #endif @@ -667,7 +667,7 @@ // Buffer to read the row data from the table record[0]. String row_data(name_read_buffer, sizeof(name_read_buffer), &my_charset_bin); -#ifndef DBUG_OFF +#ifndef NDEBUG std::vector write_sets; std::vector hash_list; #endif @@ -770,7 +770,7 @@ if (i == table->key_info[key_number].user_defined_key_parts) { if (generate_hash_pke(pke, collation_conversion_algorithm, thd -#ifndef DBUG_OFF +#ifndef NDEBUG , write_sets, hash_list #endif )) @@ -782,7 +782,7 @@ else { /* This is impossible to happen in case of primary keys */ - DBUG_ASSERT(key_number !=0); + assert(key_number !=0); } } } @@ -876,7 +876,7 @@ pke_prefix.append(value_length); if (generate_hash_pke(pke_prefix, collation_conversion_algorithm, thd -#ifndef DBUG_OFF +#ifndef NDEBUG , write_sets, hash_list #endif )) @@ -895,7 +895,7 @@ my_free(pk_value); -#ifndef DBUG_OFF +#ifndef NDEBUG debug_check_for_write_sets(write_sets, hash_list); #endif } diff -Nru mysql-5.7-5.7.33/sql/rpl_write_set_handler.h mysql-5.7-5.7.34/sql/rpl_write_set_handler.h --- mysql-5.7-5.7.33/sql/rpl_write_set_handler.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rpl_write_set_handler.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/rules_table_service.cc mysql-5.7-5.7.34/sql/rules_table_service.cc --- mysql-5.7-5.7.33/sql/rules_table_service.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/rules_table_service.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/select_lex_visitor.cc mysql-5.7-5.7.34/sql/select_lex_visitor.cc --- mysql-5.7-5.7.33/sql/select_lex_visitor.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/select_lex_visitor.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/select_lex_visitor.h mysql-5.7-5.7.34/sql/select_lex_visitor.h --- mysql-5.7-5.7.33/sql/select_lex_visitor.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/select_lex_visitor.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef SELECT_LEX_VISITOR_INCLUDED #define SELECT_LEX_VISITOR_INCLUDED -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/session_tracker.cc mysql-5.7-5.7.34/sql/session_tracker.cc --- mysql-5.7-5.7.33/sql/session_tracker.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/session_tracker.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -486,7 +486,7 @@ } else if (throw_error) { - DBUG_ASSERT(thd); + assert(thd); push_warning_printf( thd, Sql_condition::SL_WARNING, ER_WRONG_VALUE_FOR_VAR, "%s is not a valid system variable and will be ignored.", token); @@ -684,7 +684,7 @@ void Session_sysvars_tracker::mark_as_changed(THD *thd, LEX_CSTRING *tracked_item_name) { - DBUG_ASSERT(tracked_item_name->str); + assert(tracked_item_name->str); sysvar_node_st *node = NULL; LEX_STRING tmp; tmp.str = (char *)tracked_item_name->str; @@ -1189,7 +1189,7 @@ @param thd [IN] The thd handle */ void Transaction_state_tracker::end_trx(THD *thd) { - DBUG_ASSERT(thd->variables.session_track_transaction_info > TX_TRACK_NONE); + assert(thd->variables.session_track_transaction_info > TX_TRACK_NONE); if ((!m_enabled) || (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)) return; diff -Nru mysql-5.7-5.7.33/sql/session_tracker.h mysql-5.7-5.7.34/sql/session_tracker.h --- mysql-5.7-5.7.33/sql/session_tracker.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/session_tracker.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SESSION_TRACKER_INCLUDED #define SESSION_TRACKER_INCLUDED -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -127,13 +127,13 @@ /** Copy constructor */ Session_tracker(Session_tracker const &other) { - DBUG_ASSERT(FALSE); + assert(FALSE); } /** Copy assignment operator */ Session_tracker& operator= (Session_tracker const &rhs) { - DBUG_ASSERT(FALSE); + assert(FALSE); return *this; } diff -Nru mysql-5.7-5.7.33/sql/set_var.cc mysql-5.7-5.7.34/sql/set_var.cc --- mysql-5.7-5.7.33/sql/set_var.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/set_var.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -22,6 +22,7 @@ /* variable declarations are in sys_vars.cc now !!! */ +#include "debug_sync.h" #include "set_var.h" #include "hash.h" // HASH @@ -57,7 +58,7 @@ DBUG_ENTER("sys_var_init"); /* Must be already initialized. */ - DBUG_ASSERT(system_charset_info != NULL); + assert(system_charset_info != NULL); if (my_hash_init(&system_variable_hash, system_charset_info, 100, 0, 0, (my_hash_get_key) get_sys_var_length, 0, HASH_UNIQUE, @@ -140,7 +141,8 @@ next(0), binlog_status(binlog_status_arg), flags(flags_arg), m_parse_flag(parse_flag), show_val_type(show_val_type_arg), - guard(lock), offset(off), on_check(on_check_func), on_update(on_update_func), + guard(lock), offset(off), on_check(on_check_func), + pre_update(0), on_update(on_update_func), deprecation_substitute(substitute), is_os_charset(FALSE) { @@ -153,11 +155,11 @@ in the first (PARSE_EARLY) stage. See handle_options() for details. */ - DBUG_ASSERT(parse_flag == PARSE_NORMAL || getopt_id <= 0 || getopt_id >= 255); + assert(parse_flag == PARSE_NORMAL || getopt_id <= 0 || getopt_id >= 255); name.str= name_arg; // ER_NO_DEFAULT relies on 0-termination of name_arg name.length= strlen(name_arg); // and so does this. - DBUG_ASSERT(name.length <= NAME_CHAR_LEN); + assert(name.length <= NAME_CHAR_LEN); memset(&option, 0, sizeof(option)); option.name= name_arg; @@ -176,6 +178,14 @@ bool sys_var::update(THD *thd, set_var *var) { + /* + Invoke preparatory step for updating a system variable. Doing this action + before we have acquired any locks allows to invoke code which acquires other + locks without introducing deadlocks. + */ + if (pre_update && pre_update(this, thd, var)) + return true; + enum_var_type type= var->type; if (type == OPT_GLOBAL || scope() == GLOBAL) { @@ -300,6 +310,42 @@ DBUG_RETURN(ret); } +Sys_var_tracker::Sys_var_tracker(sys_var *var) +{ + m_is_dynamic = (var->cast_pluginvar() != NULL); + m_name = (m_is_dynamic ? current_thd->strmake(var->name) : var->name); + m_var = (m_is_dynamic ? NULL : var); +} + +sys_var *Sys_var_tracker::bind_system_variable(THD *thd) { + if (!m_is_dynamic || // (1) + (m_var != NULL && // (2) + thd->state == Query_arena::STMT_INITIALIZED_FOR_SP)) // (3) + { + /* + Return a previous cached value of a system variable: + + - if this is a static variable (1) then always return its cached value. + + - if SP body evaluation is in the process (3), and if this is not + a resolver phase (2): the resolver phase caches the value and the + executor phase reuses it; this can work since SQL statements + referencing SP calls don't release plugins acquired by those SP + calls until the SPs removed from the server memory. + */ + return m_var; + } + + m_var= find_sys_var(thd, m_name.str, m_name.length); + if (m_var == NULL) + { + my_error(ER_UNKNOWN_SYSTEM_VARIABLE, MYF(0), m_name.str); + return NULL; + } + + return m_var; +} + void sys_var::do_deprecated_warning(THD *thd) { if (deprecation_substitute != NULL) @@ -540,8 +586,8 @@ enum enum_var_type query_scope, bool strict) { - DBUG_ASSERT(show_var_array != NULL); - DBUG_ASSERT(query_scope == OPT_SESSION || query_scope == OPT_GLOBAL); + assert(show_var_array != NULL); + assert(query_scope == OPT_SESSION || query_scope == OPT_GLOBAL); int count= system_variable_hash.records; /* Resize array if necessary. */ @@ -670,6 +716,11 @@ } err: + it.rewind(); + while ((var= it++)) + { + var->cleanup(); + } free_underlaid_joins(thd, thd->lex->select_lex); DBUG_RETURN(error); } @@ -700,7 +751,7 @@ set_var::set_var(enum_var_type type_arg, sys_var *var_arg, const LEX_STRING *base_name_arg, Item *value_arg) - :var(var_arg), type(type_arg), base(*base_name_arg) + :var(NULL), type(type_arg), base(*base_name_arg), var_tracker(var_arg) { /* If the set value is a field, change it to a string to allow things like @@ -741,6 +792,15 @@ int set_var::check(THD *thd) { DBUG_ENTER("set_var::check"); + DEBUG_SYNC(current_thd, "after_error_checking"); + + assert(var == NULL); + var= var_tracker.bind_system_variable(thd); + if (var == NULL) + { + DBUG_RETURN(-1); + } + var->do_deprecated_warning(thd); if (var->is_readonly()) { @@ -797,6 +857,12 @@ */ int set_var::light_check(THD *thd) { + var= var_tracker.bind_system_variable(thd); + if (var == NULL) + { + return 1; + } + if (!var->check_scope(type)) { int err= type == OPT_GLOBAL ? ER_LOCAL_VARIABLE : ER_GLOBAL_VARIABLE; @@ -826,6 +892,8 @@ */ int set_var::update(THD *thd) { + assert(var != NULL); + return value ? var->update(thd, this) : var->set_default(thd, this); } diff -Nru mysql-5.7-5.7.33/sql/set_var.h mysql-5.7-5.7.34/sql/set_var.h --- mysql-5.7-5.7.33/sql/set_var.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/set_var.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef SET_VAR_INCLUDED #define SET_VAR_INCLUDED -/* Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -109,6 +109,7 @@ protected: typedef bool (*on_check_function)(sys_var *self, THD *thd, set_var *var); + typedef bool (*pre_update_function)(sys_var *self, THD *thd, set_var *var); typedef bool (*on_update_function)(sys_var *self, THD *thd, enum_var_type type); int flags; ///< or'ed flag_enum values @@ -118,6 +119,11 @@ PolyLock *guard; ///< *second* lock that protects the variable ptrdiff_t offset; ///< offset to the value from global_system_variables on_check_function on_check; + /** + Pointer to function to be invoked before updating system variable (but + after calling on_check hook), while we do not hold any locks yet. + */ + pre_update_function pre_update; on_update_function on_update; const char *const deprecation_substitute; bool is_os_charset; ///< true if the value is in character_set_filesystem @@ -167,6 +173,16 @@ that support the syntax @@keycache_name.variable_name */ bool is_struct() { return option.var_type & GET_ASK_ADDR; } + /** + Indicates whether this system variable is written to the binlog or not. + + Variables are written to the binlog as part of "status_vars" in + Query_log_event, as an Intvar_log_event, or a Rand_log_event. + + @param type Scope of the system variable. + + @return true if the variable is written to the binlog, false otherwise. + */ bool is_written_to_binlog(enum_var_type type) { return type != OPT_GLOBAL && binlog_status == SESSION_VARIABLE_IN_BINLOG; } virtual bool check_update_type(Item_result type) = 0; @@ -225,6 +241,26 @@ uchar *global_var_ptr(); }; +class Sys_var_tracker +{ +public: + explicit Sys_var_tracker(sys_var *var); + + sys_var *bind_system_variable(THD *thd); + + bool operator==(const Sys_var_tracker &x) const { + return m_var && m_var == x.m_var; + } + + bool is_sys_var(sys_var *x) const { return m_var == x; } + +private: + bool m_is_dynamic; ///< true if dynamic variable + LEX_CSTRING m_name; ///< variable name + + sys_var *m_var; ///< variable pointer +}; + /**************************************************************************** Classes for parsing of the SET command ****************************************************************************/ @@ -245,6 +281,7 @@ virtual void print(THD *thd, String *str)=0; /* To self-print */ /// @returns whether this variable is @@@@optimizer_trace. virtual bool is_var_optimizer_trace() const { return false; } + virtual void cleanup() {} }; @@ -268,6 +305,10 @@ } save_result; LEX_STRING base; /**< for structured variables, like keycache_name.variable_name */ +private: + Sys_var_tracker var_tracker; + +public: set_var(enum_var_type type_arg, sys_var *var_arg, const LEX_STRING *base_name_arg, Item *value_arg); @@ -279,9 +320,10 @@ virtual bool is_var_optimizer_trace() const { extern sys_var *Sys_optimizer_trace_ptr; - return var == Sys_optimizer_trace_ptr; + return var_tracker.is_sys_var(Sys_optimizer_trace_ptr); } #endif + virtual void cleanup() { var= NULL; } }; diff -Nru mysql-5.7-5.7.33/sql/share/charsets/armscii8.xml mysql-5.7-5.7.34/sql/share/charsets/armscii8.xml --- mysql-5.7-5.7.33/sql/share/charsets/armscii8.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/armscii8.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (c) 2003, 2004 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/ascii.xml mysql-5.7-5.7.34/sql/share/charsets/ascii.xml --- mysql-5.7-5.7.33/sql/share/charsets/ascii.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/ascii.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (c) 2003, 2007 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/cp1250.xml mysql-5.7-5.7.34/sql/share/charsets/cp1250.xml --- mysql-5.7-5.7.33/sql/share/charsets/cp1250.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/cp1250.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (c) 2003, 2005 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/cp1251.xml mysql-5.7-5.7.34/sql/share/charsets/cp1251.xml --- mysql-5.7-5.7.33/sql/share/charsets/cp1251.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/cp1251.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/share/charsets/cp1256.xml mysql-5.7-5.7.34/sql/share/charsets/cp1256.xml --- mysql-5.7-5.7.33/sql/share/charsets/cp1256.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/cp1256.xml 2021-03-26 06:58:52.000000000 +0000 @@ -5,7 +5,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/cp1257.xml mysql-5.7-5.7.34/sql/share/charsets/cp1257.xml --- mysql-5.7-5.7.33/sql/share/charsets/cp1257.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/cp1257.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/cp850.xml mysql-5.7-5.7.34/sql/share/charsets/cp850.xml --- mysql-5.7-5.7.33/sql/share/charsets/cp850.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/cp850.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/cp852.xml mysql-5.7-5.7.34/sql/share/charsets/cp852.xml --- mysql-5.7-5.7.33/sql/share/charsets/cp852.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/cp852.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (c) 2003, 2004 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/cp866.xml mysql-5.7-5.7.34/sql/share/charsets/cp866.xml --- mysql-5.7-5.7.33/sql/share/charsets/cp866.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/cp866.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/dec8.xml mysql-5.7-5.7.34/sql/share/charsets/dec8.xml --- mysql-5.7-5.7.33/sql/share/charsets/dec8.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/dec8.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/geostd8.xml mysql-5.7-5.7.34/sql/share/charsets/geostd8.xml --- mysql-5.7-5.7.33/sql/share/charsets/geostd8.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/geostd8.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/greek.xml mysql-5.7-5.7.34/sql/share/charsets/greek.xml --- mysql-5.7-5.7.33/sql/share/charsets/greek.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/greek.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/hebrew.xml mysql-5.7-5.7.34/sql/share/charsets/hebrew.xml --- mysql-5.7-5.7.33/sql/share/charsets/hebrew.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/hebrew.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (c) 2003, 2006 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/hp8.xml mysql-5.7-5.7.34/sql/share/charsets/hp8.xml --- mysql-5.7-5.7.33/sql/share/charsets/hp8.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/hp8.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/Index.xml mysql-5.7-5.7.34/sql/share/charsets/Index.xml --- mysql-5.7-5.7.33/sql/share/charsets/Index.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/Index.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (c) 2003-2005 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/keybcs2.xml mysql-5.7-5.7.34/sql/share/charsets/keybcs2.xml --- mysql-5.7-5.7.33/sql/share/charsets/keybcs2.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/keybcs2.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/koi8r.xml mysql-5.7-5.7.34/sql/share/charsets/koi8r.xml --- mysql-5.7-5.7.33/sql/share/charsets/koi8r.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/koi8r.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/koi8u.xml mysql-5.7-5.7.34/sql/share/charsets/koi8u.xml --- mysql-5.7-5.7.33/sql/share/charsets/koi8u.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/koi8u.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/languages.html mysql-5.7-5.7.34/sql/share/charsets/languages.html --- mysql-5.7-5.7.33/sql/share/charsets/languages.html 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/languages.html 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (C) 2003 MySQL AB +# Copyright (c) 2003, 2021, Oracle and/or its affiliates. # Use is subject to license terms # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/latin1.xml mysql-5.7-5.7.34/sql/share/charsets/latin1.xml --- mysql-5.7-5.7.33/sql/share/charsets/latin1.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/latin1.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (c) 2003, 2005 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/latin2.xml mysql-5.7-5.7.34/sql/share/charsets/latin2.xml --- mysql-5.7-5.7.33/sql/share/charsets/latin2.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/latin2.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (c) 2003, 2005 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/latin5.xml mysql-5.7-5.7.34/sql/share/charsets/latin5.xml --- mysql-5.7-5.7.33/sql/share/charsets/latin5.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/latin5.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (c) 2003, 2005 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/latin7.xml mysql-5.7-5.7.34/sql/share/charsets/latin7.xml --- mysql-5.7-5.7.33/sql/share/charsets/latin7.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/latin7.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/macce.xml mysql-5.7-5.7.34/sql/share/charsets/macce.xml --- mysql-5.7-5.7.33/sql/share/charsets/macce.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/macce.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/macroman.xml mysql-5.7-5.7.34/sql/share/charsets/macroman.xml --- mysql-5.7-5.7.33/sql/share/charsets/macroman.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/macroman.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/charsets/swe7.xml mysql-5.7-5.7.34/sql/share/charsets/swe7.xml --- mysql-5.7-5.7.33/sql/share/charsets/swe7.xml 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/charsets/swe7.xml 2021-03-26 06:58:52.000000000 +0000 @@ -3,7 +3,7 @@ - Copyright (C) 2003 MySQL AB + Copyright (c) 2003, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/share/CMakeLists.txt mysql-5.7-5.7.34/sql/share/CMakeLists.txt --- mysql-5.7-5.7.33/sql/share/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/share/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/signal_handler.cc mysql-5.7-5.7.34/sql/signal_handler.cc --- mysql-5.7-5.7.33/sql/signal_handler.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/signal_handler.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/spatial.cc mysql-5.7-5.7.34/sql/spatial.cc --- mysql-5.7-5.7.33/sql/spatial.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/spatial.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -56,7 +56,7 @@ int dim1= dimension(); int dim2= mbr->dimension(); - DBUG_ASSERT(dim1 >= 0 && dim1 <= 2 && dim2 >= 0 && dim2 <= 2); + assert(dim1 >= 0 && dim1 <= 2 && dim2 >= 0 && dim2 <= 2); if (dim1 == 0 && dim2 == 0) return 0; if (dim1 == 0 && dim2 == 1) @@ -65,7 +65,7 @@ if (dim1 == 1 && dim2 == 0) return mbr->touches(this); - DBUG_ASSERT(dim1 + dim2 >= 2); + assert(dim1 + dim2 >= 2); ret= ((mbr2->xmin == mbr1->xmax || mbr2->xmax == mbr1->xmin) && (mbr1->ymin <= mbr2->ymax && mbr1->ymax >= mbr2->ymin)) || @@ -94,7 +94,7 @@ int dim1= dimension(); int dim2= mbr->dimension(); - DBUG_ASSERT(dim1 >= 0 && dim1 <= 2 && dim2 >= 0 && dim2 <= 2); + assert(dim1 >= 0 && dim1 <= 2 && dim2 >= 0 && dim2 <= 2); /* Either/both of the two operands can degrade to a point or a @@ -104,45 +104,45 @@ switch (dim1) { case 0: - DBUG_ASSERT(xmin == xmax && ymin == ymax); + assert(xmin == xmax && ymin == ymax); switch (dim2) { case 0: - DBUG_ASSERT(mbr->xmin == mbr->xmax && mbr->ymin == mbr->ymax); + assert(mbr->xmin == mbr->xmax && mbr->ymin == mbr->ymax); return equals(mbr); break; case 1: - DBUG_ASSERT((mbr->xmin == mbr->xmax && mbr->ymin != mbr->ymax) || - (mbr->ymin == mbr->ymax && mbr->xmin != mbr->xmax)); + assert((mbr->xmin == mbr->xmax && mbr->ymin != mbr->ymax) || + (mbr->ymin == mbr->ymax && mbr->xmin != mbr->xmax)); return ((xmin > mbr->xmin && xmin < mbr->xmax && ymin == mbr->ymin) || (ymin > mbr->ymin && ymin < mbr->ymax && xmin == mbr->xmin)); break; case 2: - DBUG_ASSERT(mbr->xmin != mbr->xmax && mbr->ymin != mbr->ymax); + assert(mbr->xmin != mbr->xmax && mbr->ymin != mbr->ymax); return (xmin > mbr->xmin && xmax < mbr->xmax && ymin > mbr->ymin && ymax < mbr->ymax); break; } break; case 1: - DBUG_ASSERT((xmin == xmax && ymin != ymax) || - (ymin == ymax && xmin != xmax)); + assert((xmin == xmax && ymin != ymax) || + (ymin == ymax && xmin != xmax)); switch (dim2) { case 0: - DBUG_ASSERT(mbr->xmin == mbr->xmax && mbr->ymin == mbr->ymax); + assert(mbr->xmin == mbr->xmax && mbr->ymin == mbr->ymax); return 0; break; case 1: - DBUG_ASSERT((mbr->xmin == mbr->xmax && mbr->ymin != mbr->ymax) || - (mbr->ymin == mbr->ymax && mbr->xmin != mbr->xmax)); + assert((mbr->xmin == mbr->xmax && mbr->ymin != mbr->ymax) || + (mbr->ymin == mbr->ymax && mbr->xmin != mbr->xmax)); return ((xmin == xmax && mbr->xmin == mbr->xmax && mbr->xmin == xmin && mbr->ymin <= ymin && mbr->ymax >= ymax) || (ymin == ymax && mbr->ymin == mbr->ymax && mbr->ymin == ymin && mbr->xmin <= xmin && mbr->xmax >= xmax)); break; case 2: - DBUG_ASSERT(mbr->xmin != mbr->xmax && mbr->ymin != mbr->ymax); + assert(mbr->xmin != mbr->xmax && mbr->ymin != mbr->ymax); return ((xmin == xmax && xmin > mbr->xmin && xmax < mbr->xmax && ymin >= mbr->ymin && ymax <= mbr->ymax) || (ymin == ymax && ymin > mbr->ymin && ymax < mbr->ymax && @@ -151,7 +151,7 @@ } break; case 2: - DBUG_ASSERT(xmin != xmax && ymin != ymax); + assert(xmin != xmax && ymin != ymax); switch (dim2) { case 0: @@ -159,7 +159,7 @@ return 0; break; case 2: - DBUG_ASSERT(mbr->xmin != mbr->xmax && mbr->ymin != mbr->ymax); + assert(mbr->xmin != mbr->xmax && mbr->ymin != mbr->ymax); return ((mbr->xmin <= xmin) && (mbr->ymin <= ymin) && (mbr->xmax >= xmax) && (mbr->ymax >= ymax)); break; @@ -169,7 +169,7 @@ } // Never reached. - DBUG_ASSERT(false); + assert(false); return 0; } @@ -483,8 +483,8 @@ */ bool Geometry::as_wkb(String *wkb, bool shallow_copy) const { - DBUG_ASSERT(wkb->ptr() < get_cptr() - GEOM_HEADER_SIZE || - wkb->ptr() > get_cptr() + get_nbytes()); + assert(wkb->ptr() < get_cptr() - GEOM_HEADER_SIZE || + wkb->ptr() > get_cptr() + get_nbytes()); if (shallow_copy) { @@ -495,10 +495,10 @@ Don't write to this object's own String buffer. */ - DBUG_ASSERT(wkb->ptr() != get_cptr() - GEOM_HEADER_SIZE); + assert(wkb->ptr() != get_cptr() - GEOM_HEADER_SIZE); - DBUG_ASSERT(!(get_geotype() == wkb_polygon && - (!polygon_is_wkb_form() || is_bg_adapter()))); + assert(!(get_geotype() == wkb_polygon && + (!polygon_is_wkb_form() || is_bg_adapter()))); wkb->set(get_cptr() - WKB_HEADER_SIZE, get_nbytes() + WKB_HEADER_SIZE, &my_charset_bin); return false; @@ -544,15 +544,15 @@ Don't write to this object's own String buffer. */ - DBUG_ASSERT(has_geom_header_space()); + assert(has_geom_header_space()); - DBUG_ASSERT(!(get_geotype() == wkb_polygon && - (!polygon_is_wkb_form() || is_bg_adapter()))); + assert(!(get_geotype() == wkb_polygon && + (!polygon_is_wkb_form() || is_bg_adapter()))); if (buf->ptr() != get_cptr() - GEOM_HEADER_SIZE) { - DBUG_ASSERT(buf->ptr() < get_cptr() - GEOM_HEADER_SIZE || - buf->ptr() > get_cptr() + get_nbytes()); + assert(buf->ptr() < get_cptr() - GEOM_HEADER_SIZE || + buf->ptr() > get_cptr() + get_nbytes()); buf->set(get_cptr() - GEOM_HEADER_SIZE, get_nbytes() + GEOM_HEADER_SIZE, &my_charset_bin); } @@ -565,8 +565,8 @@ return false; } else - DBUG_ASSERT(buf->ptr() < get_cptr() - GEOM_HEADER_SIZE || - buf->ptr() > get_cptr() + get_nbytes()); + assert(buf->ptr() < get_cptr() - GEOM_HEADER_SIZE || + buf->ptr() > get_cptr() + get_nbytes()); if (buf->reserve(SRID_SIZE + WKB_HEADER_SIZE + this->get_nbytes(), 512) || get_data_ptr() == NULL) @@ -713,7 +713,7 @@ break; default: // The list of cases above should be complete (R2). - DBUG_ASSERT(0); + assert(0); break; } } @@ -926,7 +926,7 @@ } else { - DBUG_ASSERT(geotype >= Geometry::wkb_first && geotype<= Geometry::wkb_last); + assert(geotype >= Geometry::wkb_first && geotype<= Geometry::wkb_last); q= wkb; gt= static_cast(geotype); handler->on_wkb_start(Geometry::wkb_ndr, gt, q, *len, false); @@ -977,7 +977,7 @@ comp_hashdr= true; break; default: - DBUG_ASSERT(false); + assert(false); break; } @@ -1225,7 +1225,7 @@ wkb_parser *wkb, uint32 offset, bool bracket_pt) const { - DBUG_ASSERT(0.0 == 0 && 0 == -0 && -0.0 == 0.0); + assert(0.0 == 0 && 0 == -0 && -0.0 == 0.0); while (n_points--) { @@ -1280,13 +1280,13 @@ Geometry::Geometry(const Geometry &geo) { -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) wkbType geotype= geo.get_geotype(); #endif - DBUG_ASSERT(is_valid_geotype(geotype) && - ((geo.get_ptr() != NULL && geo.get_nbytes() > 0) || - (geo.get_ptr() == NULL && geo.get_nbytes() == 0) || - (geo.get_geotype() == wkb_polygon && geo.get_nbytes() == 0))); + assert(is_valid_geotype(geotype) && + ((geo.get_ptr() != NULL && geo.get_nbytes() > 0) || + (geo.get_ptr() == NULL && geo.get_nbytes() == 0) || + (geo.get_geotype() == wkb_polygon && geo.get_nbytes() == 0))); m_ptr= geo.m_ptr; m_flags= geo.m_flags; @@ -1308,13 +1308,13 @@ problem we want to address/avoid by forbiding throwing exceptions in destructors of Geometry classes. - Since DBUG_ASSERT only works when DBUG_OFF is not defined, the + Since assert only works when NDEBUG is not defined, the try/catch is only enabled here depending on the same condition, so that in release builds we don't have the overhead of the try-catch statement. This is true also for destructors of children classes of Geometry. */ -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) try { #endif @@ -1338,12 +1338,12 @@ donate_data(); -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) } catch (...) { // Should never throw exceptions in destructor. - DBUG_ASSERT(false); + assert(false); } #endif } @@ -1358,12 +1358,12 @@ if (this == &rhs) return *this; -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) Geometry::wkbType geotype= rhs.get_geotype(); #endif - DBUG_ASSERT((is_bg_adapter() || rhs.is_bg_adapter()) && - m_flags.geotype == rhs.m_flags.geotype && - is_valid_geotype(geotype)); + assert((is_bg_adapter() || rhs.is_bg_adapter()) && + m_flags.geotype == rhs.m_flags.geotype && + is_valid_geotype(geotype)); set_bg_adapter(true); @@ -1385,11 +1385,11 @@ Gis_point::Gis_point(const self &pt) :Geometry(pt) { size_t nbytes= get_nbytes(); - DBUG_ASSERT((nbytes == SIZEOF_STORED_DOUBLE * GEOM_DIM || - nbytes == 0)); + assert((nbytes == SIZEOF_STORED_DOUBLE * GEOM_DIM || + nbytes == 0)); if (nbytes == 0) { - DBUG_ASSERT(get_ownmem() == false); + assert(get_ownmem() == false); // Allocate even if pt isn't initialized with proper value, this is // required behavior from Boost Geometry. nbytes= SIZEOF_STORED_DOUBLE * GEOM_DIM; @@ -1425,14 +1425,14 @@ // This point may or may not have own memory. we allow this because in bg, // std::reverse is called to reverse a linestring/ring, and also, // points are of equal size. Not allowed on any other type of geometries. - DBUG_ASSERT((m_ptr != NULL && - get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || - (m_ptr == NULL && get_nbytes() == 0 && !get_ownmem())); - - DBUG_ASSERT((rhs.get_ptr() != NULL && - rhs.get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || - (rhs.get_ptr() == NULL && rhs.get_nbytes() == 0 && - !rhs.get_ownmem())); + assert((m_ptr != NULL && + get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || + (m_ptr == NULL && get_nbytes() == 0 && !get_ownmem())); + + assert((rhs.get_ptr() != NULL && + rhs.get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || + (rhs.get_ptr() == NULL && rhs.get_nbytes() == 0 && + !rhs.get_ownmem())); if (m_owner == NULL) m_owner= rhs.get_owner(); @@ -1480,15 +1480,15 @@ set_bg_adapter(true); if (m_ptr && get_ownmem()) { - DBUG_ASSERT(get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM); + assert(get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM); gis_wkb_free(m_ptr); } m_ptr= ptr; set_nbytes(len); set_ownmem(false); - DBUG_ASSERT((m_ptr != NULL && - get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || - (m_ptr == NULL && get_nbytes() == 0)); + assert((m_ptr != NULL && + get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || + (m_ptr == NULL && get_nbytes() == 0)); } @@ -1639,7 +1639,7 @@ if (n_points < 4 || memcmp(lastpt, firstpt, POINT_DATA_SIZE)) return true; - DBUG_ASSERT(n_points == (lastpt - firstpt) / POINT_DATA_SIZE + 1); + assert(n_points == (lastpt - firstpt) / POINT_DATA_SIZE + 1); out: @@ -1878,7 +1878,7 @@ Gis_polygon::~Gis_polygon() { /* See ~Geometry() for why we do try-catch like this. */ -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) try { #endif @@ -1906,12 +1906,12 @@ given to us, we don't own it; otherwise the two pieces are already freed above. */ -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) } catch (...) { // Should never throw exceptions in destructor. - DBUG_ASSERT(false); + assert(false); } #endif } @@ -1998,7 +1998,7 @@ */ void Gis_polygon::to_wkb_unparsed() { - DBUG_ASSERT(polygon_is_wkb_form() == false && is_bg_adapter()); + assert(polygon_is_wkb_form() == false && is_bg_adapter()); size_t nbytes= 0; void *ptr= get_packed_ptr(this, &nbytes); @@ -2025,7 +2025,7 @@ */ bool Gis_polygon_ring::set_ring_order(bool want_ccw) { - DBUG_ASSERT(is_bg_adapter()); + assert(is_bg_adapter()); Gis_polygon_ring &ring= *this; double x1, x2, y1, y2, minx= DBL_MAX, miny= DBL_MAX; size_t min_i= 0, prev_i, post_i, rsz= ring.size(); @@ -2145,7 +2145,7 @@ char pt[POINT_DATA_SIZE]; size_t s= ring.size(); - DBUG_ASSERT(ring.get_nbytes() == (s * POINT_DATA_SIZE + 4)); + assert(ring.get_nbytes() == (s * POINT_DATA_SIZE + 4)); p0= p; for (size_t i= 0; i < s / 2; i++, p+= POINT_DATA_SIZE) @@ -2166,7 +2166,7 @@ */ bool Gis_polygon::set_polygon_ring_order() { - DBUG_ASSERT(is_bg_adapter()); + assert(is_bg_adapter()); if (outer().set_ring_order(true/* Ring order: CCW. */)) return true; Gis_polygon::inner_container_type::iterator itr; @@ -2227,7 +2227,7 @@ For a BG adapter polygon, its Gis_polygon::m_ptr points to its outer ring rather than the WKB buffer, it is the only exception. */ - DBUG_ASSERT(polygon_is_wkb_form() || !is_bg_adapter()); + assert(polygon_is_wkb_form() || !is_bg_adapter()); if (wkb.scan_non_zero_uint4(&n_linear_rings)) return GET_SIZE_ERROR; @@ -2306,7 +2306,7 @@ return 0; wkb+= ls_len; - DBUG_ASSERT(len >= ls_len); + assert(len >= ls_len); len-= ls_len; } @@ -2433,7 +2433,7 @@ */ void *get_packed_ptr(const Geometry *geo0, size_t *pnbytes) { - DBUG_ASSERT(geo0->get_geotype() == Geometry::wkb_polygon && pnbytes != NULL); + assert(geo0->get_geotype() == Geometry::wkb_polygon && pnbytes != NULL); const Gis_polygon *geo= static_cast(geo0); Gis_polygon::ring_type *out_ring= outer_ring(geo); Gis_polygon::inner_container_type *inn_rings= geo->inner_rings(); @@ -2441,7 +2441,7 @@ if (out_ring == NULL) { - DBUG_ASSERT(inn_rings == NULL); + assert(inn_rings == NULL); *pnbytes= 0; return NULL; } @@ -2471,7 +2471,7 @@ n_inns= inn_rings->size(); } - DBUG_ASSERT(1 + n_inns <= 0xFFFFFFFF); + assert(1 + n_inns <= 0xFFFFFFFF); int4store(static_cast(src_val), static_cast(1 + n_inns)); nbytes= vallen; @@ -2489,13 +2489,13 @@ */ const char *get_packed_ptr(Geometry *geo0) { - DBUG_ASSERT(geo0->get_geotype() == Geometry::wkb_polygon); + assert(geo0->get_geotype() == Geometry::wkb_polygon); Gis_polygon *geo= static_cast(geo0); Gis_polygon::ring_type *out_ring= outer_ring(geo); Gis_polygon::inner_container_type *inn_rings= geo->inner_rings(); if (inn_rings) - DBUG_ASSERT(out_ring->get_cptr() + - out_ring->get_nbytes() == inn_rings->get_cptr()); + assert(out_ring->get_cptr() + + out_ring->get_nbytes() == inn_rings->get_cptr()); return (out_ring->get_cptr() - sizeof(uint32)/*polygon's ring count */); } @@ -2508,8 +2508,8 @@ */ bool polygon_is_packed(Geometry *plgn, Geometry *mplgn) { - DBUG_ASSERT(plgn->get_geotype() == Geometry::wkb_polygon && - mplgn->get_geotype() == Geometry::wkb_multipolygon); + assert(plgn->get_geotype() == Geometry::wkb_polygon && + mplgn->get_geotype() == Geometry::wkb_multipolygon); Gis_polygon *geo= static_cast(plgn); Gis_polygon::ring_type *out_ring= outer_ring(geo); Gis_polygon::inner_container_type *inn_rings= geo->inner_rings(); @@ -2521,8 +2521,8 @@ { // This polygon is already stored packed and inline if (inn_rings && inn_rings->get_nbytes()) - DBUG_ASSERT(orstart + out_ring->get_nbytes() == - inn_rings->get_ptr()); + assert(orstart + out_ring->get_nbytes() == + inn_rings->get_ptr()); ret= true; } @@ -2533,7 +2533,7 @@ void own_rings(Geometry *geo0) { - DBUG_ASSERT(geo0->get_geotype() == Geometry::wkb_polygon); + assert(geo0->get_geotype() == Geometry::wkb_polygon); Gis_polygon *geo= static_cast(geo0); if (outer_ring(geo)) @@ -2790,7 +2790,7 @@ return 0; ls_len+= WKB_HEADER_SIZE;; wkb+= ls_len; - DBUG_ASSERT(len >= ls_len); + assert(len >= ls_len); len-= ls_len; } return (uint) (wkb - wkb_orig); @@ -3031,7 +3031,7 @@ return 0; p_len+= WKB_HEADER_SIZE; wkb+= p_len; - DBUG_ASSERT(len >= p_len); + assert(len >= p_len); len-= p_len; } return (uint) (wkb - wkb_orig); @@ -3204,8 +3204,8 @@ uint32 collection_len= gcbuf->length(), geo_len= geo->get_data_size(); if (geo_len == GET_SIZE_ERROR) return true; - DBUG_ASSERT(collection_len == 0 || - get_data_size() == collection_len - GEOM_HEADER_SIZE); + assert(collection_len == 0 || + get_data_size() == collection_len - GEOM_HEADER_SIZE); if (gcbuf->reserve((collection_len == 0 ? GEOM_HEADER_SIZE + 4 : 0) + geo_len + WKB_HEADER_SIZE, 512)) return true; @@ -3254,11 +3254,11 @@ bool Gis_geometry_collection::append_geometry(srid_t srid, wkbType gtype, const String *gbuf, String *gcbuf) { - DBUG_ASSERT(gbuf != NULL && gbuf->ptr() != NULL && gbuf->length() > 0); + assert(gbuf != NULL && gbuf->ptr() != NULL && gbuf->length() > 0); uint32 collection_len= gcbuf->length(), geo_len= gbuf->length(); - DBUG_ASSERT(collection_len == 0 || - get_data_size() == collection_len - GEOM_HEADER_SIZE); + assert(collection_len == 0 || + get_data_size() == collection_len - GEOM_HEADER_SIZE); if (gcbuf->reserve((collection_len == 0 ? GEOM_HEADER_SIZE + 4 : 0) + geo_len + WKB_HEADER_SIZE, 512)) return true; @@ -3308,8 +3308,8 @@ : Geometry(0, 0, Flags_t(wkb_geometrycollection, 0), srid) { uint32 geo_len= gbuf ? gbuf->length() : 0, total_len= 0; - DBUG_ASSERT((gbuf == NULL || (gbuf->ptr() == NULL && gbuf->length() == 0)) || - (gbuf->ptr() != NULL && gbuf->length() > 0)); + assert((gbuf == NULL || (gbuf->ptr() == NULL && gbuf->length() == 0)) || + (gbuf->ptr() != NULL && gbuf->length() > 0)); total_len= geo_len + sizeof(uint32)/*NUM-objs*/ + SRID_SIZE + WKB_HEADER_SIZE + (geo_len > 0 ? WKB_HEADER_SIZE : 0); @@ -3347,9 +3347,9 @@ Gis_geometry_collection::Gis_geometry_collection(Geometry *geo, String *gcbuf) : Geometry(0, 0, Flags_t(wkb_geometrycollection, 0), geo->get_srid()) { - DBUG_ASSERT(geo != NULL && geo->get_ptr() != NULL); + assert(geo != NULL && geo->get_ptr() != NULL); uint32 geo_len= geo->get_data_size(), total_len= 0; - DBUG_ASSERT(geo_len != GET_SIZE_ERROR); + assert(geo_len != GET_SIZE_ERROR); total_len= geo_len + sizeof(uint32)/*NUM-objs*/ + SRID_SIZE + WKB_HEADER_SIZE * 2; @@ -3491,7 +3491,7 @@ return 0; g_len+= WKB_HEADER_SIZE; wkb+= g_len; - DBUG_ASSERT(len >= g_len); + assert(len >= g_len); len-= g_len; } return (uint) (wkb - wkb_orig); @@ -3677,7 +3677,7 @@ bool has_wkb_hdr, Geometry::wkbType geotype) { m_dim= dim; - DBUG_ASSERT(bo == Geometry::wkb_ndr); + assert(bo == Geometry::wkb_ndr); m_bo= bo; m_has_wkb_hdr= has_wkb_hdr; m_geotype= geotype; @@ -3686,14 +3686,14 @@ Geometry::wkbByteOrder get_current_byte_order() const { - DBUG_ASSERT((m_bo == Geometry::wkb_xdr || m_bo == Geometry::wkb_ndr)); + assert((m_bo == Geometry::wkb_xdr || m_bo == Geometry::wkb_ndr)); return m_bo; } Geometry::wkbType get_current_geotype()const { - DBUG_ASSERT(Geometry::is_valid_geotype(m_geotype)); + assert(Geometry::is_valid_geotype(m_geotype)); return m_geotype; } @@ -3846,7 +3846,7 @@ // m_bo is latest byte order, which allows mixed byte orders in the same // wkb byte string. - DBUG_ASSERT(m_has_wkb_hdr); + assert(m_has_wkb_hdr); Geometry::wkbByteOrder bo= get_byte_order(p); // The next one can be other geo types, in a geometry collection. @@ -3871,7 +3871,7 @@ static inline Gis_polygon::inner_container_type *inner_rings(const Geometry *g) { - DBUG_ASSERT(g->get_geotype() == Geometry::wkb_polygon); + assert(g->get_geotype() == Geometry::wkb_polygon); const Gis_polygon *p= static_cast(g); return p->inner_rings(); } @@ -3888,7 +3888,7 @@ static inline void set_inner_rings(Geometry *g, Gis_polygon::inner_container_type *inns) { - DBUG_ASSERT(g->get_geotype() == Geometry::wkb_polygon); + assert(g->get_geotype() == Geometry::wkb_polygon); Gis_polygon *p= static_cast(g); p->set_inner_rings(inns); } @@ -3912,8 +3912,8 @@ Geometry::wkbByteOrder mybo= geom->get_byte_order(); char dim= geom->get_dimension(); - DBUG_ASSERT(geotype != Geometry::wkb_polygon_inner_rings || - (geotype == Geometry::wkb_polygon_inner_rings && num_geoms != 0)); + assert(geotype != Geometry::wkb_polygon_inner_rings || + (geotype == Geometry::wkb_polygon_inner_rings && num_geoms != 0)); geom->set_bg_adapter(true); if (p == NULL) return; @@ -3922,7 +3922,7 @@ { case Geometry::wkb_point: // Point doesn't need this vector. - DBUG_ASSERT(false); + assert(false); break; case Geometry::wkb_linestring: { @@ -3947,7 +3947,7 @@ last= p; } - DBUG_ASSERT(nbytes == dim * SIZEOF_STORED_DOUBLE); + assert(nbytes == dim * SIZEOF_STORED_DOUBLE); // Construct the geometry object as below to avoid unncesarrily // parsing its WKB data. Parsing will be done in shallow_copy. Gis_point ent; @@ -3977,7 +3977,7 @@ p+= sizeof(uint32); Geometry::wkbByteOrder bo= ::get_byte_order(p); - DBUG_ASSERT(get_wkb_geotype(p + 1) == Geometry::wkb_point); + assert(get_wkb_geotype(p + 1) == Geometry::wkb_point); p+= WKB_HEADER_SIZE; Point_stepper ptstep(dim, bo, true); @@ -4001,7 +4001,7 @@ ent.set_owner(geom); geom->shallow_push(&ent); bo= ptstep.get_current_byte_order(); - DBUG_ASSERT(ptstep.get_current_geotype() == Geometry::wkb_point); + assert(ptstep.get_current_geotype() == Geometry::wkb_point); } break; @@ -4012,7 +4012,7 @@ p+= sizeof(uint32); Geometry::wkbByteOrder bo= ::get_byte_order(p); - DBUG_ASSERT(get_wkb_geotype(p + 1) == Geometry::wkb_linestring); + assert(get_wkb_geotype(p + 1) == Geometry::wkb_linestring); p+= WKB_HEADER_SIZE; Linestring_stepper lsstep(dim, bo, true); @@ -4035,7 +4035,7 @@ ent.set_owner(geom); geom->shallow_push(&ent); bo= lsstep.get_current_byte_order(); - DBUG_ASSERT(lsstep.get_current_geotype() == Geometry::wkb_linestring); + assert(lsstep.get_current_geotype() == Geometry::wkb_linestring); } break; @@ -4161,7 +4161,7 @@ p+= sizeof(uint32); Geometry::wkbByteOrder bo= ::get_byte_order(p); - DBUG_ASSERT(get_wkb_geotype(p + 1) == Geometry::wkb_polygon); + assert(get_wkb_geotype(p + 1) == Geometry::wkb_polygon); p+= WKB_HEADER_SIZE; Polygon_stepper plgn_step(dim, bo, true); @@ -4188,7 +4188,7 @@ // The object 'ent' doesn't have any data of its own. ent.donate_data(); bo= plgn_step.get_current_byte_order(); - DBUG_ASSERT(plgn_step.get_current_geotype() == Geometry::wkb_polygon); + assert(plgn_step.get_current_geotype() == Geometry::wkb_polygon); } break; @@ -4198,10 +4198,10 @@ We never create a Gis_wkb_vector using a geometry collection, because BG never uses such a type. */ - DBUG_ASSERT(false); + assert(false); break; default: - DBUG_ASSERT(false); + assert(false); break; } } @@ -4246,7 +4246,7 @@ This is impossible because BG doesn't use a geometry collection, and we can't create a Gis_wkb_vector with a geometry collection. */ - DBUG_ASSERT(false); + assert(false); } if (inval) @@ -4341,7 +4341,7 @@ if (out) { out= false; - DBUG_ASSERT(prev_start == veci->get_ptr()); + assert(prev_start == veci->get_ptr()); } prev_in= i; continue; @@ -4389,12 +4389,12 @@ // component can be a multipoint/multilinestring/multipolygon or a // geometrycollection. And multipoint components are already supported // so not forbidding them here. -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) Geometry::wkbType veci_gt= veci->get_geotype(); #endif - DBUG_ASSERT(veci_gt != wkb_geometrycollection && - veci_gt != wkb_multilinestring && - veci_gt != wkb_multipolygon); + assert(veci_gt != wkb_geometrycollection && + veci_gt != wkb_multilinestring && + veci_gt != wkb_multipolygon); /* A point/multipoint/linestring is always in one memory chunk. */ totlen+= veci->get_nbytes() + hdrsz; } @@ -4403,7 +4403,7 @@ // Must be a polygon out of line. size_t nbytes= 0; void *plgn_base= get_packed_ptr(veci, &nbytes); - DBUG_ASSERT(veci->get_nbytes() == 0 || veci->get_nbytes() == nbytes); + assert(veci->get_nbytes() == 0 || veci->get_nbytes() == nbytes); veci->set_nbytes(nbytes); plgn_data.insert(std::make_pair(i, std::make_pair(plgn_base,nbytes))); totlen+= nbytes + hdrsz; @@ -4417,7 +4417,7 @@ if (out) { out= false; - DBUG_ASSERT(prev_start == veci->get_ptr()); + assert(prev_start == veci->get_ptr()); } prev_in= i; } @@ -4431,8 +4431,8 @@ } size_t nbytes= get_nbytes(); - DBUG_ASSERT((nbytes == 0 && m_ptr == NULL && num == segsz) || - (nbytes > 0 && num >= segsz)); + assert((nbytes == 0 && m_ptr == NULL && num == segsz) || + (nbytes > 0 && num >= segsz)); // If all are out of line, m_ptr is 0 and no room for ring count, otherwise // the space for ring count is already counted above. @@ -4488,13 +4488,13 @@ plgn_data_itr= plgn_data.find(i); if (veci->get_geotype() != Geometry::wkb_polygon) { - DBUG_ASSERT(plgn_data_itr == plgn_data.end()); + assert(plgn_data_itr == plgn_data.end()); len= veci->get_nbytes(); memcpy(q, veci->get_ptr(), len); } else { - DBUG_ASSERT(plgn_data_itr != plgn_data.end()); + assert(plgn_data_itr != plgn_data.end()); len= plgn_data_itr->second.second; memcpy(q, plgn_data_itr->second.first, len); } @@ -4509,12 +4509,12 @@ memcpy(q, prev_start, len); total_len+= len; } - DBUG_ASSERT(total_len == totlen); + assert(total_len == totlen); // Inner rings doesn't have ring count. if (!is_inns) { - DBUG_ASSERT(segsz + uint4korr(ptr) <= 0xFFFFFFFF); + assert(segsz + uint4korr(ptr) <= 0xFFFFFFFF); int4store(reinterpret_cast(ptr), uint4korr(ptr) + static_cast(segsz)); } @@ -4548,7 +4548,7 @@ srid_t srid, bool is_bg_adapter) :Geometry(ptr, nbytes, flags, srid) { - DBUG_ASSERT((ptr != NULL && nbytes > 0) || (ptr == NULL && nbytes == 0)); + assert((ptr != NULL && nbytes > 0) || (ptr == NULL && nbytes == 0)); set_ownmem(false); // We use existing WKB data and don't own that memory. set_bg_adapter(is_bg_adapter); m_geo_vect= NULL; @@ -4580,9 +4580,9 @@ Gis_wkb_vector:: Gis_wkb_vector(const Gis_wkb_vector &v) :Geometry(v), m_geo_vect(NULL) { - DBUG_ASSERT((v.get_ptr() != NULL && v.get_nbytes() > 0) || - (v.get_ptr() == NULL && !v.get_ownmem() && - v.get_nbytes() == 0)); + assert((v.get_ptr() != NULL && v.get_nbytes() > 0) || + (v.get_ptr() == NULL && !v.get_ownmem() && + v.get_nbytes() == 0)); if (!v.is_bg_adapter() || (v.get_ptr() == NULL && v.m_geo_vect == NULL)) return; m_geo_vect= new Geo_vector(); @@ -4627,11 +4627,11 @@ return *this; Geometry::operator=(rhs); - DBUG_ASSERT((m_ptr != NULL && get_ownmem() && get_nbytes() > 0) || - (m_ptr == NULL && !get_ownmem() && get_nbytes() == 0)); - DBUG_ASSERT((rhs.get_ptr() != NULL && rhs.get_nbytes() > 0) || - (rhs.get_ptr() == NULL && !rhs.get_ownmem() && - rhs.get_nbytes() == 0)); + assert((m_ptr != NULL && get_ownmem() && get_nbytes() > 0) || + (m_ptr == NULL && !get_ownmem() && get_nbytes() == 0)); + assert((rhs.get_ptr() != NULL && rhs.get_nbytes() > 0) || + (rhs.get_ptr() == NULL && !rhs.get_ownmem() && + rhs.get_nbytes() == 0)); if (m_owner == NULL) m_owner= rhs.get_owner(); @@ -4716,7 +4716,7 @@ m_geo_vect= new Geo_vector(); // Allocate space and create an object with its default constructor. pgeo= static_cast(m_geo_vect->append_object()); - DBUG_ASSERT(pgeo != NULL); + assert(pgeo != NULL); if (pgeo == NULL) return; @@ -4737,7 +4737,7 @@ template void Gis_wkb_vector::set_ptr(void *ptr, size_t len) { - DBUG_ASSERT(!(ptr == NULL && len > 0)); + assert(!(ptr == NULL && len > 0)); set_bg_adapter(true); if (get_geotype() != Geometry::wkb_polygon) { @@ -4791,11 +4791,11 @@ { if (!m_geo_vect) { - DBUG_ASSERT(m_ptr == NULL); + assert(m_ptr == NULL); return; } - DBUG_ASSERT(m_geo_vect && get_geotype() != Geometry::wkb_polygon); + assert(m_geo_vect && get_geotype() != Geometry::wkb_polygon); // Keep the component vector because this object can be reused again. const void *ptr= get_ptr(); @@ -4820,7 +4820,7 @@ { // Polygon's data may not stay in a continuous chunk, and we update // its data using the outer/inner rings. - DBUG_ASSERT(get_geotype() != Geometry::wkb_polygon); + assert(get_geotype() != Geometry::wkb_polygon); set_bg_adapter(true); if (m_geo_vect == NULL || m_geo_vect->empty()) return 0; @@ -4834,17 +4834,17 @@ template size_t Gis_wkb_vector::get_nbytes_free() const { - DBUG_ASSERT((this->get_ownmem() && m_ptr) || (!get_ownmem() && !m_ptr)); + assert((this->get_ownmem() && m_ptr) || (!get_ownmem() && !m_ptr)); size_t cap= current_size(); if (cap == 0) { - DBUG_ASSERT(m_ptr == NULL); + assert(m_ptr == NULL); return 0; } const char *p= NULL, *ptr= get_cptr(); - DBUG_ASSERT(ptr != NULL); + assert(ptr != NULL); /* There will always be remaining free space because in push_back, when @@ -4862,16 +4862,16 @@ { Geometry::wkbType geotype= get_geotype(); - DBUG_ASSERT(geotype != Geometry::wkb_polygon && - ((m_ptr && get_ownmem()) || (!m_ptr && !get_ownmem()))); + assert(geotype != Geometry::wkb_polygon && + ((m_ptr && get_ownmem()) || (!m_ptr && !get_ownmem()))); // Only three possible types of geometries for val, thus no need to // do val.reassemble(). - DBUG_ASSERT(val.get_geotype() == wkb_point || - val.get_geotype() == wkb_polygon || - val.get_geotype() == wkb_linestring); + assert(val.get_geotype() == wkb_point || + val.get_geotype() == wkb_polygon || + val.get_geotype() == wkb_linestring); - DBUG_ASSERT(val.get_ptr() != NULL); + assert(val.get_ptr() != NULL); size_t cap= 0, nalloc= 0; size_t vallen, needed; @@ -4952,13 +4952,13 @@ geotype == Geometry::wkb_geometrycollection) { Geometry::wkbType vgt= val.get_geotype(); - DBUG_ASSERT((geotype == Geometry::wkb_multipoint && - vgt == Geometry::wkb_point) || - (geotype == Geometry::wkb_multipolygon && - vgt == Geometry::wkb_polygon) || - (geotype == Geometry::wkb_multilinestring && - vgt == Geometry::wkb_linestring) || - geotype == Geometry::wkb_geometrycollection); + assert((geotype == Geometry::wkb_multipoint && + vgt == Geometry::wkb_point) || + (geotype == Geometry::wkb_multipolygon && + vgt == Geometry::wkb_polygon) || + (geotype == Geometry::wkb_multilinestring && + vgt == Geometry::wkb_linestring) || + geotype == Geometry::wkb_geometrycollection); val_ptr= write_wkb_header(val_ptr, vgt); wkb_header_size= WKB_HEADER_SIZE; @@ -4988,7 +4988,7 @@ if (geotype != Geometry::wkb_polygon_inner_rings) { int4store(get_ucptr(), uint4korr(get_ucptr()) + 1); - DBUG_ASSERT(uint4korr(get_ucptr()) == this->m_geo_vect->size()); + assert(uint4korr(get_ucptr()) == this->m_geo_vect->size()); } if (val.get_geotype() == Geometry::wkb_polygon) @@ -5020,9 +5020,9 @@ // Can resize a topmost geometry or a out of line geometry which has // or will have its own memory(i.e. one that's not using others' memory). // Points are fixed size, polygon doesn't hold data directly. - DBUG_ASSERT(!(m_ptr != NULL && !get_ownmem()) && - geotype != Geometry::wkb_point && - geotype != Geometry::wkb_polygon); + assert(!(m_ptr != NULL && !get_ownmem()) && + geotype != Geometry::wkb_point && + geotype != Geometry::wkb_polygon); set_bg_adapter(true); if (sz == ngeo) return; @@ -5041,15 +5041,15 @@ memset((get_cptr() + get_nbytes() - sublen), 0xff, sublen); set_nbytes(get_nbytes() - sublen); -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) bool rsz_ret= m_geo_vect->resize(sz); - DBUG_ASSERT(rsz_ret == false); + assert(rsz_ret == false); #else m_geo_vect->resize(sz); #endif if (get_geotype() != Geometry::wkb_polygon_inner_rings) { - DBUG_ASSERT(uint4korr(get_ucptr()) == ngeo); + assert(uint4korr(get_ucptr()) == ngeo); int4store(get_ucptr(), static_cast(sz)); } return; @@ -5127,10 +5127,10 @@ set_nbytes(get_nbytes() + ptsz); ptr+= ptsz; int4store(get_ucptr(), uint4korr(get_ucptr()) + 1); - DBUG_ASSERT(uint4korr(get_ucptr()) == m_geo_vect->size() + 1); + assert(uint4korr(get_ucptr()) == m_geo_vect->size() + 1); } else - DBUG_ASSERT(ptr == NULL && ptr2 == NULL); + assert(ptr == NULL && ptr2 == NULL); shallow_push(&tmp); if (tmp.get_geotype() == Geometry::wkb_polygon) diff -Nru mysql-5.7-5.7.33/sql/spatial.h mysql-5.7-5.7.34/sql/spatial.h --- mysql-5.7-5.7.33/sql/spatial.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/spatial.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -222,7 +222,7 @@ same dimension. */ int d= dimension(); - DBUG_ASSERT(d >= 0 && d <= 2); + assert(d >= 0 && d <= 2); if (d != mbr->dimension() || d == 0 || contains(mbr) || within(mbr)) return 0; @@ -494,7 +494,7 @@ /* Routines to skip non-interesting data */ void skip_unsafe(size_t nbytes) { - DBUG_ASSERT(!no_data(nbytes)); + assert(!no_data(nbytes)); m_data+= nbytes; } bool skip(size_t nbytes) @@ -548,7 +548,7 @@ /* Routines to scan coordinate information */ void scan_xy_unsafe(point_xy *p) { - DBUG_ASSERT(!no_data(POINT_DATA_SIZE)); + assert(!no_data(POINT_DATA_SIZE)); get_float8(&p->x); m_data+= SIZEOF_STORED_DOUBLE; get_float8(&p->y); @@ -628,7 +628,7 @@ } virtual uint32 feature_dimension() const { - DBUG_ASSERT(false); + assert(false); return 0; } @@ -744,9 +744,9 @@ void set_components_no_overlapped(bool b) { - DBUG_ASSERT(get_type() == wkb_multilinestring || - get_type() == wkb_multipolygon || - get_type() == wkb_geometrycollection); + assert(get_type() == wkb_multilinestring || + get_type() == wkb_multipolygon || + get_type() == wkb_geometrycollection); if (b) m_flags.props|= MULTIPOLYGON_NO_OVERLAPPED_COMPS; else @@ -755,7 +755,7 @@ void set_props(uint16 flag) { - DBUG_ASSERT(0xfff >= flag); + assert(0xfff >= flag); m_flags.props |= flag; } @@ -909,14 +909,14 @@ void set_byte_order(Geometry::wkbByteOrder bo) { - DBUG_ASSERT(bo == Geometry::wkb_ndr); + assert(bo == Geometry::wkb_ndr); m_flags.bo= static_cast(bo); } void set_dimension(char dim) { // Valid dim is one of [1, 2, 3, 4]. - DBUG_ASSERT(dim >0 && dim <5); + assert(dim >0 && dim <5); m_flags.dim= dim - 1; } @@ -998,7 +998,7 @@ Geometry::wkbByteOrder get_byte_order() const { - DBUG_ASSERT(m_flags.bo == 1); + assert(m_flags.bo == 1); return Geometry::wkb_ndr; } @@ -1131,7 +1131,7 @@ void clear_wkb_data(); virtual void shallow_push(const Geometry *) { - DBUG_ASSERT(false); + assert(false); } protected: @@ -1198,7 +1198,7 @@ { const char *p= static_cast(p0); uint32 gt= uint4korr(p); - DBUG_ASSERT(Geometry::is_valid_geotype(gt)); + assert(Geometry::is_valid_geotype(gt)); return static_cast(gt); } @@ -1324,9 +1324,9 @@ :Geometry(ptr, nbytes, flags, srid) { set_geotype(wkb_point); - DBUG_ASSERT((ptr != NULL && - get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || - (ptr == NULL && get_nbytes() == 0)); + assert((ptr != NULL && + get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || + (ptr == NULL && get_nbytes() == 0)); set_ownmem(false); set_bg_adapter(true); } @@ -1348,10 +1348,10 @@ template double get() const { - DBUG_ASSERT(K < static_cast(get_dimension()) && - ((m_ptr != NULL && - get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || - (m_ptr == NULL && get_nbytes() == 0))); + assert(K < static_cast(get_dimension()) && + ((m_ptr != NULL && + get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || + (m_ptr == NULL && get_nbytes() == 0))); set_bg_adapter(true); const char *p= static_cast(m_ptr) + K * SIZEOF_STORED_DOUBLE; @@ -1379,9 +1379,9 @@ void set(double const &value) { /* Allow assigning to others' memory. */ - DBUG_ASSERT((m_ptr != NULL && K < static_cast(get_dimension()) && - get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || - (!get_ownmem() && get_nbytes() == 0 && m_ptr == NULL)); + assert((m_ptr != NULL && K < static_cast(get_dimension()) && + get_nbytes() == SIZEOF_STORED_DOUBLE * GEOM_DIM) || + (!get_ownmem() && get_nbytes() == 0 && m_ptr == NULL)); set_bg_adapter(true); if (m_ptr == NULL) { @@ -1530,7 +1530,7 @@ /// @return True if this iterator equals to itr; False otherwise. bool operator==(const self &itr) const { - DBUG_ASSERT(m_owner == itr.m_owner); + assert(m_owner == itr.m_owner); return m_curidx == itr.m_curidx; } @@ -1550,7 +1550,7 @@ /// @return True if this iterator is less than itr. bool operator < (const self &itr) const { - DBUG_ASSERT(m_owner == itr.m_owner); + assert(m_owner == itr.m_owner); return m_curidx < itr.m_curidx; } @@ -1579,7 +1579,7 @@ /// @return True if this iterator is greater than itr. bool operator > (const self &itr) const { - DBUG_ASSERT(m_owner == itr.m_owner); + assert(m_owner == itr.m_owner); return m_curidx > itr.m_curidx; } //@} // vctitr_cmp @@ -1732,7 +1732,7 @@ /// @return The index difference. difference_type operator-(const self &itr) const { - DBUG_ASSERT(m_owner == itr.m_owner); + assert(m_owner == itr.m_owner); return (m_curidx - itr.m_curidx); } @@ -1751,9 +1751,9 @@ /// @return The reference to the element this iterator points to. reference operator*() const { - DBUG_ASSERT(this->m_owner != NULL && this->m_curidx >= 0 && - this->m_curidx < - static_cast(this->m_owner->size())); + assert(this->m_owner != NULL && this->m_curidx >= 0 && + this->m_curidx < + static_cast(this->m_owner->size())); return (*m_owner)[m_curidx]; } @@ -1766,9 +1766,9 @@ /// @return The address of the referenced object. pointer operator->() const { - DBUG_ASSERT(this->m_owner != NULL && this->m_curidx >= 0 && - this->m_curidx < - static_cast(this->m_owner->size())); + assert(this->m_owner != NULL && this->m_curidx >= 0 && + this->m_curidx < + static_cast(this->m_owner->size())); return &(*m_owner)[m_curidx]; } @@ -1785,8 +1785,8 @@ self itr= *this; move_by(itr, offset, false); - DBUG_ASSERT(itr.m_owner != NULL && itr.m_curidx >= 0 && - itr.m_curidx < static_cast(itr.m_owner->size())); + assert(itr.m_owner != NULL && itr.m_curidx >= 0 && + itr.m_curidx < static_cast(itr.m_owner->size())); return (*m_owner)[itr.m_curidx]; } //@} @@ -2043,9 +2043,9 @@ /// @return The reference to the element this iterator points to. reference operator*() const { - DBUG_ASSERT(this->m_owner != NULL && this->m_curidx >= 0 && - this->m_curidx < - static_cast(this->m_owner->size())); + assert(this->m_owner != NULL && this->m_curidx >= 0 && + this->m_curidx < + static_cast(this->m_owner->size())); return (*this->m_owner)[this->m_curidx]; } @@ -2058,9 +2058,9 @@ /// @return The address of the referenced object. pointer operator->() const { - DBUG_ASSERT(this->m_owner != NULL && this->m_curidx >= 0 && - this->m_curidx < - static_cast(this->m_owner->size())); + assert(this->m_owner != NULL && this->m_curidx >= 0 && + this->m_curidx < + static_cast(this->m_owner->size())); return &(*this->m_owner)[this->m_curidx]; } @@ -2075,8 +2075,8 @@ { self itr= *this; this->move_by(itr, offset, false); - DBUG_ASSERT(itr.m_owner != NULL && itr.m_curidx >= 0 && - itr.m_curidx < static_cast(this->m_owner->size())); + assert(itr.m_owner != NULL && itr.m_curidx >= 0 && + itr.m_curidx < static_cast(this->m_owner->size())); return (*this->m_owner)[itr.m_curidx]; } //@} // funcs_val @@ -2258,7 +2258,7 @@ const_reference operator[](index_type i) const { - DBUG_ASSERT(!(i < 0 || i >= (index_type)size())); + assert(!(i < 0 || i >= (index_type)size())); set_bg_adapter(true); const Geometry *p= &((*m_geo_vect)[i]); @@ -2268,7 +2268,7 @@ reference operator[](index_type i) { - DBUG_ASSERT(!(i < 0 || i >= (index_type)size())); + assert(!(i < 0 || i >= (index_type)size())); set_bg_adapter(true); Geometry *p= &((*m_geo_vect)[i]); @@ -2296,7 +2296,7 @@ exception now. We do so nonetheless for potential mis-use of exceptions in futher code. */ -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) try { #endif @@ -2304,12 +2304,12 @@ return; if (m_geo_vect != NULL) clear_wkb_data(); -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) } catch (...) { // Should never throw exceptions in destructor. - DBUG_ASSERT(false); + assert(false); } #endif } @@ -2454,7 +2454,7 @@ // For internal use only, only convert types, don't create rings. inline Gis_polygon_ring *outer_ring(const Geometry *g) { - DBUG_ASSERT(g->get_geotype() == Geometry::wkb_polygon); + assert(g->get_geotype() == Geometry::wkb_polygon); Gis_polygon_ring *out= static_cast(g->get_ptr()); return out; @@ -2483,7 +2483,7 @@ ring_type &outer() const { - DBUG_ASSERT(!polygon_is_wkb_form()); + assert(!polygon_is_wkb_form()); set_bg_adapter(true); // Create outer ring if none, although read only, calller may just want // to traverse the outer ring if any. @@ -2495,7 +2495,7 @@ inner_container_type &inners() const { - DBUG_ASSERT(!polygon_is_wkb_form()); + assert(!polygon_is_wkb_form()); set_bg_adapter(true); // Create inner rings if none, although read only, calller may just want // to traverse the inner rings if any. @@ -2717,7 +2717,7 @@ bool dimension(uint32 *dim, wkb_parser *wkb) const; uint32 feature_dimension() const { - DBUG_ASSERT(0); + assert(0); return 0; } const Class_info *get_class_info() const; diff -Nru mysql-5.7-5.7.33/sql/sp_cache.cc mysql-5.7-5.7.34/sql/sp_cache.cc --- mysql-5.7-5.7.33/sql/sp_cache.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp_cache.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sp_cache.h mysql-5.7-5.7.34/sql/sp_cache.h --- mysql-5.7-5.7.33/sql/sp_cache.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp_cache.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* -*- C++ -*- */ -/* Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sp.cc mysql-5.7-5.7.34/sql/sp.cc --- mysql-5.7-5.7.33/sql/sp.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -1038,8 +1038,8 @@ String retstr(64); retstr.set_charset(system_charset_info); - DBUG_ASSERT(sp->m_type == SP_TYPE_PROCEDURE || - sp->m_type == SP_TYPE_FUNCTION); + assert(sp->m_type == SP_TYPE_PROCEDURE || + sp->m_type == SP_TYPE_FUNCTION); /* Grab an exclusive MDL lock. */ if (lock_object_name(thd, mdl_type, sp->m_db.str, sp->m_name.str)) @@ -1298,7 +1298,7 @@ thd->count_cuted_fields= saved_count_cuted_fields; thd->variables.sql_mode= saved_mode; /* Restore the state of binlog format */ - DBUG_ASSERT(!thd->is_current_stmt_binlog_format_row()); + assert(!thd->is_current_stmt_binlog_format_row()); if (save_binlog_row_based) thd->set_current_stmt_binlog_format_row(); DBUG_RETURN(error); @@ -1331,7 +1331,7 @@ DBUG_PRINT("enter", ("type: %d name: %.*s", type, (int) name->m_name.length, name->m_name.str)); - DBUG_ASSERT(type == SP_TYPE_PROCEDURE || type == SP_TYPE_FUNCTION); + assert(type == SP_TYPE_PROCEDURE || type == SP_TYPE_FUNCTION); /* Grab an exclusive MDL lock. */ if (lock_object_name(thd, mdl_type, name->m_db.str, name->m_name.str)) @@ -1382,7 +1382,7 @@ #endif } /* Restore the state of binlog format */ - DBUG_ASSERT(!thd->is_current_stmt_binlog_format_row()); + assert(!thd->is_current_stmt_binlog_format_row()); if (save_binlog_row_based) thd->set_current_stmt_binlog_format_row(); DBUG_RETURN(ret); @@ -1418,7 +1418,7 @@ DBUG_PRINT("enter", ("type: %d name: %.*s", type, (int) name->m_name.length, name->m_name.str)); - DBUG_ASSERT(type == SP_TYPE_PROCEDURE || type == SP_TYPE_FUNCTION); + assert(type == SP_TYPE_PROCEDURE || type == SP_TYPE_FUNCTION); /* Grab an exclusive MDL lock. */ if (lock_object_name(thd, mdl_type, name->m_db.str, name->m_name.str)) @@ -1488,7 +1488,7 @@ } err: /* Restore the state of binlog format */ - DBUG_ASSERT(!thd->is_current_stmt_binlog_format_row()); + assert(!thd->is_current_stmt_binlog_format_row()); if (save_binlog_row_based) thd->set_current_stmt_binlog_format_row(); DBUG_RETURN(ret); @@ -1601,10 +1601,10 @@ close_nontrans_system_tables(thd, &open_tables_state_backup); /* We should already hold a global IX lock and a schema X lock. */ - DBUG_ASSERT(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::GLOBAL, - "", "", MDL_INTENTION_EXCLUSIVE) && - thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::SCHEMA, - db, "", MDL_EXCLUSIVE)); + assert(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::GLOBAL, + "", "", MDL_INTENTION_EXCLUSIVE) && + thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::SCHEMA, + db, "", MDL_EXCLUSIVE)); DBUG_RETURN(thd->mdl_context.acquire_locks(&mdl_requests, thd->variables.lock_wait_timeout)); } @@ -1722,7 +1722,7 @@ (int) name->m_name.length, name->m_name.str)); - DBUG_ASSERT(type == SP_TYPE_PROCEDURE || type == SP_TYPE_FUNCTION); + assert(type == SP_TYPE_PROCEDURE || type == SP_TYPE_FUNCTION); /* @todo: Consider using prelocking for this code as well. Currently @@ -1801,7 +1801,7 @@ (ulong)sp->m_first_free_instance, sp->m_first_free_instance->m_recursion_level, sp->m_first_free_instance->m_flags)); - DBUG_ASSERT(!(sp->m_first_free_instance->m_flags & sp_head::IS_INVOKED)); + assert(!(sp->m_first_free_instance->m_flags & sp_head::IS_INVOKED)); if (sp->m_first_free_instance->m_recursion_level > depth) { recursion_level_error(thd, sp); @@ -2108,7 +2108,7 @@ in sroutines_list has an MDL lock unless it's a top-level call, or a trigger, but triggers can't occur here (see the preceding assert). */ - DBUG_ASSERT(rt->mdl_request.ticket || rt == thd->lex->sroutines_list.first); + assert(rt->mdl_request.ticket || rt == thd->lex->sroutines_list.first); return sp_cache_routine(thd, type, &name, lookup_only, sp); } @@ -2143,7 +2143,7 @@ DBUG_ENTER("sp_cache_routine"); - DBUG_ASSERT(type == SP_TYPE_FUNCTION || type == SP_TYPE_PROCEDURE); + assert(type == SP_TYPE_FUNCTION || type == SP_TYPE_PROCEDURE); *sp= sp_cache_lookup(spc, name); @@ -2419,7 +2419,7 @@ { sp_head *sp= thd->lex->sphead; - DBUG_ASSERT(sp); + assert(sp); sp->set_body_end(thd); @@ -2638,7 +2638,7 @@ bool sp_check_name(LEX_STRING *ident) { - DBUG_ASSERT(ident != NULL && ident->str != NULL); + assert(ident != NULL && ident->str != NULL); if (!ident->str[0] || ident->str[ident->length-1] == ' ') { diff -Nru mysql-5.7-5.7.33/sql/sp.h mysql-5.7-5.7.34/sql/sp.h --- mysql-5.7-5.7.33/sql/sp.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sp_head.cc mysql-5.7-5.7.34/sql/sp_head.cc --- mysql-5.7-5.7.33/sql/sp_head.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp_head.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -310,7 +310,7 @@ { /* Must be initialized in the parser. */ - DBUG_ASSERT(spname && spname->m_db.str && spname->m_db.length); + assert(spname && spname->m_db.str && spname->m_db.length); /* We have to copy strings to get them into the right memroot. */ @@ -481,7 +481,7 @@ sp_instr *i; // Parsing of SP-body must have been already finished. - DBUG_ASSERT(!m_parser_data.is_parsing_sp_body()); + assert(!m_parser_data.is_parsing_sp_body()); for (uint ip = 0 ; (i = get_instr(ip)) ; ip++) delete i; @@ -604,7 +604,7 @@ init_sql_alloc(key_memory_sp_head_execute_root, &execute_mem_root, MEM_ROOT_BLOCK_SIZE, 0); - DBUG_ASSERT(!(m_flags & IS_INVOKED)); + assert(!(m_flags & IS_INVOKED)); m_flags|= IS_INVOKED; m_first_instance->m_first_free_instance= m_next_cached_sp; if (m_next_cached_sp) @@ -622,9 +622,9 @@ some instances after this one then recursion level of next instance greater then recursion level of current instance on 1 */ - DBUG_ASSERT((m_next_cached_sp == 0 && - m_first_instance->m_last_cached_sp == this) || - (m_recursion_level + 1 == m_next_cached_sp->m_recursion_level)); + assert((m_next_cached_sp == 0 && + m_first_instance->m_last_cached_sp == this) || + (m_recursion_level + 1 == m_next_cached_sp->m_recursion_level)); /* NOTE: The SQL Standard does not specify the context that should be @@ -853,11 +853,11 @@ if(thd->is_classic_protocol()) /* Restore all saved */ old_packet.swap(*thd->get_protocol_classic()->get_packet()); - DBUG_ASSERT(thd->change_list.is_empty()); + assert(thd->change_list.is_empty()); old_change_list.move_elements_to(&thd->change_list); thd->lex= old_lex; thd->set_query_id(old_query_id); - DBUG_ASSERT(!thd->derived_tables); + assert(!thd->derived_tables); thd->derived_tables= old_derived_tables; thd->variables.sql_mode= save_sql_mode; thd->pop_reprepare_observer(); @@ -929,7 +929,7 @@ while (thd->get_stmt_da() != &sp_da) thd->pop_diagnostics_area(); thd->pop_diagnostics_area(); - DBUG_ASSERT(thd->get_stmt_da() == caller_da); + assert(thd->get_stmt_da() == caller_da); done: DBUG_PRINT("info", ("err_status: %d killed: %d is_slave_error: %d report_error: %d", @@ -968,13 +968,13 @@ should go just after this one and recursion level of that free instance should be on 1 more then recursion level of this instance. */ - DBUG_ASSERT((m_first_instance->m_first_free_instance == 0 && - this == m_first_instance->m_last_cached_sp && - m_next_cached_sp == 0) || - (m_first_instance->m_first_free_instance != 0 && - m_first_instance->m_first_free_instance == m_next_cached_sp && - m_first_instance->m_first_free_instance->m_recursion_level == - m_recursion_level + 1)); + assert((m_first_instance->m_first_free_instance == 0 && + this == m_first_instance->m_last_cached_sp && + m_next_cached_sp == 0) || + (m_first_instance->m_first_free_instance != 0 && + m_first_instance->m_first_free_instance == m_next_cached_sp && + m_first_instance->m_first_free_instance->m_recursion_level == + m_recursion_level + 1)); m_first_instance->m_first_free_instance= this; return err_status; @@ -1183,7 +1183,7 @@ for (arg_no= 0; arg_no < argcount; arg_no++) { /* Arguments must be fixed in Item_func_sp::fix_fields */ - DBUG_ASSERT(argp[arg_no]->fixed); + assert(argp[arg_no]->fixed); err_status= func_runtime_ctx->set_variable(thd, arg_no, &(argp[arg_no])); @@ -1566,7 +1566,7 @@ Settable_routine_parameter *srp= arg_item->get_settable_routine_parameter(); - DBUG_ASSERT(srp); + assert(srp); if (srp->set_value(thd, parent_sp_runtime_ctx, proc_runtime_ctx->get_item_addr(i))) { @@ -1755,7 +1755,7 @@ bool full_access; - DBUG_ASSERT(type == SP_TYPE_PROCEDURE || type == SP_TYPE_FUNCTION); + assert(type == SP_TYPE_PROCEDURE || type == SP_TYPE_FUNCTION); if (check_show_access(thd, &full_access)) return true; @@ -1945,7 +1945,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG bool sp_head::show_routine_code(THD *thd) { Protocol *protocol= thd->get_protocol(); @@ -2000,7 +2000,7 @@ return res; } -#endif // ifndef DBUG_OFF +#endif // ifndef NDEBUG bool sp_head::merge_table_list(THD *thd, diff -Nru mysql-5.7-5.7.33/sql/sp_head.h mysql-5.7-5.7.34/sql/sp_head.h --- mysql-5.7-5.7.33/sql/sp_head.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp_head.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -238,8 +238,8 @@ */ const char *pop_expr_start_ptr() { -#ifndef DBUG_OFF - DBUG_ASSERT(m_expr_start_ptr); +#ifndef NDEBUG + assert(m_expr_start_ptr); const char *p= m_expr_start_ptr; m_expr_start_ptr= NULL; return p; @@ -258,7 +258,7 @@ */ void push_expr_start_ptr(const char *expr_start_ptr) { - DBUG_ASSERT(!m_expr_start_ptr); + assert(!m_expr_start_ptr); m_expr_start_ptr= expr_start_ptr; } @@ -898,7 +898,7 @@ HAS_COMMIT_OR_ROLLBACK|HAS_SQLCOM_RESET|HAS_SQLCOM_FLUSH)); } -#ifndef DBUG_OFF +#ifndef NDEBUG /** Return the routine instructions as a result set. @return Error status. diff -Nru mysql-5.7-5.7.33/sql/sp_instr.cc mysql-5.7-5.7.34/sql/sp_instr.cc --- mysql-5.7-5.7.33/sql/sp_instr.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp_instr.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -52,7 +52,7 @@ public: bool operator()(const Item_splocal *a, const Item_splocal *b) { - DBUG_ASSERT(a == b || a->pos_in_query != b->pos_in_query); + assert(a == b || a->pos_in_query != b->pos_in_query); return a->pos_in_query < b->pos_in_query; } }; @@ -314,8 +314,8 @@ /* Check pre-conditions. */ - DBUG_ASSERT(!thd->derived_tables); - DBUG_ASSERT(thd->change_list.is_empty()); + assert(!thd->derived_tables); + assert(thd->change_list.is_empty()); /* Use our own lex. @@ -572,7 +572,7 @@ // The instruction has returned zero-length query string. That means, the // re-preparation of the instruction is not possible. We should not come // here in the normal life. - DBUG_ASSERT(false); + assert(false); my_error(ER_UNKNOWN_ERROR, MYF(0)); return NULL; } @@ -652,7 +652,7 @@ Trigger *t= sp->m_trg_list->find_trigger(thd->lex->sphead->m_name); - DBUG_ASSERT(t); + assert(t); if (!t) return NULL; // Don't take chances in production. @@ -778,7 +778,7 @@ thd->get_stmt_da()->mysql_errno() == ER_NEED_REPREPARE && reprepare_attempt++ < 3) { - DBUG_ASSERT(stmt_reprepare_observer->is_invalidated()); + assert(stmt_reprepare_observer->is_invalidated()); thd->clear_error(); free_lex(); @@ -966,8 +966,8 @@ double-check whether the potential conflict they created is a problem. */ - DBUG_ASSERT((thd->query_name_consts == 0) || - (thd->rewritten_query().length() == 0)); + assert((thd->query_name_consts == 0) || + (thd->rewritten_query().length() == 0)); } else *nextp= get_ip() + 1; @@ -1129,11 +1129,11 @@ bool sp_instr_set_trigger_field::on_after_expr_parsing(THD *thd) { - DBUG_ASSERT(thd->lex->select_lex->item_list.elements == 1); + assert(thd->lex->select_lex->item_list.elements == 1); m_value_item= thd->lex->select_lex->item_list.head(); - DBUG_ASSERT(!m_trigger_field); + assert(!m_trigger_field); m_trigger_field= new (thd->mem_root) Item_trigger_field(thd->lex->current_context(), @@ -1232,7 +1232,7 @@ bool sp_instr_jump_if_not::exec_core(THD *thd, uint *nextp) { - DBUG_ASSERT(m_expr_item); + assert(m_expr_item); Item *item= sp_prepare_func_item(thd, &m_expr_item); @@ -1328,7 +1328,7 @@ bool sp_instr_jump_case_when::exec_core(THD *thd, uint *nextp) { - DBUG_ASSERT(m_eq_item); + assert(m_eq_item); Item *item= sp_prepare_func_item(thd, &m_eq_item); @@ -1364,7 +1364,7 @@ if (!m_case_expr_item) return true; -#ifndef DBUG_OFF +#ifndef NDEBUG m_case_expr_item->m_sp= thd->lex->sphead; #endif @@ -1382,7 +1382,7 @@ if (!m_expr_item) { - DBUG_ASSERT(thd->lex->select_lex->item_list.elements == 1); + assert(thd->lex->select_lex->item_list.elements == 1); m_expr_item= thd->lex->select_lex->item_list.head(); } diff -Nru mysql-5.7-5.7.33/sql/sp_instr.h mysql-5.7-5.7.34/sql/sp_instr.h --- mysql-5.7-5.7.33/sql/sp_instr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp_instr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -539,7 +539,7 @@ virtual bool on_after_expr_parsing(THD *thd) { - DBUG_ASSERT(thd->lex->select_lex->item_list.elements == 1); + assert(thd->lex->select_lex->item_list.elements == 1); m_value_item= thd->lex->select_lex->item_list.head(); @@ -692,7 +692,7 @@ virtual bool on_after_expr_parsing(THD *thd) { - DBUG_ASSERT(thd->lex->select_lex->item_list.elements == 1); + assert(thd->lex->select_lex->item_list.elements == 1); m_expr_item= thd->lex->select_lex->item_list.head(); @@ -786,7 +786,7 @@ virtual void backpatch(uint dest) { /* Calling backpatch twice is a logic flaw in jump resolution. */ - DBUG_ASSERT(m_dest == 0); + assert(m_dest == 0); m_dest= dest; } @@ -885,7 +885,7 @@ virtual void backpatch(uint dest) { /* Calling backpatch twice is a logic flaw in jump resolution. */ - DBUG_ASSERT(m_dest == 0); + assert(m_dest == 0); m_dest= dest; } @@ -947,7 +947,7 @@ virtual bool on_after_expr_parsing(THD *thd) { - DBUG_ASSERT(thd->lex->select_lex->item_list.elements == 1); + assert(thd->lex->select_lex->item_list.elements == 1); m_expr_item= thd->lex->select_lex->item_list.head(); @@ -1034,7 +1034,7 @@ virtual bool on_after_expr_parsing(THD *thd) { - DBUG_ASSERT(thd->lex->select_lex->item_list.elements == 1); + assert(thd->lex->select_lex->item_list.elements == 1); m_expr_item= thd->lex->select_lex->item_list.head(); @@ -1164,7 +1164,7 @@ m_opt_hpop(0), m_frame(ctx->current_var_count()) { - DBUG_ASSERT(m_handler->condition_values.elements == 0); + assert(m_handler->condition_values.elements == 0); } virtual ~sp_instr_hpush_jump() @@ -1203,7 +1203,7 @@ virtual void backpatch(uint dest) { - DBUG_ASSERT(!m_dest || !m_opt_hpop); + assert(!m_dest || !m_opt_hpop); if (!m_dest) m_dest= dest; else diff -Nru mysql-5.7-5.7.33/sql/sp_pcontext.cc mysql-5.7-5.7.34/sql/sp_pcontext.cc --- mysql-5.7-5.7.33/sql/sp_pcontext.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp_pcontext.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -26,7 +26,7 @@ bool sp_condition_value::equals(const sp_condition_value *cv) const { - DBUG_ASSERT(cv); + assert(cv); if (this == cv) return true; @@ -110,7 +110,7 @@ break; default: // The handler type must be either CONTINUE or EXIT. - DBUG_ASSERT(0); + assert(0); } print_conditions(str); diff -Nru mysql-5.7-5.7.33/sql/sp_pcontext.h mysql-5.7-5.7.34/sql/sp_pcontext.h --- mysql-5.7-5.7.33/sql/sp_pcontext.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp_pcontext.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* -*- C++ -*- */ -/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -173,7 +173,7 @@ :Sql_alloc(), type(_type) { - DBUG_ASSERT(type != ERROR_CODE && type != SQLSTATE); + assert(type != ERROR_CODE && type != SQLSTATE); } /// Print a condition_value in human-readable form. diff -Nru mysql-5.7-5.7.33/sql/sp_rcontext.cc mysql-5.7-5.7.34/sql/sp_rcontext.cc --- mysql-5.7-5.7.33/sql/sp_rcontext.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp_rcontext.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -121,7 +121,7 @@ m_root_parsing_ctx->retrieve_field_definitions(&field_def_lst); - DBUG_ASSERT(field_def_lst.elements == m_root_parsing_ctx->max_var_index()); + assert(field_def_lst.elements == m_root_parsing_ctx->max_var_index()); if (!(m_var_table= create_virtual_tmp_table(thd, field_def_lst))) return true; @@ -157,7 +157,7 @@ bool sp_rcontext::set_return_value(THD *thd, Item **return_value_item) { - DBUG_ASSERT(m_return_value_fld); + assert(m_return_value_fld); m_return_value_set = true; @@ -189,7 +189,7 @@ void sp_rcontext::pop_cursors(uint count) { - DBUG_ASSERT(m_ccount >= count); + assert(m_ccount >= count); while (count--) delete m_cstack[--m_ccount]; @@ -240,7 +240,7 @@ m_activated_handlers.pop_back(); // Also pop matching DA and copy new conditions. - DBUG_ASSERT(thd->get_stmt_da() == &frame->handler_da); + assert(thd->get_stmt_da() == &frame->handler_da); thd->pop_diagnostics_area(); // Out with the old, in with the new! thd->get_stmt_da()->reset_condition_info(thd); @@ -380,7 +380,7 @@ // - there is a pending SQL-condition (error or warning); // - there is an SQL-handler for it. - DBUG_ASSERT(found_condition); + assert(found_condition); sp_handler_entry *handler_entry= NULL; for (size_t i= 0; i < m_visible_handlers.size(); ++i) @@ -618,7 +618,7 @@ Item *item; /* Must be ensured by the caller */ - DBUG_ASSERT(spvar_list->elements == items.elements); + assert(spvar_list->elements == items.elements); /* Assign the row fetched from a server side cursor to stored diff -Nru mysql-5.7-5.7.33/sql/sp_rcontext.h mysql-5.7-5.7.34/sql/sp_rcontext.h --- mysql-5.7-5.7.33/sql/sp_rcontext.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sp_rcontext.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -238,7 +238,7 @@ uint get_last_handler_continue_ip() const { uint ip= m_activated_handlers.back()->continue_ip; - DBUG_ASSERT(ip != 0); + assert(ip != 0); return ip; } diff -Nru mysql-5.7-5.7.33/sql/sql_admin.cc mysql-5.7-5.7.34/sql/sql_admin.cc --- mysql-5.7-5.7.33/sql/sql_admin.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_admin.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -165,7 +165,7 @@ goto end; // No data file /* A MERGE table must not come here. */ - DBUG_ASSERT(table->file->ht->db_type != DB_TYPE_MRG_MYISAM); + assert(table->file->ht->db_type != DB_TYPE_MRG_MYISAM); // Name of data file strxmov(from, table->s->normalized_path.str, ext[1], NullS); @@ -676,7 +676,7 @@ require upgrade. So we don't need to pre-open them before calling mysql_recreate_table(). */ - DBUG_ASSERT(! table->table->s->tmp_table); + assert(! table->table->s->tmp_table); trans_rollback_stmt(thd); trans_rollback(thd); @@ -913,7 +913,7 @@ protocol->store(operator_name, system_charset_info); if (result_code) // either mysql_recreate_table or analyze failed { - DBUG_ASSERT(thd->is_error() || thd->killed); + assert(thd->is_error() || thd->killed); if (thd->is_error()) { const char *err_msg= thd->get_stmt_da()->message_text(); @@ -1346,7 +1346,7 @@ alter_instance= new Rotate_innodb_master_key(thd); break; default: - DBUG_ASSERT(false); + assert(false); my_error(ER_NOT_SUPPORTED_YET, MYF(0), "ALTER INSTANCE"); DBUG_RETURN(true); } diff -Nru mysql-5.7-5.7.33/sql/sql_admin.h mysql-5.7-5.7.34/sql/sql_admin.h --- mysql-5.7-5.7.33/sql/sql_admin.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_admin.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_alloc_error_handler.cc mysql-5.7-5.7.34/sql/sql_alloc_error_handler.cc --- mysql-5.7-5.7.33/sql/sql_alloc_error_handler.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_alloc_error_handler.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_alloc.h mysql-5.7-5.7.34/sql/sql_alloc.h --- mysql-5.7-5.7.33/sql/sql_alloc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_alloc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef SQL_ALLOC_INCLUDED #define SQL_ALLOC_INCLUDED -/* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_alter.cc mysql-5.7-5.7.34/sql/sql_alter.cc --- mysql-5.7-5.7.33/sql/sql_alter.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_alter.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -99,7 +99,7 @@ tables_opened(0), db(NULL), table_name(NULL), alias(NULL), new_db(NULL), new_name(NULL), new_alias(NULL) -#ifndef DBUG_OFF +#ifndef NDEBUG , tmp_table(false) #endif { @@ -113,7 +113,7 @@ : datetime_field(NULL), error_if_not_empty(false), tables_opened(tables_opened_arg), new_db(new_db_arg), new_name(new_name_arg) -#ifndef DBUG_OFF +#ifndef NDEBUG , tmp_table(false) #endif { @@ -190,7 +190,7 @@ this case. This fact is enforced with assert. */ build_tmptable_filename(thd, tmp_path, sizeof(tmp_path)); -#ifndef DBUG_OFF +#ifndef NDEBUG tmp_table= true; #endif } @@ -238,9 +238,9 @@ priv_needed|= DROP_ACL; /* Must be set in the parser */ - DBUG_ASSERT(select_lex->db); - DBUG_ASSERT(!(alter_info.flags & Alter_info::ALTER_EXCHANGE_PARTITION)); - DBUG_ASSERT(!(alter_info.flags & Alter_info::ALTER_ADMIN_PARTITION)); + assert(select_lex->db); + assert(!(alter_info.flags & Alter_info::ALTER_EXCHANGE_PARTITION)); + assert(!(alter_info.flags & Alter_info::ALTER_ADMIN_PARTITION)); if (check_access(thd, priv_needed, first_table->db, &first_table->grant.privilege, &first_table->grant.m_internal, diff -Nru mysql-5.7-5.7.33/sql/sql_alter.h mysql-5.7-5.7.34/sql/sql_alter.h --- mysql-5.7-5.7.33/sql/sql_alter.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_alter.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify @@ -46,7 +46,7 @@ Alter_drop(enum drop_type par_type,const char *par_name) :name(par_name), type(par_type) { - DBUG_ASSERT(par_name != NULL); + assert(par_name != NULL); } /** Used to make a clone of this object for ALTER/CREATE TABLE @@ -395,7 +395,7 @@ */ const char *get_new_filename() const { - DBUG_ASSERT(!tmp_table); + assert(!tmp_table); return new_filename; } @@ -404,7 +404,7 @@ */ const char *get_path() const { - DBUG_ASSERT(!tmp_table); + assert(!tmp_table); return path; } @@ -413,7 +413,7 @@ */ const char *get_new_path() const { - DBUG_ASSERT(!tmp_table); + assert(!tmp_table); return new_path; } @@ -446,7 +446,7 @@ char new_path[FN_REFLEN + 1]; char tmp_path[FN_REFLEN + 1]; -#ifndef DBUG_OFF +#ifndef NDEBUG /** Indicates that we are altering temporary table. Used only in asserts. */ bool tmp_table; #endif diff -Nru mysql-5.7-5.7.33/sql/sql_alter_instance.cc mysql-5.7-5.7.34/sql/sql_alter_instance.cc --- mysql-5.7-5.7.33/sql/sql_alter_instance.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_alter_instance.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -93,7 +93,7 @@ if (hton->rotate_encryption_master_key()) { /* SE should have raised error */ - DBUG_ASSERT(m_thd->get_stmt_da()->is_error()); + assert(m_thd->get_stmt_da()->is_error()); return true; } diff -Nru mysql-5.7-5.7.33/sql/sql_alter_instance.h mysql-5.7-5.7.34/sql/sql_alter_instance.h --- mysql-5.7-5.7.33/sql/sql_alter_instance.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_alter_instance.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_analyse.cc mysql-5.7-5.7.34/sql/sql_analyse.cc --- mysql-5.7-5.7.33/sql/sql_analyse.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_analyse.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -81,7 +81,7 @@ { DBUG_ENTER("proc_analyse_init"); - DBUG_ASSERT(thd->lex->sql_command == SQLCOM_SELECT); + assert(thd->lex->sql_command == SQLCOM_SELECT); if (!(f_info= (field_info**)sql_alloc(sizeof(field_info*)*field_list.elements))) diff -Nru mysql-5.7-5.7.33/sql/sql_analyse.h mysql-5.7-5.7.34/sql/sql_analyse.h --- mysql-5.7-5.7.33/sql/sql_analyse.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_analyse.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_ANALYSE_INCLUDED #define SQL_ANALYSE_INCLUDED -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_array.h mysql-5.7-5.7.34/sql/sql_array.h --- mysql-5.7-5.7.33/sql/sql_array.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_array.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_ARRAY_INCLUDED #define SQL_ARRAY_INCLUDED -/* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -64,19 +64,19 @@ */ void resize(size_t new_size) { - DBUG_ASSERT(new_size <= m_size); + assert(new_size <= m_size); m_size= new_size; } Element_type &operator[](size_t n) { - DBUG_ASSERT(n < m_size); + assert(n < m_size); return m_array[n]; } const Element_type &operator[](size_t n) const { - DBUG_ASSERT(n < m_size); + assert(n < m_size); return m_array[n]; } @@ -100,7 +100,7 @@ void pop_front() { - DBUG_ASSERT(m_size > 0); + assert(m_size > 0); m_array+= 1; m_size-= 1; } diff -Nru mysql-5.7-5.7.33/sql/sql_audit.cc mysql-5.7-5.7.34/sql/sql_audit.cc --- mysql-5.7-5.7.33/sql/sql_audit.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_audit.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -433,7 +433,7 @@ mysql_event_general event; char user_buff[MAX_USER_HOST_SIZE]; - DBUG_ASSERT(thd); + assert(thd); if (mysql_audit_acquire_plugins(thd, MYSQL_AUDIT_GENERAL_CLASS, static_cast(subclass))) @@ -1215,7 +1215,7 @@ void mysql_audit_free_thd(THD *thd) { mysql_audit_release(thd); - DBUG_ASSERT(thd->audit_class_plugins.empty()); + assert(thd->audit_class_plugins.empty()); } #ifdef HAVE_PSI_INTERFACE diff -Nru mysql-5.7-5.7.33/sql/sql_audit.h mysql-5.7-5.7.34/sql/sql_audit.h --- mysql-5.7-5.7.33/sql/sql_audit.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_audit.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_AUDIT_INCLUDED #define SQL_AUDIT_INCLUDED -/* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_base.cc mysql-5.7-5.7.34/sql/sql_base.cc --- mysql-5.7-5.7.33/sql/sql_base.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_base.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -475,7 +475,7 @@ not longer than NAME_LEN bytes. In practice we play safe to avoid buffer overruns. */ - DBUG_ASSERT(strlen(db_name) <= NAME_LEN && strlen(table_name) <= NAME_LEN); + assert(strlen(db_name) <= NAME_LEN && strlen(table_name) <= NAME_LEN); size_t key_length= strmake(strmake(key, db_name, NAME_LEN) + 1, table_name, NAME_LEN) - key + 1; @@ -516,10 +516,10 @@ is properly initialized, so table definition cache can be produced from key used by MDL subsystem. */ - DBUG_ASSERT(!strcmp(table_list->get_db_name(), - table_list->mdl_request.key.db_name()) && - !strcmp(table_list->get_table_name(), - table_list->mdl_request.key.name())); + assert(!strcmp(table_list->get_db_name(), + table_list->mdl_request.key.db_name()) && + !strcmp(table_list->get_table_name(), + table_list->mdl_request.key.name())); *key= (const char*)table_list->mdl_request.key.ptr() + 1; return table_list->mdl_request.key.length() - 1; @@ -685,9 +685,9 @@ To be able perform any operation on table we should own some kind of metadata lock on it. */ - DBUG_ASSERT(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, - table_list->db, table_list->table_name, - MDL_SHARED)); + assert(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, + table_list->db, table_list->table_name, + MDL_SHARED)); /* Read table definition from the cache. If the share is being opened, @@ -807,10 +807,10 @@ (ulong) share, share->ref_count)); /* If debug, assert that the share is actually present in the cache */ -#ifndef DBUG_OFF - DBUG_ASSERT(my_hash_search(&table_def_cache, - reinterpret_cast(const_cast(key)), - key_length)); +#ifndef NDEBUG + assert(my_hash_search(&table_def_cache, + reinterpret_cast(const_cast(key)), + key_length)); #endif DBUG_RETURN(share); @@ -971,7 +971,7 @@ mysql_mutex_assert_owner(&LOCK_open); - DBUG_ASSERT(share->ref_count); + assert(share->ref_count); if (!--share->ref_count) { if (share->has_old_version() || table_def_shutdown_in_progress) @@ -981,7 +981,7 @@ /* Link share last in used_table_share list */ DBUG_PRINT("info",("moving share to unused list")); - DBUG_ASSERT(share->next == 0); + assert(share->next == 0); share->prev= end_of_unused_share.prev; *end_of_unused_share.prev= share; end_of_unused_share.prev= &share->next; @@ -1181,7 +1181,7 @@ bool found= TRUE; struct timespec abstime; DBUG_ENTER("close_cached_tables"); - DBUG_ASSERT(thd || (!wait_for_refresh && !tables)); + assert(thd || (!wait_for_refresh && !tables)); table_cache_manager.lock_all_and_tdc(); if (!tables) @@ -1382,13 +1382,13 @@ void mark_tmp_table_for_reuse(TABLE *table) { - DBUG_ASSERT(table->s->tmp_table); + assert(table->s->tmp_table); table->query_id= 0; table->file->ha_reset(); /* Detach temporary MERGE children from temporary parent. */ - DBUG_ASSERT(table->file); + assert(table->file); table->file->extra(HA_EXTRA_DETACH_CHILDREN); /* @@ -1442,8 +1442,8 @@ { for (; table ; table= table->next) { - DBUG_ASSERT(table->pos_in_locked_tables == NULL || - table->pos_in_locked_tables->table == table); + assert(table->pos_in_locked_tables == NULL || + table->pos_in_locked_tables->table == table); if (table->query_id == thd->query_id) { table->query_id= 0; @@ -1595,9 +1595,9 @@ DEBUG_SYNC(thd, "before_close_thread_tables"); #endif - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT) || - thd->in_sub_stmt || - (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT) || + thd->in_sub_stmt || + (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)); /* Detach MERGE children after every statement. Even under LOCK TABLES. */ for (table= thd->open_tables; table; table= table->next) @@ -1608,7 +1608,7 @@ if (thd->locked_tables_mode <= LTM_LOCK_TABLES || table->query_id == thd->query_id) { - DBUG_ASSERT(table->file); + assert(table->file); table->file->extra(HA_EXTRA_DETACH_CHILDREN); table->cleanup_gc_items(); } @@ -1756,16 +1756,16 @@ { TABLE *table= *table_ptr; DBUG_ENTER("close_thread_table"); - DBUG_ASSERT(table->key_read == 0); - DBUG_ASSERT(!table->file || table->file->inited == handler::NONE); + assert(table->key_read == 0); + assert(!table->file || table->file->inited == handler::NONE); mysql_mutex_assert_not_owner(&LOCK_open); /* The metadata lock must be released after giving back the table to the table cache. */ - DBUG_ASSERT(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, - table->s->db.str, table->s->table_name.str, - MDL_SHARED)); + assert(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, + table->s->db.str, table->s->table_name.str, + MDL_SHARED)); table->mdl_ticket= NULL; table->pos_in_table_list= NULL; @@ -1839,8 +1839,8 @@ if (!thd->temporary_tables) DBUG_RETURN(FALSE); - DBUG_ASSERT(!thd->slave_thread || - thd->system_thread != SYSTEM_THREAD_SLAVE_WORKER); + assert(!thd->slave_thread || + thd->system_thread != SYSTEM_THREAD_SLAVE_WORKER); /* Ensure we don't have open HANDLERs for tables we are about to close. @@ -2171,7 +2171,7 @@ DBUG_ENTER("find_dup_table"); DBUG_PRINT("enter", ("table alias: %s", table->alias)); - DBUG_ASSERT(table == ((TABLE_LIST *)table)->updatable_base_table()); + assert(table == ((TABLE_LIST *)table)->updatable_base_table()); /* If this function called for CREATE command that we have not opened table (table->table equal to 0) and right names is in current TABLE_LIST @@ -2180,7 +2180,7 @@ if (table->table) { /* All MyISAMMRG children are plain MyISAM tables. */ - DBUG_ASSERT(table->table->file->ht->db_type != DB_TYPE_MRG_MYISAM); + assert(table->table->file->ht->db_type != DB_TYPE_MRG_MYISAM); /* temporary table is always unique */ if (table->table->s->tmp_table != NO_TMP_TABLE) @@ -2259,7 +2259,7 @@ TABLE_LIST *unique_table(THD *thd, const TABLE_LIST *table, TABLE_LIST *table_list, bool check_alias) { - DBUG_ASSERT(table == ((TABLE_LIST *)table)->updatable_base_table()); + assert(table == ((TABLE_LIST *)table)->updatable_base_table()); TABLE_LIST *dup; if (table->table && table->table->file->ht->db_type == DB_TYPE_MRG_MYISAM) @@ -2490,7 +2490,7 @@ else { /* removing the item from the list */ - DBUG_ASSERT(table == thd->temporary_tables); + assert(table == thd->temporary_tables); /* slave must reset its temporary list pointer to zero to exclude passing non-zero value to end_slave via rli->save_temporary_tables @@ -2504,7 +2504,7 @@ if (thd->slave_thread) { /* natural invariant of temporary_tables */ - DBUG_ASSERT(thd->rli_slave->get_c_rli()->channel_open_temp_tables.atomic_get() || !thd->temporary_tables); + assert(thd->rli_slave->get_c_rli()->channel_open_temp_tables.atomic_get() || !thd->temporary_tables); slave_open_temp_tables.atomic_add(-1); thd->rli_slave->get_c_rli()->channel_open_temp_tables.atomic_add(-1); } @@ -2633,7 +2633,7 @@ close_temporary_table(thd, table, 1, 1); else { - DBUG_ASSERT(table == thd->open_tables); + assert(table == thd->open_tables); handlerton *table_type= table->s->db_type(); @@ -2676,9 +2676,9 @@ *exists= TRUE; - DBUG_ASSERT(thd->mdl_context. - owns_equal_or_stronger_lock(MDL_key::TABLE, table->db, - table->table_name, MDL_SHARED)); + assert(thd->mdl_context. + owns_equal_or_stronger_lock(MDL_key::TABLE, table->db, + table->table_name, MDL_SHARED)); mysql_mutex_lock(&LOCK_open); share= get_cached_table_share(thd, table->db, table->table_name); @@ -2816,8 +2816,8 @@ These two flags are mutually exclusive. */ - DBUG_ASSERT(!(flags & MYSQL_OPEN_FORCE_SHARED_MDL) || - !(flags & MYSQL_OPEN_FORCE_SHARED_HIGH_PRIO_MDL)); + assert(!(flags & MYSQL_OPEN_FORCE_SHARED_MDL) || + !(flags & MYSQL_OPEN_FORCE_SHARED_HIGH_PRIO_MDL)); MDL_REQUEST_INIT_BY_KEY(&new_mdl_request, &mdl_request->key, @@ -3041,7 +3041,7 @@ open_temporary_table() must be used to open temporary tables. */ - DBUG_ASSERT(!table_list->table); + assert(!table_list->table); /* an open table operation needs a lot of the stack space */ if (check_stack_overrun(thd, STACK_MIN_SIZE_FOR_OPEN, (uchar *)&alias)) @@ -3203,7 +3203,7 @@ if (!tdc_open_view(thd, table_list, alias, key, key_length, CHECK_METADATA_VERSION)) { - DBUG_ASSERT(table_list->is_view()); + assert(table_list->is_view()); DBUG_RETURN(FALSE); // VIEW } } @@ -3386,7 +3386,7 @@ Table cache should not contain any unused TABLE objects with old versions. */ - DBUG_ASSERT(!share->has_old_version()); + assert(!share->has_old_version()); /* Still some of already opened might become outdated (e.g. due to @@ -3407,7 +3407,7 @@ tc->unlock(); /* Call rebind_psi outside of the critical section. */ - DBUG_ASSERT(table->file != NULL); + assert(table->file != NULL); table->file->rebind_psi(); table->file->extra(HA_EXTRA_RESET_STATE); thd->status_var.table_open_cache_hits++; @@ -3537,7 +3537,7 @@ DBUG_RETURN(true); } - DBUG_ASSERT(table_list->is_view()); + assert(table_list->is_view()); DBUG_RETURN(false); } @@ -3699,7 +3699,7 @@ Check that there is no reference to a condition from an earlier query (cf. Bug#58553). */ - DBUG_ASSERT(table->file->pushed_cond == NULL); + assert(table->file->pushed_cond == NULL); table_list->set_updatable(); // It is not derived table nor non-updatable VIEW table_list->set_insertable(); @@ -3843,10 +3843,10 @@ bool Locked_tables_list::init_locked_tables(THD *thd) { - DBUG_ASSERT(thd->locked_tables_mode == LTM_NONE); - DBUG_ASSERT(m_locked_tables == NULL); - DBUG_ASSERT(m_reopen_array == NULL); - DBUG_ASSERT(m_locked_tables_count == 0); + assert(thd->locked_tables_mode == LTM_NONE); + assert(m_locked_tables == NULL); + assert(m_reopen_array == NULL); + assert(m_locked_tables_count == 0); for (TABLE *table= thd->open_tables; table; table= table->next, m_locked_tables_count++) @@ -3934,8 +3934,8 @@ { if (thd) { - DBUG_ASSERT(!thd->in_sub_stmt && - !(thd->state_flags & Open_tables_state::BACKUPS_AVAIL)); + assert(!thd->in_sub_stmt && + !(thd->state_flags & Open_tables_state::BACKUPS_AVAIL)); /* Sic: we must be careful to not close open tables if we're not in LOCK TABLES mode: unlock_locked_tables() is @@ -3963,7 +3963,7 @@ ->clear_trx_state(thd, TX_LOCKED_TABLES); } - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); close_thread_tables(thd); /* We rely on the caller to implicitly commit the @@ -4018,7 +4018,7 @@ table_list must be set and point to pos_in_locked_tables of some table. */ - DBUG_ASSERT(table_list->table->pos_in_locked_tables == table_list); + assert(table_list->table->pos_in_locked_tables == table_list); /* Clear the pointer, the table will be returned to the table cache. */ table_list->table->pos_in_locked_tables= NULL; @@ -4072,7 +4072,7 @@ in reopen_tables() always links the opened table to the beginning of the open_tables list. */ - DBUG_ASSERT(thd->open_tables == m_reopen_array[reopen_count]); + assert(thd->open_tables == m_reopen_array[reopen_count]); thd->open_tables->pos_in_locked_tables->table= NULL; @@ -4132,7 +4132,7 @@ /* See also the comment on lock type in init_locked_tables(). */ table_list->table->reginfo.lock_type= table_list->lock_type; - DBUG_ASSERT(reopen_count < m_locked_tables_count); + assert(reopen_count < m_locked_tables_count); m_reopen_array[reopen_count++]= table_list->table; } if (reopen_count) @@ -4202,7 +4202,7 @@ DBUG_ENTER("assign_new_table_id"); /* Preconditions */ - DBUG_ASSERT(share != NULL); + assert(share != NULL); mysql_mutex_assert_owner(&LOCK_open); DBUG_EXECUTE_IF("dbug_table_map_id_500", last_table_id= 500;); @@ -4217,7 +4217,7 @@ DBUG_VOID_RETURN; } -#ifndef DBUG_OFF +#ifndef NDEBUG /* Cause a spurious statement reprepare for debug purposes. */ static bool inject_reprepare(THD *thd) { @@ -4281,7 +4281,7 @@ previous execution of the prepared statement, and it is unacceptable for this SQLCOM. Error has been reported. */ - DBUG_ASSERT(thd->is_error()); + assert(thd->is_error()); return TRUE; } /* Always maintain the latest version and type */ @@ -4345,7 +4345,7 @@ previous execution of the prepared statement, and it is unacceptable for this SQLCOM. Error has been reported. */ - DBUG_ASSERT(thd->is_error()); + assert(thd->is_error()); return TRUE; } /* Always maintain the latest cache version. */ @@ -4697,7 +4697,7 @@ */ if (table) { - DBUG_ASSERT(action_arg == OT_DISCOVER || action_arg == OT_REPAIR); + assert(action_arg == OT_DISCOVER || action_arg == OT_REPAIR); m_failed_table= (TABLE_LIST*) m_thd->alloc(sizeof(TABLE_LIST)); if (m_failed_table == NULL) return TRUE; @@ -4825,7 +4825,7 @@ break; } default: - DBUG_ASSERT(0); + assert(0); } m_thd->pop_internal_handler(); /* @@ -4991,7 +4991,7 @@ Since we acquire only shared lock on routines we don't need to care about global intention exclusive locks. */ - DBUG_ASSERT(rt->mdl_request.type == MDL_SHARED); + assert(rt->mdl_request.type == MDL_SHARED); /* Waiting for a conflicting metadata lock to go away may @@ -5079,7 +5079,7 @@ break; default: /* Impossible type value. */ - DBUG_ASSERT(0); + assert(0); } DBUG_RETURN(FALSE); } @@ -5145,7 +5145,7 @@ at the same time. Otherwise, acquiring metadata lock om the view would have been necessary. */ - DBUG_ASSERT(!tables->is_view()); + assert(!tables->is_view()); if (!mysql_schema_table(thd, lex, tables) && !check_and_update_table_version(thd, tables, tables->table->s)) @@ -5168,7 +5168,7 @@ (TABLE_LIST::table is not NULL), that TABLE object must be a pre-opened temporary table. */ - DBUG_ASSERT(is_temporary_table(tables)); + assert(is_temporary_table(tables)); } else if (tables->open_type == OT_TEMPORARY_ONLY) { @@ -5180,9 +5180,9 @@ and we can simply continue without trying to open temporary or base table. */ - DBUG_ASSERT(tables->open_strategy); - DBUG_ASSERT(!tables->prelocking_placeholder); - DBUG_ASSERT(!tables->parent_l); + assert(tables->open_strategy); + assert(!tables->prelocking_placeholder); + assert(!tables->parent_l); } else if (tables->prelocking_placeholder) { @@ -5358,7 +5358,7 @@ Note that placeholders don't have the handler open. */ /* MERGE tables need to access parent and child TABLE_LISTs. */ - DBUG_ASSERT(tables->table->pos_in_table_list == tables); + assert(tables->table->pos_in_table_list == tables); /* Non-MERGE tables ignore this call. */ if (tables->table->file->extra(HA_EXTRA_ADD_CHILDREN_LIST)) { @@ -5522,8 +5522,8 @@ { // Assert that we have an MDL lock on the table name. Needed to read // the dictionary safely. - DBUG_ASSERT(thd->mdl_context.owns_equal_or_stronger_lock( - MDL_key::TABLE, table->db, table->table_name, MDL_SHARED)); + assert(thd->mdl_context.owns_equal_or_stronger_lock( + MDL_key::TABLE, table->db, table->table_name, MDL_SHARED)); /* Add names of tablespaces used by table or by its @@ -5579,7 +5579,7 @@ Hash_set schema_set(PSI_INSTRUMENT_ME); bool need_global_read_lock_protection= false; - DBUG_ASSERT(!thd->locked_tables_mode); + assert(!thd->locked_tables_mode); // Phase 1: Iterate over tables, collect set of unique schema names, and // construct a list of requests for table MDL locks. @@ -5701,7 +5701,7 @@ { TABLE_LIST *table; - DBUG_ASSERT(thd->locked_tables_mode); + assert(thd->locked_tables_mode); for (table= tables_start; table && table != tables_end; table= table->next_global) @@ -5710,7 +5710,7 @@ Check below needs to be updated if this function starts called for SRO locks. */ - DBUG_ASSERT(table->mdl_request.type != MDL_SHARED_READ_ONLY); + assert(table->mdl_request.type != MDL_SHARED_READ_ONLY); if (!table->mdl_request.is_ddl_or_lock_tables_lock_request() || table->open_type == OT_TEMPORARY_ONLY || @@ -6052,7 +6052,7 @@ if (tbl && tbl->file->ht->db_type == DB_TYPE_MRG_MYISAM) { /* MERGE tables need to access parent and child TABLE_LISTs. */ - DBUG_ASSERT(tbl->pos_in_table_list == tables); + assert(tbl->pos_in_table_list == tables); if (tbl->file->extra(HA_EXTRA_ATTACH_CHILDREN)) { error= TRUE; @@ -6166,7 +6166,7 @@ TABLE_LIST *table_list, bool *need_prelocking) { /* We rely on a caller to check that table is going to be changed. */ - DBUG_ASSERT(table_list->lock_type >= TL_WRITE_ALLOW_WRITE); + assert(table_list->lock_type >= TL_WRITE_ALLOW_WRITE); if (table_list->trg_event_map) { @@ -6248,7 +6248,7 @@ return TRUE; /* We rely on a caller to check that table is going to be changed. */ - DBUG_ASSERT(table_list->lock_type >= TL_WRITE_ALLOW_WRITE); + assert(table_list->lock_type >= TL_WRITE_ALLOW_WRITE); return FALSE; } @@ -6335,7 +6335,7 @@ Prelocking placeholder is not set for TABLE_LIST that are directly used by TOP level statement. */ - DBUG_ASSERT(table_list->prelocking_placeholder == false); + assert(table_list->prelocking_placeholder == false); /* TL_WRITE_DEFAULT, TL_READ_DEFAULT and TL_WRITE_CONCURRENT_DEFAULT @@ -6483,7 +6483,7 @@ DBUG_ENTER("open_ltable"); /* should not be used in a prelocked_mode context, see NOTE above */ - DBUG_ASSERT(thd->locked_tables_mode < LTM_PRELOCKED); + assert(thd->locked_tables_mode < LTM_PRELOCKED); THD_STAGE_INFO(thd, stage_opening_tables); @@ -6491,7 +6491,7 @@ table_list->required_type= FRMTYPE_TABLE; /* This function can't properly handle requests for such metadata locks. */ - DBUG_ASSERT(!table_list->mdl_request.is_ddl_or_lock_tables_lock_request()); + assert(!table_list->mdl_request.is_ddl_or_lock_tables_lock_request()); while ((error= open_table(thd, table_list, &ot_ctx)) && ot_ctx.can_recover_from_failed_open()) @@ -6513,7 +6513,7 @@ We can't have a view or some special "open_strategy" in this function so there should be a TABLE instance. */ - DBUG_ASSERT(table_list->table); + assert(table_list->table); table= table_list->table; if (table->file->ht->db_type == DB_TYPE_MRG_MYISAM) { @@ -6535,7 +6535,7 @@ } else { - DBUG_ASSERT(thd->lock == 0); // You must lock everything at once + assert(thd->lock == 0); // You must lock everything at once if ((table->reginfo.lock_type= lock_type) != TL_UNLOCK) if (! (thd->lock= mysql_lock_tables(thd, &table_list->table, 1, lock_flags))) @@ -6598,9 +6598,9 @@ the global transaction state is inflicted when the attachable one will commmit. */ - DBUG_ASSERT(!thd->is_attachable_ro_transaction_active() && - (!thd->is_attachable_rw_transaction_active() || - !strcmp(tables->table_name, "gtid_executed"))); + assert(!thd->is_attachable_ro_transaction_active() && + (!thd->is_attachable_rw_transaction_active() || + !strcmp(tables->table_name, "gtid_executed"))); if (open_tables(thd, &tables, &counter, flags, prelocking_strategy)) goto err; @@ -6655,7 +6655,7 @@ DBUG_EXECUTE_IF("open_tables_for_query__out_of_memory", DBUG_SET("+d,simulate_out_of_memory");); - DBUG_ASSERT(tables == thd->lex->query_tables); + assert(tables == thd->lex->query_tables); if (open_tables(thd, &tables, &thd->lex->table_count, flags, &prelocking_strategy)) @@ -6669,9 +6669,9 @@ table on the fly, and thus mustn't manipulate with the transaction of the enclosing statement. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT) || - (thd->state_flags & Open_tables_state::BACKUPS_AVAIL) || - thd->in_sub_stmt); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT) || + (thd->state_flags & Open_tables_state::BACKUPS_AVAIL) || + thd->in_sub_stmt); close_thread_tables(thd); /* Don't keep locks for a failed statement. */ thd->mdl_context.rollback_to_savepoint(mdl_savepoint); @@ -6746,14 +6746,14 @@ We can't meet statement requiring prelocking if we already in prelocked mode. */ - DBUG_ASSERT(thd->locked_tables_mode <= LTM_LOCK_TABLES || - !thd->lex->requires_prelocking()); + assert(thd->locked_tables_mode <= LTM_LOCK_TABLES || + !thd->lex->requires_prelocking()); /* lock_tables() should not be called if this statement has already locked its tables. */ - DBUG_ASSERT(thd->lex->lock_tables_state == Query_tables_list::LTS_NOT_LOCKED); + assert(thd->lex->lock_tables_state == Query_tables_list::LTS_NOT_LOCKED); if (!tables && !thd->lex->requires_prelocking()) { @@ -6780,7 +6780,7 @@ */ if (! thd->locked_tables_mode) { - DBUG_ASSERT(thd->lock == 0); // You must lock everything at once + assert(thd->lock == 0); // You must lock everything at once TABLE **start,**ptr; if (!(ptr=start=(TABLE**) thd->alloc(sizeof(TABLE*)*count))) @@ -6990,8 +6990,8 @@ table on the fly, and thus mustn't manipulate with the transaction of the enclosing statement. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT) || - (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT) || + (thd->state_flags & Open_tables_state::BACKUPS_AVAIL)); close_thread_tables(thd); thd->mdl_context.rollback_to_savepoint(start_of_statement_svp); } @@ -7046,7 +7046,7 @@ MYF(MY_WME)))) DBUG_RETURN(0); /* purecov: inspected */ -#ifndef DBUG_OFF +#ifndef NDEBUG // In order to let purge thread callback call open_table_uncached() // we cannot grab LOCK_open here, as that will cause a deadlock. @@ -7062,8 +7062,8 @@ if (open_in_engine) { mysql_mutex_lock(&LOCK_open); - DBUG_ASSERT(!my_hash_search(&table_def_cache, (uchar*) cache_key, - key_length)); + assert(!my_hash_search(&table_def_cache, (uchar*) cache_key, + key_length)); mysql_mutex_unlock(&LOCK_open); } #endif @@ -7228,7 +7228,7 @@ Code in open_table() assumes that TABLE_LIST::table can be non-zero only for pre-opened temporary tables. */ - DBUG_ASSERT(tl->table == NULL); + assert(tl->table == NULL); /* This function should not be called for cases when derived or I_S @@ -7236,7 +7236,7 @@ have invalid db or table name. Instead open_temporary_tables() should be used. */ - DBUG_ASSERT(!tl->is_view_or_derived() && !tl->schema_table); + assert(!tl->is_view_or_derived() && !tl->schema_table); if (tl->open_type == OT_BASE_ONLY) { @@ -7260,7 +7260,7 @@ if (tl->partition_names) { /* Partitioned temporary tables is not supported. */ - DBUG_ASSERT(!table->part_info); + assert(!table->part_info); my_error(ER_PARTITION_CLAUSE_ON_NONPARTITIONED, MYF(0)); DBUG_RETURN(true); } @@ -7367,8 +7367,8 @@ Field_iterator_view field_it; field_it.set(table_list); - DBUG_ASSERT(table_list->schema_table_reformed || - (ref != 0 && table_list->is_merged())); + assert(table_list->schema_table_reformed || + (ref != 0 && table_list->is_merged())); for (; !field_it.end_of_fields(); field_it.next()) { if (!my_strcasecmp(system_charset_info, field_it.name(), name)) @@ -7462,8 +7462,8 @@ DBUG_ENTER("find_field_in_natural_join"); DBUG_PRINT("enter", ("field name: '%s', ref 0x%lx", name, (ulong) ref)); - DBUG_ASSERT(table_ref->is_natural_join && table_ref->join_columns); - DBUG_ASSERT(*actual_table == NULL); + assert(table_ref->is_natural_join && table_ref->join_columns); + assert(*actual_table == NULL); for (nj_col= NULL, curr_nj_col= field_it++; curr_nj_col; curr_nj_col= field_it++) @@ -7510,7 +7510,7 @@ item->real_item()->item_name= (*ref)->item_name; } - DBUG_ASSERT(nj_col->table_field == NULL); + assert(nj_col->table_field == NULL); if (nj_col->table_ref->schema_table_reformed) { /* @@ -7529,7 +7529,7 @@ else { /* This is a base table. */ - DBUG_ASSERT(nj_col->view_field == NULL); + assert(nj_col->view_field == NULL); /* This fix_fields is not necessary (initially this item is fixed by the Item_field constructor; after reopen_tables the Item_func_eq @@ -7543,7 +7543,7 @@ nj_col->table_field->item_name.ptr())); DBUG_RETURN(NULL); } - DBUG_ASSERT(nj_col->table_ref->table == nj_col->table_field->field->table); + assert(nj_col->table_ref->table == nj_col->table_field->field->table); found_field= nj_col->table_field->field; } @@ -7687,9 +7687,9 @@ { Field *fld; DBUG_ENTER("find_field_in_table_ref"); - DBUG_ASSERT(table_list->alias); - DBUG_ASSERT(name); - DBUG_ASSERT(item_name); + assert(table_list->alias); + assert(name); + assert(item_name); DBUG_PRINT("enter", ("table: '%s' field name: '%s' item name: '%s' ref 0x%lx", table_list->alias, name, item_name, (ulong) ref)); @@ -7739,7 +7739,7 @@ else if (!table_list->nested_join) { /* 'table_list' is a stored table. */ - DBUG_ASSERT(table_list->table); + assert(table_list->table); if ((fld= find_field_in_table(thd, table_list->table, name, length, allow_rowid, cached_field_index_ptr))) @@ -7793,9 +7793,9 @@ } else { - DBUG_ASSERT(ref && *ref && (*ref)->fixed); - DBUG_ASSERT(*actual_table == - ((Item_direct_view_ref *)(*ref))->cached_table); + assert(ref && *ref && (*ref)->fixed); + assert(*actual_table == + ((Item_direct_view_ref *)(*ref))->cached_table); Column_privilege_tracker tracker(thd, want_privilege); if ((*ref)->walk(&Item::check_column_privileges, Item::WALK_PREFIX, @@ -8037,7 +8037,7 @@ item->cached_table= (!actual_table->cacheable_table || found) ? 0 : actual_table; - DBUG_ASSERT(thd->where); + assert(thd->where); /* If we found a fully qualified field we return it directly as it can't have duplicates. @@ -8582,10 +8582,10 @@ /* The created items must be of sub-classes of Item_ident. */ - DBUG_ASSERT(item_1->type() == Item::FIELD_ITEM || - item_1->type() == Item::REF_ITEM); - DBUG_ASSERT(item_2->type() == Item::FIELD_ITEM || - item_2->type() == Item::REF_ITEM); + assert(item_1->type() == Item::FIELD_ITEM || + item_1->type() == Item::REF_ITEM); + assert(item_2->type() == Item::FIELD_ITEM || + item_2->type() == Item::REF_ITEM); /* We need to cast item_1,2 to Item_ident, because we need to hook name @@ -8718,7 +8718,7 @@ List *non_join_columns; DBUG_ENTER("store_natural_using_join_columns"); - DBUG_ASSERT(!natural_using_join->join_columns); + assert(!natural_using_join->join_columns); Prepared_stmt_arena_holder ps_arena_holder(thd); @@ -8830,7 +8830,7 @@ { DBUG_ENTER("store_top_level_join_columns"); - DBUG_ASSERT(!table_ref->nested_join->natural_join_processed); + assert(!table_ref->nested_join->natural_join_processed); Prepared_stmt_arena_holder ps_arena_holder(thd); @@ -8862,7 +8862,7 @@ cur_table_ref->outer_join & JOIN_TYPE_RIGHT) { /* This can happen only for JOIN ... ON. */ - DBUG_ASSERT(table_ref->nested_join->join_list.elements == 2); + assert(table_ref->nested_join->join_list.elements == 2); swap_variables(TABLE_LIST*, same_level_left_neighbor, cur_table_ref); } @@ -8890,8 +8890,8 @@ */ if (table_ref->is_natural_join) { - DBUG_ASSERT(table_ref->nested_join && - table_ref->nested_join->join_list.elements == 2); + assert(table_ref->nested_join && + table_ref->nested_join->join_list.elements == 2); List_iterator_fast operand_it(table_ref->nested_join->join_list); /* Notice that the order of join operands depends on whether table_ref @@ -9031,7 +9031,7 @@ right_neighbor points to the left-most top-level table reference in the FROM clause. */ - DBUG_ASSERT(right_neighbor); + assert(right_neighbor); context->first_name_resolution_table= right_neighbor->first_leaf_for_name_resolution(); @@ -9075,11 +9075,11 @@ Column_privilege_tracker column_privilege(thd, want_privilege); // Function can only be used to set up one specific operation: - DBUG_ASSERT(want_privilege == 0 || - want_privilege == SELECT_ACL || - want_privilege == INSERT_ACL || - want_privilege == UPDATE_ACL); - DBUG_ASSERT(! (column_update && (want_privilege & SELECT_ACL))); + assert(want_privilege == 0 || + want_privilege == SELECT_ACL || + want_privilege == INSERT_ACL || + want_privilege == UPDATE_ACL); + assert(! (column_update && (want_privilege & SELECT_ACL))); if (want_privilege & SELECT_ACL) thd->mark_used_columns= MARK_COLUMNS_READ; else if (want_privilege & (INSERT_ACL | UPDATE_ACL)) @@ -9107,7 +9107,7 @@ */ if (!ref_pointer_array.is_null()) { - DBUG_ASSERT(ref_pointer_array.size() >= fields.elements); + assert(ref_pointer_array.size() >= fields.elements); memset(ref_pointer_array.array(), 0, sizeof(Item *) * fields.elements); } @@ -9221,7 +9221,7 @@ Field_iterator_table_ref field_iterator; TABLE *const table= tables->table; - DBUG_ASSERT(tables->is_leaf_for_name_resolution()); + assert(tables->is_leaf_for_name_resolution()); if ((table_name && my_strcasecmp(table_alias_charset, table_name, tables->alias)) || @@ -9295,7 +9295,7 @@ Item *const item= field_iterator.create_item(thd); if (!item) DBUG_RETURN(true); /* purecov: inspected */ - DBUG_ASSERT(item->fixed); + assert(item->fixed); /* cache the table for the Item_fields inserted by expanding stars */ if (item->type() == Item::FIELD_ITEM && tables->cacheable_table) ((Item_field *)item)->cached_table= tables; @@ -9319,9 +9319,9 @@ */ if (any_privileges) { - DBUG_ASSERT((tables->field_translation == NULL && table) || - tables->is_natural_join); - DBUG_ASSERT(item->type() == Item::FIELD_ITEM); + assert((tables->field_translation == NULL && table) || + tables->is_natural_join); + assert(item->type() == Item::FIELD_ITEM); Item_field *const fld= (Item_field*) item; const char *field_table_name= field_iterator.get_table_name(); @@ -9425,7 +9425,7 @@ { DBUG_ENTER("fill_record"); - DBUG_ASSERT(fields.elements == values.elements); + assert(fields.elements == values.elements); /* Reset the table->auto_increment_field_not_null as it is valid for only one row. @@ -9438,7 +9438,7 @@ while ((fld= f++)) { Item_field *const field= fld->field_for_view_update(); - DBUG_ASSERT(field != NULL && field->table_ref->table == table); + assert(field != NULL && field->table_ref->table == table); Field *const rfield= field->field; Item *const value= v++; @@ -9657,7 +9657,7 @@ if (table->triggers->has_triggers(event, TRG_ACTION_BEFORE) && command_can_invoke_insert_triggers(event, thd->lex->sql_command)) { - DBUG_ASSERT(num_fields); + assert(num_fields); MY_BITMAP insert_into_fields_bitmap; bitmap_init(&insert_into_fields_bitmap, NULL, num_fields, false); @@ -9713,8 +9713,8 @@ Re-calculate generated fields to cater for cases when base columns are updated by the triggers. */ - DBUG_ASSERT(table->pos_in_table_list && - !table->pos_in_table_list->is_view()); + assert(table->pos_in_table_list && + !table->pos_in_table_list->is_view()); if (!rc && table->has_gcol()) rc= update_generated_write_fields(table->write_set, table); @@ -9767,7 +9767,7 @@ while ((field= *ptr++) && ! thd->is_error()) { Item *const value= v++; - DBUG_ASSERT(field->table == table); + assert(field->table == table); /* If bitmap over wanted fields are set, skip non marked fields. */ if (bitmap && !bitmap_is_set(bitmap, field->field_index)) @@ -9796,7 +9796,7 @@ update_generated_write_fields(bitmap ? bitmap : table->write_set, table)) goto err; - DBUG_ASSERT(thd->is_error() || !v++); // No extra value! + assert(thd->is_error() || !v++); // No extra value! DBUG_RETURN(thd->is_error()); err: @@ -9842,8 +9842,8 @@ if (table->triggers) { - DBUG_ASSERT(command_can_invoke_insert_triggers(event, thd->lex->sql_command)); - DBUG_ASSERT(num_fields); + assert(command_can_invoke_insert_triggers(event, thd->lex->sql_command)); + assert(num_fields); table->triggers->enable_fields_temporary_nullability(thd); @@ -10024,9 +10024,9 @@ else table_cache_manager.assert_owner_all_and_tdc(); - DBUG_ASSERT(remove_type == TDC_RT_REMOVE_UNUSED || - thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, - db, table_name, MDL_EXCLUSIVE)); + assert(remove_type == TDC_RT_REMOVE_UNUSED || + thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, + db, table_name, MDL_EXCLUSIVE)); key_length= create_table_def_key(thd, key, db, table_name, false); @@ -10062,7 +10062,7 @@ } else { - DBUG_ASSERT(remove_type != TDC_RT_REMOVE_NOT_OWN_KEEP_SHARE); + assert(remove_type != TDC_RT_REMOVE_NOT_OWN_KEEP_SHARE); (void) my_hash_delete(&table_def_cache, (uchar*) share); } } @@ -10102,7 +10102,7 @@ bool init_ftfuncs(THD *thd, SELECT_LEX *select_lex) { - DBUG_ASSERT(select_lex->has_ft_funcs()); + assert(select_lex->has_ft_funcs()); List_iterator li(*(select_lex->ftfunc_list)); DBUG_PRINT("info",("Performing FULLTEXT search")); @@ -10179,7 +10179,7 @@ for (TABLE_LIST *tables= table_list; tables; tables= tables->next_global) { - DBUG_ASSERT(tables->table->s->table_category == TABLE_CATEGORY_SYSTEM); + assert(tables->table->s->table_category == TABLE_CATEGORY_SYSTEM); /* This function must be used to open non-transactional tables only. That's @@ -10190,7 +10190,7 @@ if (tables->table->file->has_transactions()) { // Crash in the debug build ... - DBUG_ASSERT(!"Transactional table"); + assert(!"Transactional table"); // ... or report an error in the release build. my_error(ER_UNKNOWN_ERROR, MYF(0)); @@ -10246,7 +10246,7 @@ DBUG_ENTER("open_trans_system_tables_for_read"); - DBUG_ASSERT(!thd->is_attachable_ro_transaction_active()); + assert(!thd->is_attachable_ro_transaction_active()); // Begin attachable transaction. @@ -10270,7 +10270,7 @@ if ((t->table->file->ha_table_flags() & HA_ATTACHABLE_TRX_COMPATIBLE) == 0) { // Crash in the debug build ... - DBUG_ASSERT(!"HA_ATTACHABLE_TRX_COMPATIBLE is not set"); + assert(!"HA_ATTACHABLE_TRX_COMPATIBLE is not set"); // ... or report an error in the release build. my_error(ER_UNKNOWN_ERROR, MYF(0)); @@ -10370,7 +10370,7 @@ close_mysql_tables(THD *thd) { /* No need to commit/rollback statement transaction, it's not started. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); close_thread_tables(thd); thd->mdl_context.release_transactional_locks(); } @@ -10400,7 +10400,7 @@ MYSQL_LOCK_IGNORE_TIMEOUT); if (table) { - DBUG_ASSERT(table->s->table_category == TABLE_CATEGORY_SYSTEM); + assert(table->s->table_category == TABLE_CATEGORY_SYSTEM); table->use_all_columns(); } @@ -10435,10 +10435,10 @@ if ((table= open_ltable(thd, one_table, one_table->lock_type, flags))) { - DBUG_ASSERT(table->s->table_category == TABLE_CATEGORY_LOG); + assert(table->s->table_category == TABLE_CATEGORY_LOG); /* Make sure all columns get assigned to a default value */ table->use_all_columns(); - DBUG_ASSERT(table->no_replicate); + assert(table->no_replicate); } else thd->restore_backup_open_tables_state(backup); diff -Nru mysql-5.7-5.7.33/sql/sql_base.h mysql-5.7-5.7.34/sql/sql_base.h --- mysql-5.7-5.7.33/sql/sql_base.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_base.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2020, Oracle and/or its affiliates. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_binlog.cc mysql-5.7-5.7.34/sql/sql_binlog.cc --- mysql-5.7-5.7.33/sql/sql_binlog.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_binlog.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -47,7 +47,7 @@ */ if (fd_event && fd_event->event_type_permutation) { -#ifndef DBUG_OFF +#ifndef NDEBUG Log_event_type new_type; new_type= (Log_event_type) fd_event->event_type_permutation[type]; DBUG_PRINT("info", ("converting event type %d to %d (%s)", @@ -186,7 +186,7 @@ goto end; } - DBUG_ASSERT(rli->belongs_to_client()); + assert(rli->belongs_to_client()); for (char const *strptr= thd->lex->comment.str ; strptr < thd->lex->comment.str + thd->lex->comment.length ; ) @@ -208,8 +208,8 @@ else if (bytes_decoded == 0) break; // If no bytes where read, the string contained only whitespace - DBUG_ASSERT(bytes_decoded > 0); - DBUG_ASSERT(endptr > strptr); + assert(bytes_decoded > 0); + assert(endptr > strptr); coded_len-= endptr - strptr; strptr= endptr; diff -Nru mysql-5.7-5.7.33/sql/sql_binlog.h mysql-5.7-5.7.34/sql/sql_binlog.h --- mysql-5.7-5.7.33/sql/sql_binlog.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_binlog.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_bitmap.h mysql-5.7-5.7.34/sql/sql_bitmap.h --- mysql-5.7-5.7.33/sql/sql_bitmap.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_bitmap.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -70,7 +70,7 @@ (static_cast(&buf2))), map2buff); } else { - DBUG_ASSERT(sizeof(buffer) >= 4); + assert(sizeof(buffer) >= 4); int4store(const_cast(static_cast (static_cast(&buf2))), static_cast(map2buff)); @@ -118,7 +118,7 @@ if (sizeof(buffer) >= 8) return uint8korr(static_cast (static_cast(buffer))); - DBUG_ASSERT(sizeof(buffer) >= 4); + assert(sizeof(buffer) >= 4); return (ulonglong) uint4korr(static_cast (static_cast(buffer))); @@ -137,8 +137,8 @@ void init() { clear_all(); } void init(uint prefix_to_set) { set_prefix(prefix_to_set); } uint length() const { return 64; } - void set_bit(uint n) { DBUG_ASSERT(n < 64); map|= ((ulonglong)1) << n; } - void clear_bit(uint n) { DBUG_ASSERT(n < 64); map&= ~(((ulonglong)1) << n); } + void set_bit(uint n) { assert(n < 64); map|= ((ulonglong)1) << n; } + void clear_bit(uint n) { assert(n < 64); map&= ~(((ulonglong)1) << n); } void set_prefix(uint n) { if (n >= length()) @@ -154,10 +154,10 @@ void subtract(const Bitmap<64>& map2) { map&= ~map2.map; } void merge(const Bitmap<64>& map2) { map|= map2.map; } my_bool is_set(uint n) const - { DBUG_ASSERT(n < 64); return MY_TEST(map & (((ulonglong)1) << n)); } + { assert(n < 64); return MY_TEST(map & (((ulonglong)1) << n)); } my_bool is_prefix(uint n) const { - DBUG_ASSERT(n <= 64); + assert(n <= 64); if (n < 64) return map == (((ulonglong)1) << n)-1; else diff -Nru mysql-5.7-5.7.33/sql/sql_bootstrap.cc mysql-5.7-5.7.34/sql/sql_bootstrap.cc --- mysql-5.7-5.7.33/sql/sql_bootstrap.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_bootstrap.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_bootstrap.h mysql-5.7-5.7.34/sql/sql_bootstrap.h --- mysql-5.7-5.7.33/sql/sql_bootstrap.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_bootstrap.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_builtin.cc.in mysql-5.7-5.7.34/sql/sql_builtin.cc.in --- mysql-5.7-5.7.33/sql/sql_builtin.cc.in 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_builtin.cc.in 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_cache.cc mysql-5.7-5.7.34/sql/sql_cache.cc --- mysql-5.7-5.7.33/sql/sql_cache.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_cache.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -358,7 +358,7 @@ using std::min; using std::max; -#if defined(EXTRA_DEBUG) && !defined(DBUG_OFF) +#if defined(EXTRA_DEBUG) && !defined(NDEBUG) #define RW_WLOCK(M) {DBUG_PRINT("lock", ("rwlock wlock 0x%lx",(ulong)(M))); \ if (!mysql_rwlock_wrlock(M)) DBUG_PRINT("lock", ("rwlock wlock ok")); \ else DBUG_PRINT("lock", ("rwlock wlock FAILED %d", errno)); } @@ -515,7 +515,7 @@ if (m_cache_lock_status == Query_cache::UNLOCKED) { m_cache_lock_status= Query_cache::LOCKED; -#ifndef DBUG_OFF +#ifndef NDEBUG if (thd) m_cache_lock_thread_id= thd->thread_id(); #endif @@ -532,7 +532,7 @@ } else { - DBUG_ASSERT(m_cache_lock_status == Query_cache::LOCKED); + assert(m_cache_lock_status == Query_cache::LOCKED); /* To prevent send_result_to_client() and query_cache_insert() from blocking execution for too long a timeout is put on the lock. @@ -582,7 +582,7 @@ while (m_cache_lock_status != Query_cache::UNLOCKED) mysql_cond_wait(&COND_cache_status_changed, &structure_guard_mutex); m_cache_lock_status= Query_cache::LOCKED_NO_WAIT; -#ifndef DBUG_OFF +#ifndef NDEBUG if (thd) m_cache_lock_thread_id= thd->thread_id(); #endif @@ -611,7 +611,7 @@ while (m_cache_lock_status != Query_cache::UNLOCKED) mysql_cond_wait(&COND_cache_status_changed, &structure_guard_mutex); m_cache_lock_status= Query_cache::LOCKED; -#ifndef DBUG_OFF +#ifndef NDEBUG if (thd) m_cache_lock_thread_id= thd->thread_id(); #endif @@ -629,13 +629,13 @@ { DBUG_ENTER("Query_cache::unlock"); mysql_mutex_lock(&structure_guard_mutex); -#ifndef DBUG_OFF +#ifndef NDEBUG THD *thd= current_thd; if (thd) - DBUG_ASSERT(m_cache_lock_thread_id == thd->thread_id()); + assert(m_cache_lock_thread_id == thd->thread_id()); #endif - DBUG_ASSERT(m_cache_lock_status == Query_cache::LOCKED || - m_cache_lock_status == Query_cache::LOCKED_NO_WAIT); + assert(m_cache_lock_status == Query_cache::LOCKED || + m_cache_lock_status == Query_cache::LOCKED_NO_WAIT); m_cache_lock_status= Query_cache::UNLOCKED; DBUG_PRINT("Query_cache",("Sending signal")); mysql_cond_signal(&COND_cache_status_changed); @@ -743,7 +743,7 @@ inline Query_cache_query * Query_cache_block::query() { -#ifndef DBUG_OFF +#ifndef NDEBUG if (type != QUERY) query_cache.wreck(__LINE__, "incorrect block type"); #endif @@ -752,7 +752,7 @@ inline Query_cache_table * Query_cache_block::table() { -#ifndef DBUG_OFF +#ifndef NDEBUG if (type != TABLE) query_cache.wreck(__LINE__, "incorrect block type"); #endif @@ -761,7 +761,7 @@ inline Query_cache_result * Query_cache_block::result() { -#ifndef DBUG_OFF +#ifndef NDEBUG if (type != RESULT && type != RES_CONT && type != RES_BEG && type != RES_INCOMPLETE) query_cache.wreck(__LINE__, "incorrect block type"); @@ -1069,7 +1069,7 @@ } /* Ensure that only complete results are cached. */ - DBUG_ASSERT(thd->get_stmt_da()->is_eof()); + assert(thd->get_stmt_da()->is_eof()); #ifdef EMBEDDED_LIBRARY insert(query_cache_tls, (char*)thd, @@ -1104,7 +1104,7 @@ to this function. In the release version that query should be ignored and removed from QC. */ - DBUG_ASSERT(0); + assert(0); free_query(query_block); unlock(); DBUG_VOID_RETURN; @@ -1203,7 +1203,7 @@ DBUG_ENTER("Query_cache::resize"); DBUG_PRINT("qcache", ("from %lu to %lu",query_cache_size, query_cache_size_arg)); - DBUG_ASSERT(initialized); + assert(initialized); lock_and_suspend(); @@ -1317,7 +1317,7 @@ */ flags.protocol_type= (unsigned int) thd->get_protocol()->type(); /* PROTOCOL_LOCAL results are not cached. */ - DBUG_ASSERT(flags.protocol_type != (unsigned int) Protocol::PROTOCOL_LOCAL); + assert(flags.protocol_type != (unsigned int) Protocol::PROTOCOL_LOCAL); flags.more_results_exists= MY_TEST(thd->server_status & SERVER_MORE_RESULTS_EXISTS); flags.in_trans= thd->in_active_multi_stmt_transaction(); @@ -1625,8 +1625,8 @@ } DBUG_EXECUTE_IF("test_sql_no_cache", - DBUG_ASSERT(has_no_cache_directive(sql.str, i+6, - sql.length));); + assert(has_no_cache_directive(sql.str, i+6, + sql.length));); if (has_no_cache_directive(sql.str, i+6, sql.length)) { /* @@ -1821,8 +1821,8 @@ BLOCK_UNLOCK_RD(query_block); DBUG_RETURN(-1); // Privilege error } - DBUG_ASSERT((SELECT_ACL & ~table_list.grant.privilege) == - table_list.grant.want_privilege); + assert((SELECT_ACL & ~table_list.grant.privilege) == + table_list.grant.want_privilege); if ((table_list.grant.privilege & SELECT_ACL) == 0) { DBUG_PRINT("qcache", ("Need to check column privileges for %s.%s", @@ -1867,7 +1867,7 @@ Currently our engines do not request rollback from callbacks. If this is going to change code needs to be reworked. */ - DBUG_ASSERT(! thd->transaction_rollback_request); + assert(! thd->transaction_rollback_request); trans_rollback_stmt(thd); goto err_unlock; // Parse query } @@ -1968,8 +1968,8 @@ DBUG_VOID_RETURN; using_transactions&= thd->in_multi_stmt_transaction_mode(); - DBUG_ASSERT(!using_transactions || table_used->table!=0); - DBUG_ASSERT(!table_used->is_view_or_derived()); + assert(!using_transactions || table_used->table!=0); + assert(!table_used->is_view_or_derived()); if (table_used->is_view_or_derived()) DBUG_VOID_RETURN; if (using_transactions && @@ -3308,11 +3308,11 @@ Query_cache_table *table_block_data= node->parent; table_block_data->m_cached_query_count--; - DBUG_ASSERT(table_block_data->m_cached_query_count >= 0); + assert(table_block_data->m_cached_query_count >= 0); if (neighbour->next == neighbour) { - DBUG_ASSERT(table_block_data->m_cached_query_count == 0); + assert(table_block_data->m_cached_query_count == 0); /* If neighbor is root of list, the list is empty. The root of the list is always a table-type block @@ -3761,8 +3761,8 @@ (!tables_used->parent_l || tables_used->parent_l->table->file->ht->db_type != DB_TYPE_MRG_MYISAM)) { - DBUG_ASSERT((SELECT_ACL & ~tables_used->grant.privilege) == - tables_used->grant.want_privilege); + assert((SELECT_ACL & ~tables_used->grant.privilege) == + tables_used->grant.want_privilege); if ((tables_used->grant.privilege & SELECT_ACL) == 0) { DBUG_PRINT("qcache", ("Don't cache statement as it refers to " @@ -3921,7 +3921,7 @@ if (tables_used->is_view() && tables_used->is_merged() && table->s->get_table_ref_type() == TABLE_REF_TMP_TABLE) { - DBUG_ASSERT(false); + assert(false); continue; } if (!handler->register_query_cache_table(thd, @@ -4263,7 +4263,7 @@ if (queries_blocks != 0) { - DBUG_ASSERT(query_cache_size > 0); + assert(query_cache_size > 0); Query_cache_block *block = queries_blocks; do { @@ -4355,7 +4355,7 @@ Functions to be used when debugging ****************************************************************************/ -#if defined(DBUG_OFF) || !defined(EXTRA_DEBUG) +#if defined(NDEBUG) || !defined(EXTRA_DEBUG) void Query_cache::wreck(uint line, const char *message) { query_cache_size = 0; } void Query_cache::bins_dump() {} @@ -4829,7 +4829,7 @@ } } } - DBUG_ASSERT(result == 0); + assert(result == 0); if (locking == LOCK_WHILE_CHECKING) unlock(); @@ -5031,5 +5031,5 @@ return result; } -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ diff -Nru mysql-5.7-5.7.33/sql/sql_cache.h mysql-5.7-5.7.34/sql/sql_cache.h --- mysql-5.7-5.7.33/sql/sql_cache.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_cache.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -257,7 +257,7 @@ struct Query_cache_memory_bin { Query_cache_memory_bin() {} /* Remove gcc warning */ -#ifndef DBUG_OFF +#ifndef NDEBUG ulong size; #endif uint number; @@ -265,7 +265,7 @@ inline void init(ulong size_arg) { -#ifndef DBUG_OFF +#ifndef NDEBUG size = size_arg; #endif number = 0; @@ -298,7 +298,7 @@ private: -#ifndef DBUG_OFF +#ifndef NDEBUG my_thread_id m_cache_lock_thread_id; #endif mysql_cond_t COND_cache_status_changed; @@ -505,7 +505,7 @@ /* The following functions are only used when debugging - We don't protect these with ifndef DBUG_OFF to not have to recompile + We don't protect these with ifndef NDEBUG to not have to recompile everything if we want to add checks of the cache at some places. */ void wreck(uint line, const char *message); diff -Nru mysql-5.7-5.7.33/sql/sql_callback.h mysql-5.7-5.7.34/sql/sql_callback.h --- mysql-5.7-5.7.33/sql/sql_callback.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_callback.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_class.cc mysql-5.7-5.7.34/sql/sql_class.cc --- mysql-5.7-5.7.33/sql/sql_class.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_class.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -126,7 +126,7 @@ // The THD::transaction_rollback_request is expected to be unset in the // attachable transaction. It's weird to start attachable transaction when the // SE asked to rollback the regular transaction. - DBUG_ASSERT(!m_thd->transaction_rollback_request); + assert(!m_thd->transaction_rollback_request); // Save the transaction state. @@ -195,7 +195,7 @@ // experienced some sort of deadlock/timeout while processing the attachable // transaction. That is not possible by the definition of an attachable // transaction. - DBUG_ASSERT(!m_thd->transaction_rollback_request); + assert(!m_thd->transaction_rollback_request); // Commit the attachable transaction before discarding transaction state. // This is mostly needed to properly reset transaction state in SE. @@ -871,7 +871,7 @@ THD* thd_tx_arbitrate(THD *requestor, THD* holder) { /* Should be different sessions. */ - DBUG_ASSERT(holder != requestor); + assert(holder != requestor); return(thd_tx_priority(requestor) == thd_tx_priority(holder) ? requestor @@ -973,7 +973,7 @@ We have to copy the new string to the destination buffer because the string was reallocated to a larger buffer to be able to fit. */ - DBUG_ASSERT(buffer != NULL); + assert(buffer != NULL); length= min(str.length(), length-1); memcpy(buffer, str.c_ptr_quick(), length); /* Make sure that the new string is null terminated */ @@ -1178,7 +1178,7 @@ enable_slow_log= 0; commit_error= CE_NONE; durability_property= HA_REGULAR_DURABILITY; -#ifndef DBUG_OFF +#ifndef NDEBUG dbug_sentry=THD_SENTRY_MAGIC; #endif #ifndef EMBEDDED_LIBRARY @@ -1192,6 +1192,7 @@ get_transaction()->m_flags.enabled= true; active_vio = 0; m_SSL = NULL; + my_atomic_store32(&m_safe_to_display, 0); mysql_mutex_init(key_LOCK_thd_data, &LOCK_thd_data, MY_MUTEX_INIT_FAST); mysql_mutex_init(key_LOCK_thd_query, &LOCK_thd_query, MY_MUTEX_INIT_FAST); mysql_mutex_init(key_LOCK_thd_sysvar, &LOCK_thd_sysvar, MY_MUTEX_INIT_FAST); @@ -1263,7 +1264,7 @@ void THD::set_transaction(Transaction_ctx *transaction_ctx) { - DBUG_ASSERT(is_attachable_ro_transaction_active()); + assert(is_attachable_ro_transaction_active()); delete m_transaction.release(); m_transaction.reset(transaction_ctx); @@ -1303,7 +1304,7 @@ Internal_error_handler *THD::pop_internal_handler() { - DBUG_ASSERT(m_internal_handler != NULL); + assert(m_internal_handler != NULL); Internal_error_handler *popped_handler= m_internal_handler; m_internal_handler= m_internal_handler->m_prev_internal_handler; return popped_handler; @@ -1426,7 +1427,7 @@ (level == Sql_condition::SL_NOTE)) DBUG_RETURN(NULL); - DBUG_ASSERT(sql_errno != 0); + assert(sql_errno != 0); if (sql_errno == 0) /* Safety in release build */ sql_errno= ER_UNKNOWN_ERROR; if (msg == NULL) @@ -1622,7 +1623,7 @@ } rli_slave= rli; - DBUG_ASSERT(rli_slave->info_thd == this && slave_thread); + assert(rli_slave->info_thd == this && slave_thread); } #endif } @@ -1677,24 +1678,24 @@ profiling.cleanup(); #endif -#ifndef DBUG_OFF +#ifndef NDEBUG /* DEBUG code only (begin) */ bool check_cleanup= FALSE; DBUG_EXECUTE_IF("debug_test_cleanup_connection", check_cleanup= TRUE;); if(check_cleanup) { /* isolation level should be default */ - DBUG_ASSERT(variables.tx_isolation == ISO_REPEATABLE_READ); + assert(variables.tx_isolation == ISO_REPEATABLE_READ); /* check autocommit is ON by default */ - DBUG_ASSERT(server_status == SERVER_STATUS_AUTOCOMMIT); + assert(server_status == SERVER_STATUS_AUTOCOMMIT); /* check prepared stmts are cleaned up */ - DBUG_ASSERT(prepared_stmt_count == 0); + assert(prepared_stmt_count == 0); /* check diagnostic area is cleaned up */ - DBUG_ASSERT(get_stmt_da()->status() == Diagnostics_area::DA_EMPTY); + assert(get_stmt_da()->status() == Diagnostics_area::DA_EMPTY); /* check if temp tables are deleted */ - DBUG_ASSERT(temporary_tables == NULL); + assert(temporary_tables == NULL); /* check if tables are unlocked */ - DBUG_ASSERT(locked_tables_list.locked_tables() == NULL); + assert(locked_tables_list.locked_tables() == NULL); } /* DEBUG code only (end) */ #endif @@ -1712,7 +1713,7 @@ XID_STATE *xs= trn_ctx->xid_state(); DBUG_ENTER("THD::cleanup"); - DBUG_ASSERT(cleanup_done == 0); + assert(cleanup_done == 0); DEBUG_SYNC(this, "thd_cleanup_start"); killed= KILL_CONNECTION; @@ -1730,7 +1731,7 @@ locked_tables_list.unlock_locked_tables(this); mysql_ha_cleanup(this); - DBUG_ASSERT(open_tables == NULL); + assert(open_tables == NULL); /* If the thread was in the middle of an ongoing transaction (rolled back a few lines above) or under LOCK TABLES (unlocked the tables @@ -1750,7 +1751,7 @@ release_all_locking_service_locks(this); /* All metadata locks must have been released by now. */ - DBUG_ASSERT(!mdl_context.has_locks()); + assert(!mdl_context.has_locks()); /* Protects user_vars. */ mysql_mutex_lock(&LOCK_thd_data); @@ -1793,7 +1794,7 @@ */ void THD::release_resources() { - DBUG_ASSERT(m_release_resources_done == false); + assert(m_release_resources_done == false); Global_THD_manager::get_instance()->release_thread_id(m_thread_id); @@ -1811,7 +1812,7 @@ #endif /* modification plan for UPDATE/DELETE should be freed. */ - DBUG_ASSERT(query_plan.get_modification_plan() == NULL); + assert(query_plan.get_modification_plan() == NULL); mysql_mutex_unlock(&LOCK_query_plan); mysql_mutex_unlock(&LOCK_thd_data); mysql_mutex_lock(&LOCK_thd_query); @@ -1835,7 +1836,7 @@ plugin_thdvar_cleanup(this, m_enable_plugins); - DBUG_ASSERT(timer == NULL); + assert(timer == NULL); if (timer_cache) thd_timer_destroy(timer_cache); @@ -1885,7 +1886,7 @@ mysql_mutex_lock(&LOCK_thd_query); mysql_mutex_unlock(&LOCK_thd_query); - DBUG_ASSERT(!m_attachable_trx); + assert(!m_attachable_trx); my_free(const_cast(m_db.str)); m_db= NULL_CSTR; @@ -1896,7 +1897,7 @@ mysql_mutex_destroy(&LOCK_thd_sysvar); mysql_mutex_destroy(&LOCK_current_cond); mysql_cond_destroy(&COND_thr_lock); -#ifndef DBUG_OFF +#ifndef NDEBUG dbug_sentry= THD_SENTRY_GONE; #endif @@ -1908,7 +1909,7 @@ variables.gtid_next_list.gtid_set= NULL; variables.gtid_next_list.is_non_null= false; #else - DBUG_ASSERT(0); + assert(0); #endif } if (rli_slave) @@ -2078,7 +2079,7 @@ if (state_to_set == THD::KILL_TIMEOUT) { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.max_execution_time_exceeded++; } @@ -2117,8 +2118,8 @@ { const char act[]= "now signal dump_thread_signal wait_for go_dump_thread"; - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); };); mysql_mutex_lock(current_mutex); mysql_cond_broadcast(current_cond); @@ -2203,7 +2204,7 @@ Assert that thread_stack is initialized: it's necessary to be able to track stack overrun. */ - DBUG_ASSERT(thread_stack); + assert(thread_stack); if (my_thread_set_THR_THD(this) || my_thread_set_THR_MALLOC(&mem_root)) @@ -2216,7 +2217,7 @@ another thread to the same TLS reference. */ is_killable= true; -#ifndef DBUG_OFF +#ifndef NDEBUG /* Let mysqld define the thread id (not mysys) This allows us to move THD to different threads if needed. @@ -2238,7 +2239,7 @@ Assert that thread_stack is initialized: it's necessary to be able to track stack overrun. */ - DBUG_ASSERT(thread_stack); + assert(thread_stack); /* Undocking the thread specific data. */ my_thread_set_THR_THD(NULL); @@ -2508,7 +2509,7 @@ { DBUG_ENTER("THD::add_changed_table(table)"); - DBUG_ASSERT(in_multi_stmt_transaction_mode() && table->file->has_transactions()); + assert(in_multi_stmt_transaction_mode() && table->file->has_transactions()); add_changed_table(table->s->table_cache_key.str, (long) table->s->table_cache_key.length); DBUG_VOID_RETURN; @@ -3127,9 +3128,9 @@ so we have to use mbmaxlenlen == 2 here, which is only true for gb18030 currently. */ - DBUG_ASSERT(character_set_client->mbmaxlen == 2 || - my_mbmaxlenlen(character_set_client) == 2 || - !character_set_client->escape_with_backslash_is_dangerous); + assert(character_set_client->mbmaxlen == 2 || + my_mbmaxlenlen(character_set_client) == 2 || + !character_set_client->escape_with_backslash_is_dangerous); for (start=pos=(char*) res->ptr(),end=pos+used_length ; pos != end ; pos++) @@ -3177,7 +3178,7 @@ mbcharlen is equal to 2, because there are no character sets with mbmaxlen longer than 2 and with escape_with_backslash_is_dangerous set. - DBUG_ASSERT before the loop makes that sure. + assert before the loop makes that sure. But gb18030 is an exception. First of all, 2-byte codes would be affected by the issue above without doubt. @@ -3207,10 +3208,10 @@ an ASCII char when we read it, which is correct. */ - DBUG_ASSERT(in_escapable_4_bytes >= 0); + assert(in_escapable_4_bytes >= 0); if (in_escapable_4_bytes > 0) { - DBUG_ASSERT(check_following_byte); + assert(check_following_byte); /* We should escape or not escape all the 4 bytes. */ need_escape= escape_4_bytes; } @@ -3273,7 +3274,7 @@ } /* Assert that no escape mode is active here */ - DBUG_ASSERT(in_escapable_4_bytes == 0); + assert(in_escapable_4_bytes == 0); if (my_b_write(&cache,(uchar*) start,(uint) (pos-start))) goto err; @@ -3428,7 +3429,7 @@ void Query_arena::cleanup_stmt() { - DBUG_ASSERT(! "Query_arena::cleanup_stmt() not implemented"); + assert(! "Query_arena::cleanup_stmt() not implemented"); } @@ -3450,11 +3451,11 @@ void THD::set_n_backup_active_arena(Query_arena *set, Query_arena *backup) { DBUG_ENTER("THD::set_n_backup_active_arena"); - DBUG_ASSERT(backup->is_backup_arena == FALSE); + assert(backup->is_backup_arena == FALSE); backup->set_query_arena(this); set_query_arena(set); -#ifndef DBUG_OFF +#ifndef NDEBUG backup->is_backup_arena= TRUE; #endif DBUG_VOID_RETURN; @@ -3464,10 +3465,10 @@ void THD::restore_active_arena(Query_arena *set, Query_arena *backup) { DBUG_ENTER("THD::restore_active_arena"); - DBUG_ASSERT(backup->is_backup_arena); + assert(backup->is_backup_arena); set->set_query_arena(this); set_query_arena(backup); -#ifndef DBUG_OFF +#ifndef NDEBUG backup->is_backup_arena= FALSE; #endif DBUG_VOID_RETURN; @@ -3597,7 +3598,7 @@ my_hash_delete(&st_hash, (uchar *) statement); mysql_mutex_lock(&LOCK_prepared_stmt_count); - DBUG_ASSERT(prepared_stmt_count > 0); + assert(prepared_stmt_count > 0); prepared_stmt_count--; mysql_mutex_unlock(&LOCK_prepared_stmt_count); } @@ -3622,7 +3623,7 @@ } #endif mysql_mutex_lock(&LOCK_prepared_stmt_count); - DBUG_ASSERT(prepared_stmt_count >= st_hash.records); + assert(prepared_stmt_count >= st_hash.records); prepared_stmt_count-= st_hash.records; mysql_mutex_unlock(&LOCK_prepared_stmt_count); } @@ -3638,7 +3639,7 @@ We do not want to grab the global LOCK_prepared_stmt_count mutex here. reset() should already have been called to maintain prepared_stmt_count. */ - DBUG_ASSERT(st_hash.records == 0); + assert(st_hash.records == 0); my_hash_free(&names_hash); my_hash_free(&st_hash); @@ -3759,11 +3760,11 @@ Before we will throw away current open tables state we want to be sure that it was properly cleaned up. */ - DBUG_ASSERT(open_tables == 0 && temporary_tables == 0 && - derived_tables == 0 && - lock == 0 && - locked_tables_mode == LTM_NONE && - get_reprepare_observer() == NULL); + assert(open_tables == 0 && temporary_tables == 0 && + derived_tables == 0 && + lock == 0 && + locked_tables_mode == LTM_NONE && + get_reprepare_observer() == NULL); set_open_tables_state(backup); DBUG_VOID_RETURN; @@ -3772,7 +3773,7 @@ void THD::begin_attachable_ro_transaction() { - DBUG_ASSERT(!m_attachable_trx); + assert(!m_attachable_trx); m_attachable_trx= new Attachable_trx(this); } @@ -3780,7 +3781,7 @@ void THD::end_attachable_transaction() { - DBUG_ASSERT(m_attachable_trx); + assert(m_attachable_trx); delete m_attachable_trx; m_attachable_trx= NULL; @@ -3857,7 +3858,7 @@ */ extern "C" LEX_CSTRING thd_query_unsafe(MYSQL_THD thd) { - DBUG_ASSERT(current_thd == thd); + assert(current_thd == thd); return thd->query(); } @@ -3907,7 +3908,7 @@ extern "C" void thd_mark_transaction_to_rollback(MYSQL_THD thd, int all) { DBUG_ENTER("thd_mark_transaction_to_rollback"); - DBUG_ASSERT(thd); + assert(thd); /* The parameter "all" has type int since the function is defined in plugin.h. The corresponding parameter in the call below has @@ -4086,7 +4087,7 @@ */ if (rpl_master_erroneous_autoinc(this)) { - DBUG_ASSERT(backup->auto_inc_intervals_forced.nb_elements() == 0); + assert(backup->auto_inc_intervals_forced.nb_elements() == 0); auto_inc_intervals_forced.swap(&backup->auto_inc_intervals_forced); } #endif @@ -4148,7 +4149,7 @@ if (rpl_master_erroneous_autoinc(this)) { backup->auto_inc_intervals_forced.swap(&auto_inc_intervals_forced); - DBUG_ASSERT(backup->auto_inc_intervals_forced.nb_elements() == 0); + assert(backup->auto_inc_intervals_forced.nb_elements() == 0); } #endif @@ -4240,7 +4241,7 @@ void THD::inc_status_created_tmp_disk_tables() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.created_tmp_disk_tables++; #ifdef HAVE_PSI_STATEMENT_INTERFACE PSI_STATEMENT_CALL(inc_statement_created_tmp_disk_tables)(m_statement_psi, 1); @@ -4249,7 +4250,7 @@ void THD::inc_status_created_tmp_tables() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.created_tmp_tables++; #ifdef HAVE_PSI_STATEMENT_INTERFACE PSI_STATEMENT_CALL(inc_statement_created_tmp_tables)(m_statement_psi, 1); @@ -4258,7 +4259,7 @@ void THD::inc_status_select_full_join() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.select_full_join_count++; #ifdef HAVE_PSI_STATEMENT_INTERFACE PSI_STATEMENT_CALL(inc_statement_select_full_join)(m_statement_psi, 1); @@ -4267,7 +4268,7 @@ void THD::inc_status_select_full_range_join() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.select_full_range_join_count++; #ifdef HAVE_PSI_STATEMENT_INTERFACE PSI_STATEMENT_CALL(inc_statement_select_full_range_join)(m_statement_psi, 1); @@ -4276,7 +4277,7 @@ void THD::inc_status_select_range() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.select_range_count++; #ifdef HAVE_PSI_STATEMENT_INTERFACE PSI_STATEMENT_CALL(inc_statement_select_range)(m_statement_psi, 1); @@ -4285,7 +4286,7 @@ void THD::inc_status_select_range_check() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.select_range_check_count++; #ifdef HAVE_PSI_STATEMENT_INTERFACE PSI_STATEMENT_CALL(inc_statement_select_range_check)(m_statement_psi, 1); @@ -4294,7 +4295,7 @@ void THD::inc_status_select_scan() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.select_scan_count++; #ifdef HAVE_PSI_STATEMENT_INTERFACE PSI_STATEMENT_CALL(inc_statement_select_scan)(m_statement_psi, 1); @@ -4303,7 +4304,7 @@ void THD::inc_status_sort_merge_passes() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.filesort_merge_passes++; #ifdef HAVE_PSI_STATEMENT_INTERFACE PSI_STATEMENT_CALL(inc_statement_sort_merge_passes)(m_statement_psi, 1); @@ -4312,7 +4313,7 @@ void THD::inc_status_sort_range() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.filesort_range_count++; #ifdef HAVE_PSI_STATEMENT_INTERFACE PSI_STATEMENT_CALL(inc_statement_sort_range)(m_statement_psi, 1); @@ -4330,7 +4331,7 @@ void THD::inc_status_sort_scan() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.filesort_scan_count++; #ifdef HAVE_PSI_STATEMENT_INTERFACE PSI_STATEMENT_CALL(inc_statement_sort_scan)(m_statement_psi, 1); @@ -4364,7 +4365,7 @@ void THD::set_query(const LEX_CSTRING& query_arg) { - DBUG_ASSERT(this == current_thd); + assert(this == current_thd); mysql_mutex_lock(&LOCK_thd_query); m_query_string= query_arg; mysql_mutex_unlock(&LOCK_thd_query); @@ -4391,7 +4392,7 @@ */ void THD::swap_rewritten_query(String& query_arg) { - DBUG_ASSERT(this == current_thd); + assert(this == current_thd); mysql_mutex_lock(&LOCK_thd_query); m_rewritten_query.mem_free(); @@ -4552,7 +4553,7 @@ { DBUG_ENTER("THD::decrement_user_connections_counter"); - DBUG_ASSERT(m_user_connect->connections > 0); + assert(m_user_connect->connections > 0); m_user_connect->connections--; DBUG_VOID_RETURN; @@ -4615,7 +4616,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG void THD::Query_plan::assert_plan_is_locked_if_other() const { if (current_thd != thd) @@ -4626,7 +4627,7 @@ void THD::Query_plan::set_query_plan(enum_sql_command sql_cmd, LEX *lex_arg, bool ps) { - DBUG_ASSERT(current_thd == thd); + assert(current_thd == thd); // No need to grab mutex for repeated (SQLCOM_END, NULL, false). if (sql_command == sql_cmd && @@ -4646,7 +4647,7 @@ void THD::Query_plan::set_modification_plan(Modification_plan *plan_arg) { - DBUG_ASSERT(current_thd == thd); + assert(current_thd == thd); mysql_mutex_assert_owner(&thd->LOCK_query_plan); modification_plan= plan_arg; } @@ -4747,7 +4748,7 @@ void THD::send_statement_status() { DBUG_ENTER("send_statement_status"); - DBUG_ASSERT(!get_stmt_da()->is_sent()); + assert(!get_stmt_da()->is_sent()); bool error= false; Diagnostics_area *da= get_stmt_da(); @@ -4775,7 +4776,7 @@ break; case Diagnostics_area::DA_EMPTY: default: - DBUG_ASSERT(0); + assert(0); error= m_protocol->send_ok(server_status, 0, 0, 0, NULL); break; } @@ -4825,8 +4826,8 @@ Relay_log_info *rli= is_binlog_applier() ? rli_fake : (slave_thread ? rli_slave : NULL); - DBUG_ASSERT(!rli_fake || !rli_fake-> is_engine_ha_data_detached); - DBUG_ASSERT(!rli_slave || !rli_slave->is_engine_ha_data_detached); + assert(!rli_fake || !rli_fake-> is_engine_ha_data_detached); + assert(!rli_slave || !rli_slave->is_engine_ha_data_detached); if (rli) rli->detach_engine_ha_data(this); @@ -4839,8 +4840,8 @@ Relay_log_info *rli = is_binlog_applier() ? rli_fake : (slave_thread ? rli_slave : NULL); - DBUG_ASSERT(!rli_fake || !rli_fake->is_engine_ha_data_detached); - DBUG_ASSERT(!rli_slave || !rli_slave->is_engine_ha_data_detached); + assert(!rli_fake || !rli_fake->is_engine_ha_data_detached); + assert(!rli_slave || !rli_slave->is_engine_ha_data_detached); if (rli) rli->reattach_engine_ha_data(this); #endif diff -Nru mysql-5.7-5.7.33/sql/sql_class.h mysql-5.7-5.7.34/sql/sql_class.h --- mysql-5.7-5.7.33/sql/sql_class.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_class.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -220,7 +220,7 @@ CSET_STRING(const char *str_arg, size_t length_arg, const CHARSET_INFO *cs_arg) : cs(cs_arg) { - DBUG_ASSERT(cs_arg != NULL); + assert(cs_arg != NULL); string.str= str_arg; string.length= length_arg; } @@ -412,7 +412,7 @@ #define THD_SENTRY_MAGIC 0xfeedd1ff #define THD_SENTRY_GONE 0xdeadbeef -#define THD_CHECK_SENTRY(thd) DBUG_ASSERT(thd->dbug_sentry == THD_SENTRY_MAGIC) +#define THD_CHECK_SENTRY(thd) assert(thd->dbug_sentry == THD_SENTRY_MAGIC) typedef ulonglong sql_mode_t; @@ -714,7 +714,7 @@ #ifdef MYSQL_SERVER /* The following macro is to make init of Query_arena simpler */ -#ifndef DBUG_OFF +#ifndef NDEBUG #define INIT_ARENA_DBUG_INFO is_backup_arena= 0; is_reprepared= FALSE; #else #define INIT_ARENA_DBUG_INFO @@ -729,7 +729,7 @@ */ Item *free_list; MEM_ROOT *mem_root; // Pointer to current memroot -#ifndef DBUG_OFF +#ifndef NDEBUG bool is_backup_arena; /* True if this arena is used for backup. */ bool is_reprepared; #endif @@ -792,6 +792,13 @@ { return strdup_root(mem_root,str); } inline char *strmake(const char *str, size_t size) { return strmake_root(mem_root,str,size); } + inline LEX_CSTRING strmake(LEX_CSTRING str) + { + LEX_CSTRING ret; + ret.str= strmake(str.str, str.length); + ret.length= ret.str ? str.length : 0; + return ret; + } inline void *memdup(const void *str, size_t size) { return memdup_root(mem_root,str,size); } @@ -902,7 +909,7 @@ LTM_PRELOCKED_UNDER_LOCK_TABLES }; -#ifndef DBUG_OFF +#ifndef NDEBUG /** Getter for the enum enum_locked_tables_mode @param locked_tables_mode enum for types of locked tables mode @@ -1461,16 +1468,16 @@ { private: inline bool is_stmt_prepare() const - { DBUG_ASSERT(0); return Query_arena::is_stmt_prepare(); } + { assert(0); return Query_arena::is_stmt_prepare(); } inline bool is_stmt_prepare_or_first_sp_execute() const - { DBUG_ASSERT(0); return Query_arena::is_stmt_prepare_or_first_sp_execute(); } + { assert(0); return Query_arena::is_stmt_prepare_or_first_sp_execute(); } inline bool is_stmt_prepare_or_first_stmt_execute() const - { DBUG_ASSERT(0); return Query_arena::is_stmt_prepare_or_first_stmt_execute(); } + { assert(0); return Query_arena::is_stmt_prepare_or_first_stmt_execute(); } inline bool is_conventional() const - { DBUG_ASSERT(0); return Query_arena::is_conventional(); } + { assert(0); return Query_arena::is_conventional(); } public: MDL_context mdl_context; @@ -1515,7 +1522,7 @@ */ LEX_CSTRING m_query_string; String m_normalized_query; - + volatile int32 m_safe_to_display; /** Currently selected catalog. */ @@ -1674,7 +1681,7 @@ */ void save_current_query_costs() { - DBUG_ASSERT(!status_var_aggregated); + assert(!status_var_aggregated); status_var.last_query_cost= m_current_query_cost; status_var.last_query_partial_plans= m_current_query_partial_plans; } @@ -1783,7 +1790,7 @@ SSL_handle get_ssl() const { -#ifndef DBUG_OFF +#ifndef NDEBUG if (current_thd != this) { /* @@ -1804,8 +1811,8 @@ */ Protocol_classic *get_protocol_classic() const { - DBUG_ASSERT(m_protocol->type() == Protocol::PROTOCOL_TEXT || - m_protocol->type() == Protocol::PROTOCOL_BINARY); + assert(m_protocol->type() == Protocol::PROTOCOL_TEXT || + m_protocol->type() == Protocol::PROTOCOL_BINARY); return (Protocol_classic *) m_protocol; } @@ -1853,7 +1860,7 @@ public: /// Asserts that current_thd has locked this plan, if it does not own it. void assert_plan_is_locked_if_other() const -#ifdef DBUG_OFF +#ifdef NDEBUG {} #else ; @@ -1938,7 +1945,7 @@ chapter 'Miscellaneous functions', for functions GET_LOCK, RELEASE_LOCK. */ HASH ull_hash; -#ifndef DBUG_OFF +#ifndef NDEBUG uint dbug_sentry; // watch out for memory corruption #endif bool is_killable; @@ -2081,8 +2088,8 @@ format. */ int is_current_stmt_binlog_format_row() const { - DBUG_ASSERT(current_stmt_binlog_format == BINLOG_FORMAT_STMT || - current_stmt_binlog_format == BINLOG_FORMAT_ROW); + assert(current_stmt_binlog_format == BINLOG_FORMAT_STMT || + current_stmt_binlog_format == BINLOG_FORMAT_ROW); return current_stmt_binlog_format == BINLOG_FORMAT_ROW; } @@ -2116,13 +2123,13 @@ inline void clear_binlog_local_stmt_filter() { - DBUG_ASSERT(m_binlog_filter_state == BINLOG_FILTER_UNKNOWN); + assert(m_binlog_filter_state == BINLOG_FILTER_UNKNOWN); m_binlog_filter_state= BINLOG_FILTER_CLEAR; } inline void set_binlog_local_stmt_filter() { - DBUG_ASSERT(m_binlog_filter_state == BINLOG_FILTER_UNKNOWN); + assert(m_binlog_filter_state == BINLOG_FILTER_UNKNOWN); m_binlog_filter_state= BINLOG_FILTER_SET; } @@ -2817,7 +2824,7 @@ void set_trans_pos(const char *file, my_off_t pos) { DBUG_ENTER("THD::set_trans_pos"); - DBUG_ASSERT(((file == 0) && (pos == 0)) || ((file != 0) && (pos != 0))); + assert(((file == 0) && (pos == 0)) || ((file != 0) && (pos != 0))); if (file) { DBUG_PRINT("enter", ("file: %s, pos: %llu", file, pos)); @@ -2825,7 +2832,7 @@ m_trans_log_file= file + dirname_length(file); if (!m_trans_fixed_log_file) m_trans_fixed_log_file= (char*) alloc_root(&main_mem_root, FN_REFLEN+1); - DBUG_ASSERT(strlen(m_trans_log_file) <= FN_REFLEN); + assert(strlen(m_trans_log_file) <= FN_REFLEN); strcpy(m_trans_fixed_log_file, m_trans_log_file); } else @@ -3490,7 +3497,7 @@ */ inline void fatal_error() { - DBUG_ASSERT(get_stmt_da()->is_error() || killed); + assert(get_stmt_da()->is_error() || killed); is_fatal_error= 1; DBUG_PRINT("error",("Fatal error set")); } @@ -3714,7 +3721,7 @@ statement, remove the big comment below that, and remove the in_sub_stmt==0 condition from the following 'if'. */ - /* DBUG_ASSERT(in_sub_stmt == 0); */ + /* assert(in_sub_stmt == 0); */ /* If in a stored/function trigger, the caller should already have done the change. We test in_sub_stmt to prevent introducing bugs where people @@ -4079,7 +4086,7 @@ #ifdef HAVE_GTID_NEXT_LIST owned_gtid_set.clear(); #else - DBUG_ASSERT(0); + assert(0); #endif } owned_gtid.clear(); @@ -4351,7 +4358,7 @@ */ const LEX_CSTRING &query() const { -#ifndef DBUG_OFF +#ifndef NDEBUG if (current_thd != this) mysql_mutex_assert_owner(&LOCK_thd_query); #endif @@ -4378,7 +4385,8 @@ } /** - Set query to be displayed in performance schema (threads table etc.). + Set query to be displayed in performance schema (threads table etc.).Also + mark the query safe to display for information_schema.process_list. */ void set_query_for_display(const char *query_arg, size_t query_length_arg) { // Set in pfs events statements table @@ -4387,11 +4395,28 @@ // Set in pfs threads table PSI_THREAD_CALL(set_thread_info)(query_arg, query_length_arg); #endif + set_safe_display(true); } - void reset_query_for_display(void) { + + /** + Reset query string to be displayed in PFS. Also reset the safety flag + for information_schema.process_list for next query. + */ + void reset_query_for_display() { set_query_for_display(NULL, 0); + my_atomic_store32(&m_safe_to_display, 0); + } + + /** Set if the query string to be safe to display. + @param[in] safe if it is safe to display query string */ + void set_safe_display(bool safe) { + int32 value = safe ? 1 : 0; + my_atomic_store32(&m_safe_to_display, value); } + /** @return true, if safe to display the query string. */ + int32 safe_to_display() { return my_atomic_load32(&m_safe_to_display);} + /** Assign a new value to thd->m_query_string. Protected with the LOCK_thd_query mutex. @@ -4432,7 +4457,7 @@ is set on), the caller must hold LOCK_thd_query while calling this! */ const String &rewritten_query() const { -#ifndef DBUG_OFF +#ifndef NDEBUG if (current_thd != this) mysql_mutex_assert_owner(&LOCK_thd_query); #endif @@ -4482,7 +4507,7 @@ void enter_locked_tables_mode(enum_locked_tables_mode mode_arg) { - DBUG_ASSERT(locked_tables_mode == LTM_NONE); + assert(locked_tables_mode == LTM_NONE); if (mode_arg == LTM_LOCK_TABLES) { @@ -5364,7 +5389,7 @@ */ void init(THD *thd, const Simple_cstring &name, const CHARSET_INFO *cs) { - DBUG_ASSERT(thd != NULL); + assert(thd != NULL); m_owner= thd; copy_name(name); reset_value(); diff -Nru mysql-5.7-5.7.33/sql/sql_client.cc mysql-5.7-5.7.34/sql/sql_client.cc --- mysql-5.7-5.7.33/sql/sql_client.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_client.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_cmd_dml.h mysql-5.7-5.7.34/sql/sql_cmd_dml.h --- mysql-5.7-5.7.33/sql/sql_cmd_dml.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_cmd_dml.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_cmd.h mysql-5.7-5.7.34/sql/sql_cmd.h --- mysql-5.7-5.7.33/sql/sql_cmd.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_cmd.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -101,7 +101,7 @@ simply destroyed instead. Do not rely on the destructor for any cleanup. */ - DBUG_ASSERT(FALSE); + assert(FALSE); } }; diff -Nru mysql-5.7-5.7.33/sql/sql_connect.cc mysql-5.7-5.7.34/sql/sql_connect.cc --- mysql-5.7-5.7.33/sql/sql_connect.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_connect.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -84,8 +84,8 @@ char temp_user[USER_HOST_BUFF_SIZE]; struct user_conn *uc; - DBUG_ASSERT(user != 0); - DBUG_ASSERT(host != 0); + assert(user != 0); + assert(host != 0); user_len= strlen(user); temp_len= (my_stpcpy(my_stpcpy(temp_user, user)+1, host) - temp_user)+1; @@ -225,7 +225,7 @@ { DBUG_ENTER("decrease_user_connections"); mysql_mutex_lock(&LOCK_user_conn); - DBUG_ASSERT(uc->connections); + assert(uc->connections); if (!--uc->connections && !mqh_used) { /* Last connection for user; Delete it */ @@ -251,7 +251,7 @@ if (uc) { mysql_mutex_lock(&LOCK_user_conn); - DBUG_ASSERT(uc->connections > 0); + assert(uc->connections > 0); thd->decrement_user_connections_counter(); if (!uc->connections && !mqh_used) { @@ -277,7 +277,7 @@ bool error= 0; const USER_CONN *uc=thd->get_user_connect(); DBUG_ENTER("check_mqh"); - DBUG_ASSERT(uc != 0); + assert(uc != 0); mysql_mutex_lock(&LOCK_user_conn); diff -Nru mysql-5.7-5.7.33/sql/sql_connect.h mysql-5.7-5.7.34/sql/sql_connect.h --- mysql-5.7-5.7.33/sql/sql_connect.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_connect.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_const.h mysql-5.7-5.7.34/sql/sql_const.h --- mysql-5.7-5.7.33/sql/sql_const.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_const.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2020, Oracle and/or its affiliates. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_crypt.cc mysql-5.7-5.7.34/sql/sql_crypt.cc --- mysql-5.7-5.7.33/sql/sql_crypt.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_crypt.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_crypt.h mysql-5.7-5.7.34/sql/sql_crypt.h --- mysql-5.7-5.7.33/sql/sql_crypt.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_crypt.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_CRYPT_INCLUDED #define SQL_CRYPT_INCLUDED -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_cursor.cc mysql-5.7-5.7.34/sql/sql_cursor.cc --- mysql-5.7-5.7.33/sql/sql_cursor.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_cursor.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -251,7 +251,7 @@ if ((rc= table->fill_item_list(&item_list))) goto end; - DBUG_ASSERT(send_result_set_metadata.elements == item_list.elements); + assert(send_result_set_metadata.elements == item_list.elements); /* Unless we preserve the original metadata, it will be lost, @@ -400,7 +400,7 @@ bool Query_result_materialize::send_result_set_metadata(List &list, uint flags) { - DBUG_ASSERT(table == 0); + assert(table == 0); /* PROCEDURE ANALYSE installs a result filter that has a different set of input and output column Items: diff -Nru mysql-5.7-5.7.33/sql/sql_cursor.h mysql-5.7-5.7.34/sql/sql_cursor.h --- mysql-5.7-5.7.33/sql/sql_cursor.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_cursor.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_data_change.cc mysql-5.7-5.7.34/sql/sql_data_change.cc --- mysql-5.7-5.7.33/sql/sql_data_change.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_data_change.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -52,7 +52,7 @@ MY_BITMAP *the_struct; my_bitmap_map *the_bits; - DBUG_ASSERT(current_thd == table->in_use); + assert(current_thd == table->in_use); if (multi_alloc_root(table->in_use->mem_root, &the_struct, sizeof(MY_BITMAP), &the_bits, bitmap_buffer_size(number_bits), @@ -128,7 +128,7 @@ { DBUG_ENTER("COPY_INFO::set_function_defaults"); - DBUG_ASSERT(m_function_default_columns != NULL); + assert(m_function_default_columns != NULL); /* Quick reject test for checking the case when no defaults are invoked. */ if (bitmap_is_clear_all(m_function_default_columns)) @@ -137,7 +137,7 @@ for (uint i= 0; i < table->s->fields; ++i) if (bitmap_is_set(m_function_default_columns, i)) { - DBUG_ASSERT(bitmap_is_set(table->write_set, i)); + assert(bitmap_is_set(table->write_set, i)); switch (m_optype) { case INSERT_OPERATION: diff -Nru mysql-5.7-5.7.33/sql/sql_data_change.h mysql-5.7-5.7.34/sql/sql_data_change.h --- mysql-5.7-5.7.33/sql/sql_data_change.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_data_change.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef SQL_DATA_CHANGE_INCLUDED #define SQL_DATA_CHANGE_INCLUDED -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -176,7 +176,7 @@ last_errno(0), update_values(NULL) { - DBUG_ASSERT(optype == INSERT_OPERATION); + assert(optype == INSERT_OPERATION); } /** @@ -219,7 +219,7 @@ last_errno(0), update_values(NULL) { - DBUG_ASSERT(optype == INSERT_OPERATION); + assert(optype == INSERT_OPERATION); } /** @@ -243,7 +243,7 @@ last_errno(0), update_values(values) { - DBUG_ASSERT(optype == UPDATE_OPERATION); + assert(optype == UPDATE_OPERATION); } operation_type get_operation_type() const { return m_optype; } @@ -299,7 +299,7 @@ */ bool function_defaults_apply(const TABLE *table) const { - DBUG_ASSERT(m_function_default_columns != NULL); + assert(m_function_default_columns != NULL); return !bitmap_is_clear_all(m_function_default_columns); } @@ -309,7 +309,7 @@ */ bool function_defaults_apply_on_columns(MY_BITMAP *map) { - DBUG_ASSERT(m_function_default_columns != NULL); + assert(m_function_default_columns != NULL); return bitmap_is_overlapping(m_function_default_columns, map); } diff -Nru mysql-5.7-5.7.33/sql/sql_db.cc mysql-5.7-5.7.34/sql/sql_db.cc --- mysql-5.7-5.7.33/sql/sql_db.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_db.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_db.h mysql-5.7-5.7.34/sql/sql_db.h --- mysql-5.7-5.7.33/sql/sql_db.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_db.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_delete.cc mysql-5.7-5.7.34/sql/sql_delete.cc --- mysql-5.7-5.7.33/sql/sql_delete.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_delete.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -391,7 +391,7 @@ { Filesort fsort(&qep_tab, order, HA_POS_ERROR); - DBUG_ASSERT(usable_index == MAX_KEY); + assert(usable_index == MAX_KEY); table->sort.io_cache= (IO_CACHE *) my_malloc(key_memory_TABLE_sort_io_cache, sizeof(IO_CACHE), MYF(MY_FAE | MY_ZEROFILL)); @@ -560,7 +560,7 @@ } // End of scope for Modification_plan cleanup: - DBUG_ASSERT(!thd->lex->describe); + assert(!thd->lex->describe); /* Invalidate the table in the query cache if something changed. This must be before binlog writing and ha_autocommit_... @@ -603,10 +603,10 @@ } } } - DBUG_ASSERT(transactional_table || - !deleted || - thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(transactional_table || + !deleted || + thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT)); free_underlaid_joins(thd, select_lex); if (error < 0) { @@ -682,7 +682,7 @@ tables.table = table_list->table; tables.alias = table_list->alias; - DBUG_ASSERT(!select->group_list.elements); + assert(!select->group_list.elements); if (select->setup_ref_array(thd)) DBUG_RETURN(true); /* purecov: inspected */ if (setup_order(thd, select->ref_pointer_array, &tables, @@ -805,10 +805,10 @@ } // A view must be merged, and thus cannot have a TABLE - DBUG_ASSERT(!table_ref->is_view() || table_ref->table == NULL); + assert(!table_ref->is_view() || table_ref->table == NULL); // Enable the following code if allowing LIMIT with multi-table DELETE - DBUG_ASSERT(select->select_limit == 0); + assert(select->select_limit == 0); } DBUG_RETURN(false); @@ -879,7 +879,7 @@ ASSERT_BEST_REF_IN_JOIN_ORDER(join); SELECT_LEX *const select= unit->first_select(); - DBUG_ASSERT(join == select->join); + assert(join == select->join); if ((thd->variables.option_bits & OPTION_SAFE_UPDATES) && error_if_full_join(join)) @@ -971,7 +971,7 @@ DBUG_RETURN(true); /* purecov: inspected */ *(table_ptr++)= table; } - DBUG_ASSERT(select == thd->lex->current_select()); + assert(select == thd->lex->current_select()); if (select->has_ft_funcs() && init_ftfuncs(thd, select)) DBUG_RETURN(true); @@ -1004,7 +1004,7 @@ JOIN *const join= unit->first_select()->join; - DBUG_ASSERT(thd->lex->current_select() == unit->first_select()); + assert(thd->lex->current_select() == unit->first_select()); int unique_counter= 0; for (uint i= 0; i < join->primary_tables; i++) @@ -1019,7 +1019,7 @@ TABLE *const table= join->qep_tab[i].table(); - DBUG_ASSERT(immediate || table == tables[unique_counter]); + assert(immediate || table == tables[unique_counter]); /* If not doing immediate deletion, increment unique_counter and assign @@ -1150,7 +1150,7 @@ */ error= 1; send_eof(); - DBUG_ASSERT(error_handled); + assert(error_handled); DBUG_VOID_RETURN; } @@ -1188,9 +1188,9 @@ int Query_result_delete::do_deletes() { DBUG_ENTER("Query_result_delete::do_deletes"); - DBUG_ASSERT(do_delete); + assert(do_delete); - DBUG_ASSERT(thd->lex->current_select() == unit->first_select()); + assert(thd->lex->current_select() == unit->first_select()); do_delete= false; // Mark called if (!found) DBUG_RETURN(0); @@ -1375,7 +1375,7 @@ bool Sql_cmd_delete::execute(THD *thd) { - DBUG_ASSERT(thd->lex->sql_command == SQLCOM_DELETE); + assert(thd->lex->sql_command == SQLCOM_DELETE); LEX *const lex= thd->lex; SELECT_LEX *const select_lex= lex->select_lex; @@ -1385,7 +1385,7 @@ if (delete_precheck(thd, all_tables)) return true; - DBUG_ASSERT(select_lex->offset_limit == 0); + assert(select_lex->offset_limit == 0); unit->set_limit(select_lex); /* Push ignore / strict error handler */ @@ -1410,7 +1410,7 @@ bool Sql_cmd_delete_multi::execute(THD *thd) { - DBUG_ASSERT(thd->lex->sql_command == SQLCOM_DELETE_MULTI); + assert(thd->lex->sql_command == SQLCOM_DELETE_MULTI); bool res= false; LEX *const lex= thd->lex; @@ -1448,9 +1448,9 @@ if (!thd->is_fatal_error && (del_result= new Query_result_delete(aux_tables, del_table_count))) { - DBUG_ASSERT(select_lex->having_cond() == NULL && - !select_lex->order_list.elements && - !select_lex->group_list.elements); + assert(select_lex->having_cond() == NULL && + !select_lex->order_list.elements && + !select_lex->group_list.elements); Ignore_error_handler ignore_handler; Strict_error_handler strict_handler; diff -Nru mysql-5.7-5.7.33/sql/sql_delete.h mysql-5.7-5.7.34/sql/sql_delete.h --- mysql-5.7-5.7.33/sql/sql_delete.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_delete.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_derived.cc mysql-5.7-5.7.34/sql/sql_derived.cc --- mysql-5.7-5.7.33/sql/sql_derived.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_derived.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -60,11 +60,11 @@ thd->derived_tables_processing= true; -#ifndef DBUG_OFF +#ifndef NDEBUG for (SELECT_LEX *sl= derived->first_select(); sl; sl= sl->next_select()) { // Make sure there are no outer references - DBUG_ASSERT(sl->context.outer_context == NULL); + assert(sl->context.outer_context == NULL); } #endif if (!(derived_result= new (thd->mem_root) Query_result_union)) @@ -111,7 +111,7 @@ { DBUG_ENTER("TABLE_LIST::setup_materialized_derived"); - DBUG_ASSERT(is_view_or_derived() && !is_merged() && table == NULL); + assert(is_view_or_derived() && !is_merged() && table == NULL); DBUG_PRINT("info", ("algorithm: TEMPORARY TABLE")); @@ -174,7 +174,7 @@ // Set all selected fields to be read: // @todo Do not set fields that are not referenced from outer query - DBUG_ASSERT(thd->mark_used_columns == MARK_COLUMNS_READ); + assert(thd->mark_used_columns == MARK_COLUMNS_READ); List_iterator it(sl->all_fields); Item *item; Column_privilege_tracker tracker(thd, SELECT_ACL); @@ -210,7 +210,7 @@ SELECT_LEX_UNIT *const unit= derived_unit(); - DBUG_ASSERT(unit && !unit->is_optimized()); + assert(unit && !unit->is_optimized()); if (unit->optimize(thd) || thd->is_error()) DBUG_RETURN(true); @@ -241,7 +241,7 @@ SELECT_LEX_UNIT *const unit= derived_unit(); // @todo: Be able to assert !table->is_created() as well - DBUG_ASSERT(unit && uses_materialization() && table); + assert(unit && uses_materialization() && table); /* Don't create result table if: @@ -256,13 +256,13 @@ At this point, JT_CONST derived tables should be null rows. Otherwise they would have been materialized already. */ -#ifndef DBUG_OFF +#ifndef NDEBUG if (table != NULL) { QEP_TAB *tab= table->reginfo.qep_tab; - DBUG_ASSERT(tab == NULL || - tab->type() != JT_CONST || - table->has_null_row()); + assert(tab == NULL || + tab->type() != JT_CONST || + table->has_null_row()); } #endif DBUG_RETURN(false); @@ -307,12 +307,12 @@ { DBUG_ENTER("TABLE_LIST::materialize_derived"); - DBUG_ASSERT(is_view_or_derived() && uses_materialization()); + assert(is_view_or_derived() && uses_materialization()); SELECT_LEX_UNIT *const unit= derived_unit(); bool res= false; - DBUG_ASSERT(table && table->is_created()); + assert(table && table->is_created()); if (unit->is_union()) { @@ -326,7 +326,7 @@ SELECT_LEX *save_current_select= thd->lex->current_select(); thd->lex->set_current_select(first_select); - DBUG_ASSERT(join && join->is_optimized()); + assert(join && join->is_optimized()); unit->set_limit(first_select); @@ -355,7 +355,7 @@ bool TABLE_LIST::cleanup_derived() { - DBUG_ASSERT(is_view_or_derived() && uses_materialization()); + assert(is_view_or_derived() && uses_materialization()); return derived_unit()->cleanup(false); } diff -Nru mysql-5.7-5.7.33/sql/sql_derived.h mysql-5.7-5.7.34/sql/sql_derived.h --- mysql-5.7-5.7.33/sql/sql_derived.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_derived.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_digest.cc mysql-5.7-5.7.34/sql/sql_digest.cc --- mysql-5.7-5.7.33/sql/sql_digest.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_digest.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -80,7 +80,7 @@ */ inline void store_token(sql_digest_storage* digest_storage, uint token) { - DBUG_ASSERT(digest_storage->m_byte_count <= digest_storage->m_token_array_length); + assert(digest_storage->m_byte_count <= digest_storage->m_token_array_length); if (digest_storage->m_byte_count + SIZE_OF_A_TOKEN <= digest_storage->m_token_array_length) { @@ -104,8 +104,8 @@ uint new_index; uint safe_byte_count= digest_storage->m_byte_count; - DBUG_ASSERT(index <= safe_byte_count); - DBUG_ASSERT(safe_byte_count <= digest_storage->m_token_array_length); + assert(index <= safe_byte_count); + assert(safe_byte_count <= digest_storage->m_token_array_length); /* token + length + string are written in an atomic way, @@ -127,7 +127,7 @@ *id_length= length; new_index= index + bytes_needed; - DBUG_ASSERT(new_index <= safe_byte_count); + assert(new_index <= safe_byte_count); return new_index; } } @@ -143,7 +143,7 @@ uint token, size_t id_length, const char *id_name) { - DBUG_ASSERT(digest_storage->m_byte_count <= digest_storage->m_token_array_length); + assert(digest_storage->m_byte_count <= digest_storage->m_token_array_length); size_t bytes_needed= 2 * SIZE_OF_A_TOKEN + id_length; if (digest_storage->m_byte_count + bytes_needed <= (unsigned int)digest_storage->m_token_array_length) @@ -179,7 +179,7 @@ void compute_digest_text(const sql_digest_storage* digest_storage, String *digest_text) { - DBUG_ASSERT(digest_storage != NULL); + assert(digest_storage != NULL); uint byte_count= digest_storage->m_byte_count; String *digest_output= digest_text; uint tok= 0; @@ -295,8 +295,8 @@ static inline uint peek_token(const sql_digest_storage *digest, uint index) { uint token; - DBUG_ASSERT(index + SIZE_OF_A_TOKEN <= digest->m_byte_count); - DBUG_ASSERT(digest->m_byte_count <= digest->m_token_array_length); + assert(index + SIZE_OF_A_TOKEN <= digest->m_byte_count); + assert(digest->m_byte_count <= digest->m_token_array_length); token= ((digest->m_token_array[index + 1])<<8) | digest->m_token_array[index]; return token; @@ -674,7 +674,7 @@ REDUCE to TOKEN_X TOKEN_LEFT . TOKEN_Y */ - DBUG_ASSERT(last_token2 == token_right); + assert(last_token2 == token_right); digest_storage->m_byte_count-= 2 * SIZE_OF_A_TOKEN; store_token(digest_storage, token_left); token_to_push= last_token; diff -Nru mysql-5.7-5.7.33/sql/sql_digest.h mysql-5.7-5.7.34/sql/sql_digest.h --- mysql-5.7-5.7.33/sql/sql_digest.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_digest.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_digest_stream.h mysql-5.7-5.7.34/sql/sql_digest_stream.h --- mysql-5.7-5.7.33/sql/sql_digest_stream.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_digest_stream.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_do.cc mysql-5.7-5.7.34/sql/sql_do.cc --- mysql-5.7-5.7.33/sql/sql_do.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_do.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -37,12 +37,12 @@ false)) DBUG_RETURN(true); - DBUG_ASSERT(!lex->unit->global_parameters()->explicit_limit); + assert(!lex->unit->global_parameters()->explicit_limit); if (open_tables_for_query(thd, lex->query_tables, 0)) DBUG_RETURN(true); - DBUG_ASSERT(!lex->describe); + assert(!lex->describe); Query_result *result= new Query_result_do(thd); if (!result) diff -Nru mysql-5.7-5.7.33/sql/sql_do.h mysql-5.7-5.7.34/sql/sql_do.h --- mysql-5.7-5.7.33/sql/sql_do.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_do.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_error.cc mysql-5.7-5.7.34/sql/sql_error.cc --- mysql-5.7-5.7.33/sql/sql_error.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_error.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -212,7 +212,7 @@ m_severity_level(Sql_condition::SL_ERROR), m_mem_root(mem_root) { - DBUG_ASSERT(mem_root != NULL); + assert(mem_root != NULL); memset(m_returned_sqlstate, 0, sizeof(m_returned_sqlstate)); } @@ -237,10 +237,10 @@ m_severity_level(severity), m_mem_root(mem_root) { - DBUG_ASSERT(mem_root != NULL); - DBUG_ASSERT(mysql_errno != 0); - DBUG_ASSERT(returned_sqlstate != NULL); - DBUG_ASSERT(message_text != NULL); + assert(mem_root != NULL); + assert(mysql_errno != 0); + assert(returned_sqlstate != NULL); + assert(message_text != NULL); set_message_text(message_text); set_returned_sqlstate(returned_sqlstate); @@ -250,7 +250,7 @@ void Sql_condition::copy_opt_attributes(const Sql_condition *cond) { - DBUG_ASSERT(this != cond); + assert(this != cond); copy_string(m_mem_root, & m_class_origin, & cond->m_class_origin); copy_string(m_mem_root, & m_subclass_origin, & cond->m_subclass_origin); copy_string(m_mem_root, & m_constraint_catalog, & cond->m_constraint_catalog); @@ -270,7 +270,7 @@ const char* copy= strdup_root(m_mem_root, message_text); m_message_text.set(copy, strlen(copy), error_message_charset_info); - DBUG_ASSERT(! m_message_text.is_alloced()); + assert(! m_message_text.is_alloced()); } @@ -289,11 +289,11 @@ cls[1]= m_returned_sqlstate[1]; /* Only digits and upper case latin letter are allowed. */ - DBUG_ASSERT(my_isdigit(&my_charset_latin1, cls[0]) || - my_isupper(&my_charset_latin1, cls[0])); + assert(my_isdigit(&my_charset_latin1, cls[0]) || + my_isupper(&my_charset_latin1, cls[0])); - DBUG_ASSERT(my_isdigit(&my_charset_latin1, cls[1]) || - my_isupper(&my_charset_latin1, cls[1])); + assert(my_isdigit(&my_charset_latin1, cls[1]) || + my_isupper(&my_charset_latin1, cls[1])); /* If CLASS[1] is any of: 0 1 2 3 4 A B C D E F G H @@ -363,7 +363,7 @@ void Diagnostics_area::reset_diagnostics_area() { DBUG_ENTER("reset_diagnostics_area"); -#ifdef DBUG_OFF +#ifdef NDEBUG set_overwrite_status(false); // Don't take chances in production. m_message_text[0]= '\0'; @@ -384,7 +384,7 @@ const char *message_text) { DBUG_ENTER("set_ok_status"); - DBUG_ASSERT(! is_set()); + assert(! is_set()); /* In production, refuse to overwrite an error or a custom response with an OK packet. @@ -408,7 +408,7 @@ { DBUG_ENTER("set_eof_status"); /* Only allowed to report eof if has not yet reported an error */ - DBUG_ASSERT(! is_set()); + assert(! is_set()); /* In production, refuse to overwrite an error or a custom response with an EOF packet. @@ -448,15 +448,15 @@ The only exception is when we flush the message to the client, an error can happen during the flush. */ - DBUG_ASSERT(! is_set() || m_can_overwrite_status); + assert(! is_set() || m_can_overwrite_status); // message must be set properly by the caller. - DBUG_ASSERT(message_text); + assert(message_text); // sqlstate must be set properly by the caller. - DBUG_ASSERT(returned_sqlstate); + assert(returned_sqlstate); -#ifdef DBUG_OFF +#ifdef NDEBUG /* In production, refuse to overwrite a custom response with an ERROR packet. @@ -702,7 +702,7 @@ void Diagnostics_area::push_diagnostics_area(THD *thd, Diagnostics_area *da, bool copy_conditions) { - DBUG_ASSERT(da->m_stacked_da == NULL); + assert(da->m_stacked_da == NULL); da->m_stacked_da= this; if (copy_conditions) { @@ -715,7 +715,7 @@ Diagnostics_area *Diagnostics_area::pop_diagnostics_area() { - DBUG_ASSERT(m_stacked_da); + assert(m_stacked_da); Diagnostics_area *da= m_stacked_da; m_stacked_da= NULL; return da; @@ -742,7 +742,7 @@ SL_ERROR *is* a bug. Either use my_printf_error(), my_error(), or SL_WARNING. */ - DBUG_ASSERT(severity != Sql_condition::SL_ERROR); + assert(severity != Sql_condition::SL_ERROR); if (severity == Sql_condition::SL_ERROR) severity= Sql_condition::SL_WARNING; @@ -770,8 +770,8 @@ DBUG_ENTER("push_warning_printf"); DBUG_PRINT("enter",("warning: %u", code)); - DBUG_ASSERT(code != 0); - DBUG_ASSERT(format != NULL); + assert(code != 0); + assert(format != NULL); va_start(args,format); my_vsnprintf_ex(&my_charset_utf8_general_ci, warning, @@ -916,7 +916,7 @@ ErrConvString::ErrConvString(double nr) { // enough to print '-[digits].E+###' - DBUG_ASSERT(sizeof(err_buffer) > DBL_DIG + 8); + assert(sizeof(err_buffer) > DBL_DIG + 8); buf_length= my_gcvt(nr, MY_GCVT_ARG_DOUBLE, static_cast(sizeof(err_buffer)) - 1, err_buffer, NULL); @@ -959,7 +959,7 @@ const char *from_start= from; size_t res; - DBUG_ASSERT(to_length > 0); + assert(to_length > 0); to_length--; if (from_cs == &my_charset_bin) { @@ -1036,7 +1036,7 @@ uint error_count= 0; size_t length; - DBUG_ASSERT(to_length > 0); + assert(to_length > 0); /* Make room for the null terminator. */ to_length--; to_end= (uchar*) (to + to_length); diff -Nru mysql-5.7-5.7.33/sql/sql_error.h mysql-5.7-5.7.34/sql/sql_error.h --- mysql-5.7-5.7.33/sql/sql_error.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_error.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -358,7 +358,7 @@ */ void disable_status() { - DBUG_ASSERT(m_status == DA_EMPTY); + assert(m_status == DA_EMPTY); m_status= DA_DISABLED; } @@ -383,37 +383,37 @@ const char *message_text() const { - DBUG_ASSERT(m_status == DA_ERROR || m_status == DA_OK); + assert(m_status == DA_ERROR || m_status == DA_OK); return m_message_text; } uint mysql_errno() const { - DBUG_ASSERT(m_status == DA_ERROR); + assert(m_status == DA_ERROR); return m_mysql_errno; } const char* returned_sqlstate() const { - DBUG_ASSERT(m_status == DA_ERROR); + assert(m_status == DA_ERROR); return m_returned_sqlstate; } ulonglong affected_rows() const { - DBUG_ASSERT(m_status == DA_OK); + assert(m_status == DA_OK); return m_affected_rows; } ulonglong last_insert_id() const { - DBUG_ASSERT(m_status == DA_OK); + assert(m_status == DA_OK); return m_last_insert_id; } uint last_statement_cond_count() const { - DBUG_ASSERT(m_status == DA_OK || m_status == DA_EOF); + assert(m_status == DA_OK || m_status == DA_EOF); return m_last_statement_cond_count; } diff -Nru mysql-5.7-5.7.33/sql/sql_exception_handler.cc mysql-5.7-5.7.34/sql/sql_exception_handler.cc --- mysql-5.7-5.7.33/sql/sql_exception_handler.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_exception_handler.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2017, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_exception_handler.h mysql-5.7-5.7.34/sql/sql_exception_handler.h --- mysql-5.7-5.7.33/sql/sql_exception_handler.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_exception_handler.h 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ #define SQL_EXCEPTION_HANDLER_H_INCLUDED /* - Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2017, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_executor.cc mysql-5.7-5.7.34/sql/sql_executor.cc --- mysql-5.7-5.7.33/sql/sql_executor.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_executor.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -111,7 +111,7 @@ List *columns_list= &fields_list; DBUG_ENTER("JOIN::exec"); - DBUG_ASSERT(select_lex == thd->lex->current_select()); + assert(select_lex == thd->lex->current_select()); /* Check that we either @@ -120,8 +120,8 @@ - called for fake_select_lex, which may have temporary tables which do not need locking up front. */ - DBUG_ASSERT(!tables || thd->lex->is_query_tables_locked() || - select_lex == unit->fake_select_lex); + assert(!tables || thd->lex->is_query_tables_locked() || + select_lex == unit->fake_select_lex); THD_STAGE_INFO(thd, stage_executing); DEBUG_SYNC(thd, "before_join_exec"); @@ -244,7 +244,7 @@ tmp_table_param.using_outer_summary_function= tab->tmp_table_param->using_outer_summary_function; - DBUG_ASSERT(tab->idx() > 0); + assert(tab->idx() > 0); tab[-1].next_select= sub_select_op; if (!(tab->op= new (thd->mem_root) QEP_tmp_table(tab))) goto err; @@ -431,7 +431,7 @@ if (order && skip_sort_order) { /* Should already have been optimized away */ - DBUG_ASSERT(ordered_index_usage == ordered_index_order_by); + assert(ordered_index_usage == ordered_index_order_by); if (ordered_index_usage == ordered_index_order_by) { order= NULL; @@ -804,7 +804,7 @@ QEP_tmp_table *op= (QEP_tmp_table *)tab->op; Temp_table_param *const tmp_tbl= tab->tmp_table_param; - DBUG_ASSERT(table && op); + assert(table && op); if (table->group && tmp_tbl->sum_func_count && !tmp_tbl->precomputed_group_by) @@ -909,7 +909,7 @@ so we don't touch it here. */ join->examined_rows++; - DBUG_ASSERT(join->examined_rows <= 1); + assert(join->examined_rows <= 1); } else if (join->send_row_on_empty_set()) { @@ -953,7 +953,7 @@ else { QEP_TAB *qep_tab= join->qep_tab + join->const_tables; - DBUG_ASSERT(join->primary_tables); + assert(join->primary_tables); error= join->first_select(join,qep_tab,0); if (error >= NESTED_LOOP_OK) error= join->first_select(join,qep_tab,1); @@ -978,7 +978,7 @@ sort_tab= &join->qep_tab[join->primary_tables + join->tmp_tables - 1]; else { - DBUG_ASSERT(!join->plan_is_const()); + assert(!join->plan_is_const()); sort_tab= &join->qep_tab[const_tables]; } if (sort_tab->filesort && @@ -1009,7 +1009,7 @@ } else rc= -1; -#ifndef DBUG_OFF +#ifndef NDEBUG if (rc) { DBUG_PRINT("error",("Error: do_select() failed")); @@ -1069,7 +1069,7 @@ QEP_operation *op= qep_tab->op; /* This function cannot be called if qep_tab has no associated operation */ - DBUG_ASSERT(op != NULL); + assert(op != NULL); if (end_of_records) { @@ -1085,7 +1085,7 @@ setup_join_buffering() disables join buffering if QS_DYNAMIC_RANGE is enabled. */ - DBUG_ASSERT(!qep_tab->dynamic_range()); + assert(!qep_tab->dynamic_range()); rc= op->put_record(); @@ -1545,8 +1545,8 @@ know all cond. guards are open and we can apply the 'not_exists_optimize'. */ - DBUG_ASSERT(!(tab->table()->reginfo.not_exists_optimize && - !tab->condition())); + assert(!(tab->table()->reginfo.not_exists_optimize && + !tab->condition())); if (tab->condition() && !tab->condition()->val_int()) { @@ -1615,7 +1615,7 @@ EQ_REF and LooseScan may happen if dependencies in subquery (e.g., outer join) prevents table pull-out. */ - DBUG_ASSERT(qep_tab->use_order() || qep_tab->type() == JT_EQ_REF); + assert(qep_tab->use_order() || qep_tab->type() == JT_EQ_REF); /* Previous row combination for duplicate-generating range, @@ -1920,7 +1920,7 @@ if (tab->join_cond() && !table->has_null_row()) { // We cannot handle outer-joined tables with expensive join conditions here: - DBUG_ASSERT(!tab->join_cond()->is_expensive()); + assert(!tab->join_cond()->is_expensive()); if (tab->join_cond()->val_int() == 0) table->set_null_row(); } @@ -2074,7 +2074,7 @@ */ if (tab->table_ref->is_inner_table_of_outer_join()) table_ref->disable_cache= true; - DBUG_ASSERT(!tab->use_order()); //Don't expect sort req. for single row. + assert(!tab->use_order()); //Don't expect sort req. for single row. if ((error= table->file->ha_index_init(table_ref->key, tab->use_order()))) { (void) report_handler_error(table, error); @@ -2118,7 +2118,7 @@ } else if (table->status == 0) { - DBUG_ASSERT(table_ref->has_record); + assert(table_ref->has_record); table_ref->use_count++; } table->reset_null_row(); @@ -2137,7 +2137,7 @@ void join_read_key_unlock_row(QEP_TAB *tab) { - DBUG_ASSERT(tab->ref().use_count); + assert(tab->ref().use_count); if (tab->ref().use_count) tab->ref().use_count--; } @@ -2151,7 +2151,7 @@ void join_const_unlock_row(QEP_TAB *tab) { - DBUG_ASSERT(tab->type() == JT_CONST); + assert(tab->type() == JT_CONST); } /** @@ -2185,7 +2185,7 @@ TABLE *table= tab->table(); DBUG_ENTER("join_read_linked_first"); - DBUG_ASSERT(!tab->use_order()); // Pushed child can't be sorted + assert(!tab->use_order()); // Pushed child can't be sorted if (!table->file->inited && (error= table->file->ha_index_init(tab->ref().key, tab->use_order()))) { @@ -2366,7 +2366,7 @@ to read to the beginning of the index if no qualifying record is found. */ - DBUG_ASSERT(table->file->pushed_idx_cond == NULL); + assert(table->file->pushed_idx_cond == NULL); if ((error= table->file->ha_index_prev(table->record[0]))) return report_handler_error(table, error); @@ -2428,7 +2428,7 @@ ORDER::ORDER_NOT_RELEVANT, tab, tab->condition(), &needed_reg_dummy, &qck, tab->table()->force_index); - DBUG_ASSERT(old_qck == NULL || old_qck != qck) ; + assert(old_qck == NULL || old_qck != qck) ; tab->set_quick(qck); /* @@ -2514,7 +2514,7 @@ THD *const thd= tab->table()->in_use; TABLE_LIST *const derived= tab->table_ref; - DBUG_ASSERT(derived->uses_materialization() && !tab->materialized); + assert(derived->uses_materialization() && !tab->materialized); if (derived->materializable_is_const()) // Has been materialized by optimizer return NESTED_LOOP_OK; @@ -2563,7 +2563,7 @@ last->next_select= NULL; last->set_sj_mat_exec(NULL); -#if !defined(DBUG_OFF) || defined(HAVE_VALGRIND) +#if !defined(NDEBUG) || defined(HAVE_VALGRIND) // Fields of inner tables should not be read anymore: for (QEP_TAB *t= first; t <= last; t++) { @@ -2619,9 +2619,9 @@ { DBUG_PRINT("info",("Sorting for index")); THD_STAGE_INFO(join()->thd, stage_creating_sort_index); - DBUG_ASSERT(join()->ordered_index_usage != (filesort->order == join()->order ? - JOIN::ordered_index_order_by : - JOIN::ordered_index_group_by)); + assert(join()->ordered_index_usage != (filesort->order == join()->order ? + JOIN::ordered_index_order_by : + JOIN::ordered_index_group_by)); const bool rc= create_sort_index(join()->thd, join(), this) != 0; /* Filesort has filtered rows already (see skip_record() in @@ -2792,12 +2792,12 @@ void QEP_TAB::pick_table_access_method(const JOIN_TAB *join_tab) { ASSERT_BEST_REF_IN_JOIN_ORDER(join()); - DBUG_ASSERT(join_tab == join()->best_ref[idx()]); - DBUG_ASSERT(table()); - DBUG_ASSERT(read_first_record == NULL); + assert(join_tab == join()->best_ref[idx()]); + assert(table()); + assert(read_first_record == NULL); // Only some access methods support reversed access: - DBUG_ASSERT(!join_tab->reversed_access || type() == JT_REF || - type() == JT_INDEX_SCAN); + assert(!join_tab->reversed_access || type() == JT_REF || + type() == JT_INDEX_SCAN); // Fall through to set default access functions: switch (type()) { @@ -2847,7 +2847,7 @@ join_init_quick_read_record : join_init_read_record; break; default: - DBUG_ASSERT(0); + assert(0); break; } } @@ -2861,7 +2861,7 @@ void QEP_TAB::set_pushed_table_access_method(void) { DBUG_ENTER("set_pushed_table_access_method"); - DBUG_ASSERT(table()); + assert(table()); /** Setup modified access function for children of pushed joins. @@ -2877,7 +2877,7 @@ */ DBUG_PRINT("info", ("Modifying table access method for '%s'", table()->s->table_name.str)); - DBUG_ASSERT(type() != JT_REF_OR_NULL); + assert(type() != JT_REF_OR_NULL); read_first_record= join_read_linked_first; read_record.read_record= join_read_linked_next; // Use the default unlock_row function @@ -2909,7 +2909,7 @@ Note that qep_tab may be one past the last of qep_tab! So don't read its pointed content. But you can read qep_tab[-1] then. */ - DBUG_ASSERT(qep_tab == NULL || qep_tab > join->qep_tab); + assert(qep_tab == NULL || qep_tab > join->qep_tab); //TODO pass fields via argument List *fields= qep_tab ? qep_tab[-1].fields : join->fields; @@ -3130,7 +3130,7 @@ static bool cmp_field_value(Field *field, my_ptrdiff_t diff) { - DBUG_ASSERT(field); + assert(field); /* Records are different when: 1) NULL flags aren't the same @@ -3288,7 +3288,7 @@ { Item *item= *(ord->item); field= item->get_tmp_table_field(); - DBUG_ASSERT(field); + assert(field); unique_hash(field, &crc); } @@ -3576,7 +3576,7 @@ if (!join->first_record) { // Dead code or we need a test case for this branch - DBUG_ASSERT(false); + assert(false); /* If this is a subquery, we need to save and later restore the const table NULL info before clearing the tables @@ -3681,7 +3681,7 @@ DBUG_ENTER("create_sort_index"); // One row, no need to sort. make_tmp_tables_info should already handle this. - DBUG_ASSERT(!join->plan_is_const() && fsort); + assert(!join->plan_is_const() && fsort); table= tab->table(); table->sort.io_cache=(IO_CACHE*) my_malloc(key_memory_TABLE_sort_io_cache, @@ -3694,7 +3694,7 @@ { if (tab->type() != JT_REF_OR_NULL && tab->type() != JT_FT) { - DBUG_ASSERT(tab->type() == JT_REF || tab->type() == JT_EQ_REF); + assert(tab->type() == JT_REF || tab->type() == JT_EQ_REF); // Update ref value if ((cp_buffer_from_ref(thd, table, &tab->ref()) && thd->is_fatal_error)) goto err; // out of memory @@ -3772,7 +3772,7 @@ List *field_list= (this-1)->fields; DBUG_ENTER("remove_duplicates"); - DBUG_ASSERT(join()->tmp_tables > 0 && table()->s->tmp_table != NO_TMP_TABLE); + assert(join()->tmp_tables > 0 && table()->s->tmp_table != NO_TMP_TABLE); THD_STAGE_INFO(join()->thd, stage_removing_duplicates); TABLE *const tbl= table(); @@ -3952,7 +3952,7 @@ } DBUG_PRINT("info",("field_count: %u key_length: %lu total_length: %lu", field_count, key_length, total_length)); - DBUG_ASSERT(total_length <= key_length); + assert(total_length <= key_length); key_length= total_length; extra_length= ALIGN_SIZE(key_length)-key_length; } @@ -4297,7 +4297,7 @@ goto err; if (copy) { - DBUG_ASSERT (param->field_count > (uint) (copy - copy_start)); + assert (param->field_count > (uint) (copy - copy_start)); copy->set(tmp, item->result_field); item->result_field->move_field(copy->to_ptr, copy->to_null_ptr, 1); copy++; @@ -4367,7 +4367,7 @@ Copy_field *ptr=param->copy_field; Copy_field *end=param->copy_field_end; - DBUG_ASSERT((ptr != NULL && end >= ptr) || (ptr == NULL && end == NULL)); + assert((ptr != NULL && end >= ptr) || (ptr == NULL && end == NULL)); for (; ptr < end; ptr++) ptr->invoke_do_copy(ptr); @@ -4463,7 +4463,7 @@ ifield->table_name= iref->table_name; ifield->db_name= iref->db_name; } -#ifndef DBUG_OFF +#ifndef NDEBUG if (!item_field->item_name.is_set()) { char buff[256]; @@ -4554,7 +4554,7 @@ */ static void save_const_null_info(JOIN *join, table_map *save_nullinfo) { - DBUG_ASSERT(join->const_tables); + assert(join->const_tables); for (uint tableno= 0; tableno < join->const_tables; tableno++) { @@ -4565,8 +4565,8 @@ or none set. Otherwise, an additional table_map parameter is needed to save/restore_const_null_info() these separately */ - DBUG_ASSERT(table->has_null_row() ? (table->status & STATUS_NULL_ROW) : - !(table->status & STATUS_NULL_ROW)); + assert(table->has_null_row() ? (table->status & STATUS_NULL_ROW) : + !(table->status & STATUS_NULL_ROW)); if (!table->has_null_row()) *save_nullinfo|= tab->table_ref->map(); @@ -4591,7 +4591,7 @@ */ static void restore_const_null_info(JOIN *join, table_map save_nullinfo) { - DBUG_ASSERT(join->const_tables && save_nullinfo); + assert(join->const_tables && save_nullinfo); for (uint tableno= 0; tableno < join->const_tables; tableno++) { diff -Nru mysql-5.7-5.7.33/sql/sql_executor.h mysql-5.7-5.7.34/sql/sql_executor.h --- mysql-5.7-5.7.33/sql/sql_executor.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_executor.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_EXECUTOR_INCLUDED #define SQL_EXECUTOR_INCLUDED -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights * reserved. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/sql_get_diagnostics.cc mysql-5.7-5.7.34/sql/sql_get_diagnostics.cc --- mysql-5.7-5.7.33/sql/sql_get_diagnostics.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_get_diagnostics.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -136,7 +136,7 @@ /* Get a settable reference to the target. */ srp= m_target->get_settable_routine_parameter(); - DBUG_ASSERT(srp); + assert(srp); /* Set variable/parameter value. */ rc= srp->set_value(thd, thd->sp_runtime_ctx, value); @@ -264,7 +264,7 @@ while (cond_number--) cond= it_conds++; - DBUG_ASSERT(cond); + assert(cond); /* Evaluate the requested information in the context of the condition. */ while ((cond_info_item= it_items++)) diff -Nru mysql-5.7-5.7.33/sql/sql_get_diagnostics.h mysql-5.7-5.7.34/sql/sql_get_diagnostics.h --- mysql-5.7-5.7.33/sql/sql_get_diagnostics.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_get_diagnostics.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -105,7 +105,7 @@ */ virtual ~Diagnostics_information() { - DBUG_ASSERT(false); + assert(false); } /** @@ -171,7 +171,7 @@ */ virtual ~Diagnostics_information_item() { - DBUG_ASSERT(false); + assert(false); } private: diff -Nru mysql-5.7-5.7.33/sql/sql_handler.cc mysql-5.7-5.7.34/sql/sql_handler.cc --- mysql-5.7-5.7.33/sql/sql_handler.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_handler.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2020, Oracle and/or its affiliates. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -310,7 +310,7 @@ DBUG_ENTER("mysql_ha_open_table"); - DBUG_ASSERT(!thd->locked_tables_mode); + assert(!thd->locked_tables_mode); /* Save and reset the open_tables list so that open_tables() won't @@ -328,7 +328,7 @@ 'hash_tables->table' must be NULL, unless there is pre-opened temporary table. open_tables() will set it if successful. */ - DBUG_ASSERT(! hash_tables->table || is_temporary_table(hash_tables)); + assert(! hash_tables->table || is_temporary_table(hash_tables)); error= open_tables(thd, &hash_tables, &counter, 0); @@ -354,7 +354,7 @@ If called for re-open, no need to rollback either, it will be done at statement end. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); close_thread_tables(thd); thd->mdl_context.rollback_to_savepoint(mdl_savepoint); thd->set_open_tables(backup_open_tables); @@ -378,8 +378,8 @@ was opened for HANDLER as it is used to link them together (see thd->temporary_tables). */ - DBUG_ASSERT(hash_tables->table->next == NULL || - hash_tables->table->s->tmp_table); + assert(hash_tables->table->next == NULL || + hash_tables->table->s->tmp_table); /* If it's a temp table, don't reset table->query_id as the table is being used by this handler. For non-temp tables we use this flag @@ -586,7 +586,7 @@ This is implicit and obscure, since HANDLER position is lost in the process, but it's the legacy server behaviour we should preserve. */ - DBUG_ASSERT(error && !thd->is_error()); + assert(error && !thd->is_error()); mysql_ha_close_table(thd, hash_tables); goto retry; } @@ -598,8 +598,8 @@ /* save open_tables state */ backup_open_tables= thd->open_tables; /* Always a one-element list, see mysql_ha_open(). */ - DBUG_ASSERT(hash_tables->table->next == NULL || - hash_tables->table->s->tmp_table); + assert(hash_tables->table->next == NULL || + hash_tables->table->s->tmp_table); /* mysql_lock_tables() needs thd->open_tables to be set correctly to be able to handle aborts properly. @@ -607,7 +607,7 @@ thd->set_open_tables(hash_tables->table); /* Re-use Sql_handler_lock_error instance which was initialized earlier. */ - DBUG_ASSERT(!sql_handler_lock_error.need_reopen()); + assert(!sql_handler_lock_error.need_reopen()); thd->push_internal_handler(&sql_handler_lock_error); lock= mysql_lock_tables(thd, &thd->open_tables, 1, 0); @@ -618,20 +618,20 @@ object with another one (reopen it). This is no longer the case with new MDL. */ - DBUG_ASSERT(hash_tables->table == thd->open_tables); + assert(hash_tables->table == thd->open_tables); /* Restore previous context. */ thd->set_open_tables(backup_open_tables); if (sql_handler_lock_error.need_reopen()) { - DBUG_ASSERT(!lock && !thd->is_error()); + assert(!lock && !thd->is_error()); /* Always close statement transaction explicitly, so that the engine doesn't have to count locks. There should be no need to perform transaction rollback due to deadlock. */ - DBUG_ASSERT(! thd->transaction_rollback_request); + assert(! thd->transaction_rollback_request); trans_rollback_stmt(thd); thd->mdl_context.rollback_to_savepoint(mdl_savepoint); mysql_ha_close_table(thd, hash_tables); @@ -712,7 +712,7 @@ if (table->file->inited == handler::INDEX) { /* Check if we read from the same index. */ - DBUG_ASSERT((uint) keyno == table->file->get_index()); + assert((uint) keyno == table->file->get_index()); error= table->file->ha_index_next(table->record[0]); break; } @@ -744,9 +744,9 @@ mode=RNEXT; break; case RPREV: - DBUG_ASSERT(m_key_name != 0); + assert(m_key_name != 0); /* Check if we read from the same index. */ - DBUG_ASSERT((uint) keyno == table->file->get_index()); + assert((uint) keyno == table->file->get_index()); if (table->file->inited == handler::INDEX) { error= table->file->ha_index_prev(table->record[0]); @@ -754,7 +754,7 @@ } /* else fall through, for more info, see comment before 'case RFIRST'. */ case RLAST: - DBUG_ASSERT(m_key_name != 0); + assert(m_key_name != 0); if (!(error= table->file->ha_index_or_rnd_end()) && !(error= table->file->ha_index_init(keyno, 1))) error= table->file->ha_index_last(table->record[0]); @@ -762,12 +762,12 @@ break; case RNEXT_SAME: /* Continue scan on "(keypart1,keypart2,...)=(c1, c2, ...) */ - DBUG_ASSERT(table->file->inited == handler::INDEX); + assert(table->file->inited == handler::INDEX); error= table->file->ha_index_next_same(table->record[0], key, key_len); break; case RKEY: { - DBUG_ASSERT(m_key_name != 0); + assert(m_key_name != 0); KEY *keyinfo=table->key_info+keyno; KEY_PART_INFO *key_part=keyinfo->key_part; if (m_key_expr->elements > keyinfo->user_defined_key_parts) @@ -942,7 +942,7 @@ TABLE_LIST *hash_tables, *next; DBUG_ENTER("mysql_ha_rm_tables"); - DBUG_ASSERT(tables); + assert(tables); hash_tables= mysql_ha_find(thd, tables); diff -Nru mysql-5.7-5.7.33/sql/sql_handler.h mysql-5.7-5.7.34/sql/sql_handler.h --- mysql-5.7-5.7.33/sql/sql_handler.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_handler.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_help.cc mysql-5.7-5.7.34/sql/sql_help.cc --- mysql-5.7-5.7.33/sql/sql_help.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_help.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_help.h mysql-5.7-5.7.34/sql/sql_help.h --- mysql-5.7-5.7.33/sql/sql_help.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_help.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_hints.yy mysql-5.7-5.7.34/sql/sql_hints.yy --- mysql-5.7-5.7.33/sql/sql_hints.yy 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_hints.yy 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_hints.yy.cc mysql-5.7-5.7.34/sql/sql_hints.yy.cc --- mysql-5.7-5.7.33/sql/sql_hints.yy.cc 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_hints.yy.cc 2021-03-26 07:08:18.000000000 +0000 @@ -68,7 +68,7 @@ /* Copy the first part of user declarations. */ -#line 28 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:339 */ +#line 28 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:339 */ #include "sql_class.h" #include "parse_tree_hints.h" @@ -77,7 +77,7 @@ #define NEW_PTN new (thd->mem_root) -#line 81 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:339 */ +#line 81 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -97,8 +97,8 @@ /* In a future release of Bison, this section will be replaced by #include "sql_hints.yy.h". */ -#ifndef YY_HINT_PARSER_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED -# define YY_HINT_PARSER_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED +#ifndef YY_HINT_PARSER_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED +# define YY_HINT_PARSER_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -168,11 +168,11 @@ int HINT_PARSER_parse (class THD *thd, class Hint_scanner *scanner, class PT_hint_list **ret); -#endif /* !YY_HINT_PARSER_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED */ +#endif /* !YY_HINT_PARSER_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED */ /* Copy the second part of user declarations. */ -#line 176 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:358 */ +#line 176 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:358 */ #ifdef short # undef short @@ -1331,44 +1331,44 @@ switch (yyn) { case 2: -#line 126 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 126 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { *ret= (yyvsp[-1].hint_list); } -#line 1337 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1337 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 3: -#line 128 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 128 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { *ret= (yyvsp[-2].hint_list); } -#line 1343 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1343 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 4: -#line 130 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 130 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { *ret= NULL; } -#line 1349 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1349 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 5: -#line 135 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 135 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_list)= NEW_PTN PT_hint_list(thd->mem_root); if ((yyval.hint_list) == NULL || (yyval.hint_list)->push_back((yyvsp[0].hint))) YYABORT; // OOM } -#line 1359 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1359 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 6: -#line 141 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 141 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyvsp[-1].hint_list)->push_back((yyvsp[0].hint)); (yyval.hint_list)= (yyvsp[-1].hint_list); } -#line 1368 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1368 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 12: -#line 158 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 158 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { int error; char *end= const_cast((yyvsp[-1].hint_string).str + (yyvsp[-1].hint_string).length); @@ -1386,345 +1386,345 @@ YYABORT; // OOM } } -#line 1390 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1390 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 13: -#line 179 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 179 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_param_table_list).init(thd->mem_root); } -#line 1396 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1396 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 15: -#line 185 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 185 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_param_table_list).init(thd->mem_root); if ((yyval.hint_param_table_list).push_back((yyvsp[0].hint_param_table))) YYABORT; // OOM } -#line 1406 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1406 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 16: -#line 191 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 191 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].hint_param_table_list).push_back((yyvsp[0].hint_param_table))) YYABORT; // OOM (yyval.hint_param_table_list)= (yyvsp[-2].hint_param_table_list); } -#line 1416 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1416 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 17: -#line 199 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 199 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_param_table_list).init(thd->mem_root); } -#line 1422 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1422 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 19: -#line 205 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 205 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_param_table_list).init(thd->mem_root); if ((yyval.hint_param_table_list).push_back((yyvsp[0].hint_param_table))) YYABORT; // OOM } -#line 1432 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1432 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 20: -#line 211 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 211 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].hint_param_table_list).push_back((yyvsp[0].hint_param_table))) YYABORT; // OOM (yyval.hint_param_table_list)= (yyvsp[-2].hint_param_table_list); } -#line 1442 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1442 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 21: -#line 219 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 219 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_param_index_list).init(thd->mem_root); } -#line 1448 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1448 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 23: -#line 225 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 225 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_param_index_list).init(thd->mem_root); if ((yyval.hint_param_index_list).push_back((yyvsp[0].hint_string))) YYABORT; // OOM } -#line 1458 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1458 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 24: -#line 231 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 231 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].hint_param_index_list).push_back((yyvsp[0].hint_string))) YYABORT; // OOM (yyval.hint_param_index_list)= (yyvsp[-2].hint_param_index_list); } -#line 1468 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1468 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 26: -#line 244 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 244 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_param_table).table= (yyvsp[0].hint_string); (yyval.hint_param_table).opt_query_block= NULL_CSTR; } -#line 1477 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1477 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 27: -#line 252 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 252 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_param_table).table= (yyvsp[-1].hint_string); (yyval.hint_param_table).opt_query_block= (yyvsp[0].hint_string); } -#line 1486 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1486 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 29: -#line 261 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 261 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_param_table).table= (yyvsp[0].hint_string); (yyval.hint_param_table).opt_query_block= (yyvsp[-1].hint_string); } -#line 1495 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1495 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 30: -#line 268 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 268 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_string)= NULL_CSTR; } -#line 1501 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1501 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 32: -#line 274 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 274 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint)= NEW_PTN PT_qb_level_hint((yyvsp[-2].hint_string), TRUE, SEMIJOIN_HINT_ENUM, (yyvsp[-1].ulong_num)); if ((yyval.hint) == NULL) YYABORT; // OOM } -#line 1511 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1511 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 33: -#line 281 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 281 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint)= NEW_PTN PT_qb_level_hint((yyvsp[-2].hint_string), FALSE, SEMIJOIN_HINT_ENUM, (yyvsp[-1].ulong_num)); if ((yyval.hint) == NULL) YYABORT; // OOM } -#line 1521 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1521 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 34: -#line 288 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 288 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint)= NEW_PTN PT_qb_level_hint((yyvsp[-2].hint_string), TRUE, SUBQUERY_HINT_ENUM, (yyvsp[-1].ulong_num)); if ((yyval.hint) == NULL) YYABORT; // OOM } -#line 1531 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1531 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 35: -#line 296 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 296 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } -#line 1537 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1537 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 36: -#line 298 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 298 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[0].ulong_num); } -#line 1545 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1545 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 37: -#line 302 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 302 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[-2].ulong_num) | (yyvsp[0].ulong_num); } -#line 1553 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1553 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 38: -#line 308 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 308 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= OPTIMIZER_SWITCH_FIRSTMATCH; } -#line 1559 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1559 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 39: -#line 309 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 309 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= OPTIMIZER_SWITCH_LOOSE_SCAN; } -#line 1565 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1565 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 40: -#line 310 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 310 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= OPTIMIZER_SWITCH_MATERIALIZATION; } -#line 1571 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1571 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 41: -#line 311 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 311 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= OPTIMIZER_SWITCH_DUPSWEEDOUT; } -#line 1577 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1577 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 42: -#line 315 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 315 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= Item_exists_subselect::EXEC_MATERIALIZATION; } -#line 1584 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1584 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 43: -#line 317 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 317 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= Item_exists_subselect::EXEC_EXISTS; } -#line 1590 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1590 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 44: -#line 323 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 323 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint)= NEW_PTN PT_table_level_hint(NULL_CSTR, (yyvsp[-1].hint_param_table_list), TRUE, (yyvsp[-3].hint_type)); if ((yyval.hint) == NULL) YYABORT; // OOM } -#line 1600 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1600 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 45: -#line 330 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 330 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint)= NEW_PTN PT_table_level_hint((yyvsp[-2].hint_string), (yyvsp[-1].hint_param_table_list), TRUE, (yyvsp[-4].hint_type)); if ((yyval.hint) == NULL) YYABORT; // OOM } -#line 1610 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1610 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 46: -#line 336 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 336 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint)= NEW_PTN PT_table_level_hint(NULL_CSTR, (yyvsp[-1].hint_param_table_list), FALSE, (yyvsp[-3].hint_type)); if ((yyval.hint) == NULL) YYABORT; // OOM } -#line 1620 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1620 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 47: -#line 343 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 343 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint)= NEW_PTN PT_table_level_hint((yyvsp[-2].hint_string), (yyvsp[-1].hint_param_table_list), FALSE, (yyvsp[-4].hint_type)); if ((yyval.hint) == NULL) YYABORT; // OOM } -#line 1630 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1630 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 48: -#line 353 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 353 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint)= NEW_PTN PT_key_level_hint((yyvsp[-2].hint_param_table), (yyvsp[-1].hint_param_index_list), TRUE, (yyvsp[-4].hint_type)); if ((yyval.hint) == NULL) YYABORT; // OOM } -#line 1640 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1640 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 49: -#line 360 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 360 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint)= NEW_PTN PT_key_level_hint((yyvsp[-2].hint_param_table), (yyvsp[-1].hint_param_index_list), FALSE, (yyvsp[-4].hint_type)); if ((yyval.hint) == NULL) YYABORT; // OOM } -#line 1650 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1650 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 50: -#line 369 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 369 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_type)= BKA_HINT_ENUM; } -#line 1658 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1658 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 51: -#line 373 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 373 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_type)= BNL_HINT_ENUM; } -#line 1666 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1666 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 52: -#line 380 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 380 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_type)= BKA_HINT_ENUM; } -#line 1674 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1674 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 53: -#line 384 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 384 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_type)= BNL_HINT_ENUM; } -#line 1682 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1682 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 54: -#line 391 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 391 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_type)= MRR_HINT_ENUM; } -#line 1690 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1690 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 55: -#line 395 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 395 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_type)= NO_RANGE_HINT_ENUM; } -#line 1698 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1698 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 56: -#line 402 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 402 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_type)= ICP_HINT_ENUM; } -#line 1706 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1706 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 57: -#line 406 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 406 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint_type)= MRR_HINT_ENUM; } -#line 1714 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1714 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; case 58: -#line 413 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ +#line 413 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_hints.yy" /* yacc.c:1646 */ { (yyval.hint)= NEW_PTN PT_hint_qb_name((yyvsp[-1].hint_string)); if ((yyval.hint) == NULL) YYABORT; // OOM } -#line 1724 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1724 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ break; -#line 1728 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ +#line 1728 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_hints.yy.cc" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff -Nru mysql-5.7-5.7.33/sql/sql_hints.yy.h mysql-5.7-5.7.34/sql/sql_hints.yy.h --- mysql-5.7-5.7.33/sql/sql_hints.yy.h 2020-12-10 03:13:29.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_hints.yy.h 2021-03-26 07:08:18.000000000 +0000 @@ -30,8 +30,8 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -#ifndef YY_HINT_PARSER_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED -# define YY_HINT_PARSER_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED +#ifndef YY_HINT_PARSER_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED +# define YY_HINT_PARSER_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -101,4 +101,4 @@ int HINT_PARSER_parse (class THD *thd, class Hint_scanner *scanner, class PT_hint_list **ret); -#endif /* !YY_HINT_PARSER_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED */ +#endif /* !YY_HINT_PARSER_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_HINTS_YY_H_INCLUDED */ diff -Nru mysql-5.7-5.7.33/sql/sql_hset.h mysql-5.7-5.7.34/sql/sql_hset.h --- mysql-5.7-5.7.33/sql/sql_hset.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_hset.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef SQL_HSET_INCLUDED #define SQL_HSET_INCLUDED -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_initialize.cc mysql-5.7-5.7.34/sql/sql_initialize.cc --- mysql-5.7-5.7.33/sql/sql_initialize.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_initialize.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_initialize.h mysql-5.7-5.7.34/sql/sql_initialize.h --- mysql-5.7-5.7.33/sql/sql_initialize.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_initialize.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_insert.cc mysql-5.7-5.7.34/sql/sql_insert.cc --- mysql-5.7-5.7.33/sql/sql_insert.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_insert.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -85,7 +85,7 @@ view->view_db.str, view->view_name.str); return true; } - DBUG_ASSERT(*insert_table_ref && (*insert_table_ref)->is_insertable()); + assert(*insert_table_ref && (*insert_table_ref)->is_insertable()); return false; } @@ -119,13 +119,13 @@ { LEX *const lex= thd->lex; -#ifndef DBUG_OFF +#ifndef NDEBUG TABLE_LIST *const saved_insert_table_leaf= lex->insert_table_leaf; #endif TABLE *table= table_list->table; - DBUG_ASSERT(table_list->is_insertable()); + assert(table_list->is_insertable()); if (fields.elements == 0 && value_count_known && value_count > 0) { @@ -133,7 +133,7 @@ No field list supplied, but a value list has been supplied. Use field list of table being updated. */ - DBUG_ASSERT(table); // This branch is not reached with a view: + assert(table); // This branch is not reached with a view: lex->insert_table_leaf= table_list; @@ -219,8 +219,8 @@ return true; } - DBUG_ASSERT(saved_insert_table_leaf == NULL || - lex->insert_table_leaf == saved_insert_table_leaf); + assert(saved_insert_table_leaf == NULL || + lex->insert_table_leaf == saved_insert_table_leaf); return false; } @@ -244,7 +244,7 @@ Item *item; // A base table will always match the supplied map. - DBUG_ASSERT(view->is_view() || (view->table && map)); + assert(view->is_view() || (view->table && map)); if (!view->is_view()) // Ignore check if called with base table. return false; @@ -503,9 +503,9 @@ resolution context below is not necessary at all since the list of local tables for INSERT always consists of one table. */ - DBUG_ASSERT(!table_list->next_local); - DBUG_ASSERT(!context->table_list->next_local); - DBUG_ASSERT(!context->first_name_resolution_table->next_name_resolution_table); + assert(!table_list->next_local); + assert(!context->table_list->next_local); + assert(!context->first_name_resolution_table->next_name_resolution_table); /* Save the state of the current name resolution context. */ ctx_state.save_state(context, table_list); @@ -514,7 +514,7 @@ Perform name resolution only in the first table - 'table_list', which is the table that is inserted into. */ - DBUG_ASSERT(table_list->next_local == 0); + assert(table_list->next_local == 0); context->resolve_in_table_list_only(table_list); if (!is_locked && insert_table->part_info) @@ -647,7 +647,7 @@ { /* Get SQL thread's rli, even for a slave worker thread */ Relay_log_info* c_rli= thd->rli_slave->get_c_rli(); - DBUG_ASSERT(c_rli != NULL); + assert(c_rli != NULL); if(info.get_duplicate_handling() == DUP_UPDATE && insert_table->next_number_field != NULL && rpl_master_has_bug(c_rli, 24432, TRUE, NULL, NULL)) @@ -714,7 +714,7 @@ TRG_EVENT_INSERT, insert_table->s->fields)) { - DBUG_ASSERT(thd->is_error()); + assert(thd->is_error()); /* TODO: Convert warnings to errors if values_list.elements == 1 and check that all items return warning in case of problem with @@ -728,7 +728,7 @@ table_list); if (res) { - DBUG_ASSERT(thd->is_error()); + assert(thd->is_error()); error= 1; break; } @@ -760,7 +760,7 @@ TRG_EVENT_INSERT, insert_table->s->fields)) { - DBUG_ASSERT(thd->is_error()); + assert(thd->is_error()); error= 1; break; } @@ -862,7 +862,7 @@ routines did not result in any error due to the KILLED. In such case the flag is ignored for constructing binlog event. */ - DBUG_ASSERT(thd->killed != THD::KILL_BAD_DATA || error > 0); + assert(thd->killed != THD::KILL_BAD_DATA || error > 0); if (thd->binlog_query(THD::ROW_QUERY_TYPE, thd->query().str, thd->query().length, transactional_table, FALSE, FALSE, @@ -870,9 +870,9 @@ error= 1; } } - DBUG_ASSERT(transactional_table || !changed || - thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(transactional_table || !changed || + thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT)); } THD_STAGE_INFO(thd, stage_end); /* @@ -970,9 +970,9 @@ if (!used_fields_buff) DBUG_RETURN(true); /* purecov: inspected */ - DBUG_ASSERT(view->table == NULL && - table != NULL && - view->field_translation != 0); + assert(view->table == NULL && + table != NULL && + view->field_translation != 0); (void) bitmap_init(&used_fields, used_fields_buff, table->s->fields, 0); bitmap_clear_all(&used_fields); @@ -1171,7 +1171,7 @@ return; } - DBUG_ASSERT(tables->is_view()); + assert(tables->is_view()); List_iterator it(*tables->view_tables); TABLE_LIST *tbl; while ((tbl= it++)) @@ -1211,10 +1211,10 @@ DBUG_ENTER("mysql_prepare_insert"); // INSERT should have a SELECT or VALUES clause - DBUG_ASSERT (!select_insert || !values); + assert (!select_insert || !values); // Number of update fields must match number of update values - DBUG_ASSERT(insert_update_list.elements == insert_value_list.elements); + assert(insert_update_list.elements == insert_value_list.elements); LEX * const lex= thd->lex; SELECT_LEX *const select_lex= lex->select_lex; @@ -1272,13 +1272,13 @@ if (values) { // if we have INSERT ... VALUES () we cannot have a GROUP BY clause - DBUG_ASSERT (!select_lex->group_list.elements); + assert (!select_lex->group_list.elements); /* Perform name resolution only in the first table - 'table_list', which is the table that is inserted into. */ - DBUG_ASSERT(table_list->next_local == NULL); + assert(table_list->next_local == NULL); table_list->next_local= NULL; context->resolve_in_table_list_only(table_list); @@ -1391,7 +1391,7 @@ res= validate_gc_assignment(thd, &insert_update_list, &insert_value_list, lex->insert_table_leaf->table); - DBUG_ASSERT(!table_list->next_name_resolution_table); + assert(!table_list->next_name_resolution_table); if (select_lex->group_list.elements == 0 && !select_lex->with_sum_func) { /* @@ -1534,7 +1534,7 @@ if (duplicate_handling == DUP_REPLACE || duplicate_handling == DUP_UPDATE) { - DBUG_ASSERT(duplicate_handling != DUP_UPDATE || update != NULL); + assert(duplicate_handling != DUP_UPDATE || update != NULL); while ((error=table->file->ha_write_row(table->record[0]))) { uint key_nr; @@ -1581,14 +1581,14 @@ has value MAX_KEY as a marker for the case when no information about key can be found. In the last case we have to require that storage engine has the flag HA_DUPLICATE_POS turned on. - If this invariant is false then DBUG_ASSERT will crash + If this invariant is false then assert will crash the server built in debug mode. For the server that was built without DEBUG we have additional check for the value of key_nr in the code below in order to report about error in any case. */ - DBUG_ASSERT(key_nr != MAX_KEY || - (key_nr == MAX_KEY && - (table->file->ha_table_flags() & HA_DUPLICATE_POS))); + assert(key_nr != MAX_KEY || + (key_nr == MAX_KEY && + (table->file->ha_table_flags() & HA_DUPLICATE_POS))); DEBUG_SYNC(thd, "write_row_replace"); @@ -1661,7 +1661,7 @@ that matches, is updated. If update causes a conflict again, an error is returned */ - DBUG_ASSERT(table->insert_values != NULL); + assert(table->insert_values != NULL); /* The insert has failed, store the insert_id generated for this row to be re-used for the next insert. @@ -1679,8 +1679,8 @@ &mem_root)) goto before_trg_err; restore_record(table,record[1]); - DBUG_ASSERT(update->get_changed_columns()->elements == - update->update_values->elements); + assert(update->get_changed_columns()->elements == + update->update_values->elements); if (fill_record_n_invoke_before_triggers(thd, update, *update->get_changed_columns(), *update->update_values, @@ -1930,7 +1930,7 @@ { myf error_flags= MYF(0); /**< Flag for fatal errors */ info->last_errno= error; - DBUG_ASSERT(thd->lex->current_select() != NULL); + assert(thd->lex->current_select() != NULL); if (table->file->is_fatal_error(error)) error_flags|= ME_FATALERROR; @@ -2019,8 +2019,8 @@ exclude first table from leaf tables list, because it belong to INSERT */ - DBUG_ASSERT(select_lex->leaf_tables != NULL); - DBUG_ASSERT(lex->insert_table == select_lex->leaf_tables->top_table()); + assert(select_lex->leaf_tables != NULL); + assert(lex->insert_table == select_lex->leaf_tables->top_table()); select_lex->leaf_tables= lex->insert_table->next_local; if (select_lex->leaf_tables != NULL) @@ -2089,7 +2089,7 @@ We use next_name_resolution_table destructively, so check it first (views?). */ - DBUG_ASSERT (!table_list->next_name_resolution_table); + assert (!table_list->next_name_resolution_table); if (lex->select_lex->group_list.elements == 0 && !lex->select_lex->with_sum_func) { @@ -2171,7 +2171,7 @@ { /* Get SQL thread's rli, even for a slave worker thread */ Relay_log_info *c_rli= thd->rli_slave->get_c_rli(); - DBUG_ASSERT(c_rli != NULL); + assert(c_rli != NULL); if (duplicate_handling == DUP_UPDATE && table->next_number_field != NULL && rpl_master_has_bug(c_rli, 24432, TRUE, NULL, NULL)) @@ -2227,7 +2227,7 @@ if (thd->locked_tables_mode <= LTM_LOCK_TABLES && !thd->lex->describe) { - DBUG_ASSERT(!bulk_insert_started); + assert(!bulk_insert_started); // TODO: Is there no better estimation than 0 == Unknown number of rows? table->file->ha_start_bulk_insert((ha_rows) 0); bulk_insert_started= true; @@ -2242,7 +2242,7 @@ Query_result_insert/Query_result_create are never re-used in prepared statement */ - DBUG_ASSERT(0); + assert(0); } @@ -2385,9 +2385,9 @@ query_cache.invalidate(thd, table, TRUE); } - DBUG_ASSERT(trans_table || !changed || - thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(trans_table || !changed || + thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT)); /* Write to binlog before commiting transaction. No statement will @@ -2508,9 +2508,9 @@ if (changed) query_cache.invalidate(thd, table, TRUE); } - DBUG_ASSERT(transactional_table || !changed || - thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(transactional_table || !changed || + thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT)); table->file->ha_release_auto_increment(); } @@ -2650,7 +2650,7 @@ } } - DBUG_ASSERT(tmp_table_field->gcol_info== NULL && tmp_table_field->stored_in_db); + assert(tmp_table_field->gcol_info== NULL && tmp_table_field->stored_in_db); Create_field *cr_field= new Create_field(tmp_table_field, table_field); if (!cr_field) @@ -2712,7 +2712,7 @@ it preparable for open. Anyway we can't drop temporary table if we are unable to fint it. */ - DBUG_ASSERT(0); + assert(0); } else { @@ -2743,7 +2743,7 @@ DBUG_ENTER("Query_result_create::prepare"); unit= u; - DBUG_ASSERT(create_table->table == NULL); + assert(create_table->table == NULL); DEBUG_SYNC(thd,"create_table_select_before_check_if_exists"); @@ -2878,7 +2878,7 @@ } if (extra_lock) { - DBUG_ASSERT(m_plock == NULL); + assert(m_plock == NULL); if (create_info->options & HA_LEX_CREATE_TMP_TABLE) m_plock= &m_lock; @@ -2960,8 +2960,8 @@ schema that will do a close_thread_tables(), destroying the statement transaction cache. */ - DBUG_ASSERT(thd->is_current_stmt_binlog_format_row()); - DBUG_ASSERT(tables && *tables && count > 0); + assert(thd->is_current_stmt_binlog_format_row()); + assert(tables && *tables && count > 0); char buf[2048]; String query(buf, sizeof(buf), system_charset_info); @@ -2973,7 +2973,7 @@ result= store_create_info(thd, &tmp_table_list, &query, create_info, /* show_database */ TRUE); - DBUG_ASSERT(result == 0); /* store_create_info() always return 0 */ + assert(result == 0); /* store_create_info() always return 0 */ if (mysql_bin_log.is_open()) { @@ -3115,8 +3115,8 @@ bool Sql_cmd_insert::execute(THD *thd) { - DBUG_ASSERT(thd->lex->sql_command == SQLCOM_REPLACE || - thd->lex->sql_command == SQLCOM_INSERT); + assert(thd->lex->sql_command == SQLCOM_REPLACE || + thd->lex->sql_command == SQLCOM_INSERT); bool res= false; LEX *const lex= thd->lex; @@ -3161,9 +3161,9 @@ const char act[]= "now " "wait_for signal.continue"; - DBUG_ASSERT(opt_debug_sync_timeout > 0); - DBUG_ASSERT(!debug_sync_set_action(current_thd, - STRING_WITH_LEN(act))); + assert(opt_debug_sync_timeout > 0); + assert(!debug_sync_set_action(current_thd, + STRING_WITH_LEN(act))); };); thd->lex->clear_values_map(); @@ -3173,8 +3173,8 @@ bool Sql_cmd_insert_select::execute(THD *thd) { - DBUG_ASSERT(thd->lex->sql_command == SQLCOM_REPLACE_SELECT || - thd->lex->sql_command == SQLCOM_INSERT_SELECT); + assert(thd->lex->sql_command == SQLCOM_REPLACE_SELECT || + thd->lex->sql_command == SQLCOM_INSERT_SELECT); bool res= false; LEX *const lex= thd->lex; diff -Nru mysql-5.7-5.7.33/sql/sql_insert.h mysql-5.7-5.7.34/sql/sql_insert.h --- mysql-5.7-5.7.33/sql/sql_insert.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_insert.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -127,9 +127,9 @@ update_values), insert_into_view(table_list_par && table_list_par->is_view()) { - DBUG_ASSERT(target_or_source_columns != NULL); - DBUG_ASSERT(target_columns == target_or_source_columns || - target_columns == NULL); + assert(target_or_source_columns != NULL); + assert(target_columns == target_or_source_columns || + target_columns == NULL); } diff -Nru mysql-5.7-5.7.33/sql/sql_join_buffer.cc mysql-5.7-5.7.34/sql/sql_join_buffer.cc --- mysql-5.7-5.7.33/sql/sql_join_buffer.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_join_buffer.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -515,7 +515,7 @@ static void filter_gcol_for_dynamic_range_scan(QEP_TAB *const tab) { TABLE *table= tab->table(); - DBUG_ASSERT(tab->dynamic_range() && table->vfield); + assert(tab->dynamic_range() && table->vfield); for (uint key= 0; key < table->s->keys; ++key) { @@ -566,7 +566,7 @@ void JOIN_CACHE::filter_virtual_gcol_base_cols() { - DBUG_ASSERT(save_read_set_for_gcol.size() == 0); + assert(save_read_set_for_gcol.size() == 0); for (QEP_TAB *tab= qep_tab - tables; tab < qep_tab; tab++) { TABLE *table= tab->table(); @@ -650,7 +650,7 @@ bitmap_copy(table->read_set, *save_read_set); save_read_set++; } - DBUG_ASSERT(save_read_set == save_read_set_for_gcol.end()); + assert(save_read_set == save_read_set_for_gcol.end()); } /* @@ -1103,7 +1103,7 @@ For DS-MRR to work, the sort buffer must have space to store the reference (or primary key) for at least one record. */ - DBUG_ASSERT(qep_tab->table()->file->stats.mrr_length_per_rec > 0); + assert(qep_tab->table()->file->stats.mrr_length_per_rec > 0); return qep_tab->table()->file->stats.mrr_length_per_rec; } @@ -1590,7 +1590,7 @@ uchar *prev_rec_ptr= prev_cache->get_rec_ref(rec_ptr); return prev_cache->get_match_flag_by_pos(prev_rec_ptr); } - DBUG_ASSERT(1); + assert(1); return FALSE; } @@ -1822,7 +1822,7 @@ bool JOIN_CACHE::skip_record_if_match() { - DBUG_ASSERT(with_match_flag && with_length); + assert(with_match_flag && with_length); uint offset= size_of_rec_len; if (prev_cache) offset+= prev_cache->get_size_of_rec_offset(); @@ -1915,7 +1915,7 @@ TABLE_LIST * const tr= qep_tab[- cnt].table_ref; const uint8 status= tr->table->status; const table_map map= tr->map(); - DBUG_ASSERT((status & (STATUS_DELETED | STATUS_UPDATED)) == 0); + assert((status & (STATUS_DELETED | STATUS_UPDATED)) == 0); if (status & STATUS_GARBAGE) saved_status_bits[0]|= map; if (status & STATUS_NOT_FOUND) @@ -1999,7 +1999,7 @@ if (skip_last) { - DBUG_ASSERT(!is_key_access()); + assert(!is_key_access()); /* Restore the last record from the join buffer to generate all extensions for it. @@ -2090,7 +2090,7 @@ put_record_in_cache(); // See setup_join_buffering(=: dynamic range => no cache. - DBUG_ASSERT(!(qep_tab->dynamic_range() && qep_tab->quick())); + assert(!(qep_tab->dynamic_range() && qep_tab->quick())); /* Start retrieving all records of the joined table */ if ((error= (*qep_tab->read_first_record)(qep_tab))) @@ -2211,7 +2211,7 @@ while (cache->qep_tab != first_inner) { cache= cache->prev_cache; - DBUG_ASSERT(cache); + assert(cache); rec_ptr= cache->get_rec_ref(rec_ptr); } if (rec_ptr[0] == 0) @@ -2393,7 +2393,7 @@ cnt= records - (is_key_access() ? 0 : MY_TEST(skip_last)); /* This function may be called only for inner tables of outer joins */ - DBUG_ASSERT(qep_tab->first_inner() != NO_PLAN_IDX); + assert(qep_tab->first_inner() != NO_PLAN_IDX); // Make sure that the rowid buffer is bound, duplicates weedout needs it if (qep_tab->copy_current_rowid && @@ -2589,7 +2589,7 @@ enum_nested_loop_state JOIN_CACHE_BKA::join_matching_records(bool skip_last) { /* The value of skip_last must be always FALSE when this function is called */ - DBUG_ASSERT(!skip_last); + assert(!skip_last); /* Return at once if there are no records in the join buffer */ if (!records) @@ -2678,7 +2678,7 @@ qep_tab->table()->reset_null_row(); /* Dynamic range access is never used with BKA */ - DBUG_ASSERT(!qep_tab->dynamic_range()); + assert(!qep_tab->dynamic_range()); init_mrr_buff(); @@ -2766,7 +2766,7 @@ return 0; /* Any record in a BKA cache is prepended with its length, which we need */ - DBUG_ASSERT(with_length); + assert(with_length); /* Read keys until find non-ignorable one or EOF. @@ -2802,7 +2802,7 @@ /* An embedded key is taken directly from the join buffer */ *key= pos; len= emb_key_length; - DBUG_ASSERT(len != 0); + assert(len != 0); } else { @@ -2818,12 +2818,12 @@ for (cache= prev_cache; key_arg_count; cache= cache->prev_cache) { uint len2= 0; - DBUG_ASSERT(cache); + assert(cache); rec_ptr= cache->get_rec_ref(rec_ptr); while (!cache->referenced_fields) { cache= cache->prev_cache; - DBUG_ASSERT(cache); + assert(cache); rec_ptr= cache->get_rec_ref(rec_ptr); } while (key_arg_count && @@ -2859,7 +2859,7 @@ cp_buffer_from_ref(join->thd, qep_tab->table(), ref); *key= ref->key_buff; len= ref->key_length; - DBUG_ASSERT(len != 0); + assert(len != 0); } } } @@ -3491,7 +3491,7 @@ JOIN_CACHE_BKA_UNIQUE::join_matching_records(bool skip_last) { /* The value of skip_last must be always FALSE when this function is called */ - DBUG_ASSERT(!skip_last); + assert(!skip_last); /* Return at once if there are no records in the join buffer */ if (!records) @@ -3634,7 +3634,7 @@ *key = use_emb_key ? get_emb_key(curr_key_entry) : curr_key_entry; - DBUG_ASSERT(*key >= buff && *key < hash_table); + assert(*key >= buff && *key < hash_table); return key_length; } diff -Nru mysql-5.7-5.7.33/sql/sql_join_buffer.h mysql-5.7-5.7.34/sql/sql_join_buffer.h --- mysql-5.7-5.7.33/sql/sql_join_buffer.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_join_buffer.h 2021-03-26 06:58:52.000000000 +0000 @@ -4,7 +4,7 @@ #include "sql_executor.h" #include "mem_root_array.h" -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -359,8 +359,8 @@ /* Shall calculate how much space is remaining in the join buffer */ virtual ulong rem_space() { - DBUG_ASSERT(end_pos >= buff); - DBUG_ASSERT(buff_size >= ulong(end_pos - buff)); + assert(end_pos >= buff); + assert(buff_size >= ulong(end_pos - buff)); return ulong(buff_size - (end_pos - buff) - aux_buff_size); } @@ -831,9 +831,9 @@ */ ulong rem_space() { - DBUG_ASSERT(last_key_entry >= end_pos); - DBUG_ASSERT(buff_size >= aux_buff_size); - DBUG_ASSERT(ulong(last_key_entry - end_pos) >= aux_buff_size); + assert(last_key_entry >= end_pos); + assert(buff_size >= aux_buff_size); + assert(ulong(last_key_entry - end_pos) >= aux_buff_size); return ulong(last_key_entry - end_pos - aux_buff_size); } diff -Nru mysql-5.7-5.7.33/sql/sql_lex.cc mysql-5.7-5.7.34/sql/sql_lex.cc --- mysql-5.7-5.7.33/sql/sql_lex.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_lex.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -269,8 +269,8 @@ void Lex_input_stream::body_utf8_start(THD *thd, const char *begin_ptr) { - DBUG_ASSERT(begin_ptr); - DBUG_ASSERT(m_cpp_buf <= begin_ptr && begin_ptr <= m_cpp_buf + m_buf_length); + assert(begin_ptr); + assert(m_cpp_buf <= begin_ptr && begin_ptr <= m_cpp_buf + m_buf_length); size_t body_utf8_length= (m_buf_length / thd->variables.character_set_client->mbminlen) * @@ -307,8 +307,8 @@ void Lex_input_stream::body_utf8_append(const char *ptr, const char *end_ptr) { - DBUG_ASSERT(m_cpp_buf <= ptr && ptr <= m_cpp_buf + m_buf_length); - DBUG_ASSERT(m_cpp_buf <= end_ptr && end_ptr <= m_cpp_buf + m_buf_length); + assert(m_cpp_buf <= ptr && ptr <= m_cpp_buf + m_buf_length); + assert(m_cpp_buf <= end_ptr && end_ptr <= m_cpp_buf + m_buf_length); if (!m_body_utf8) return; @@ -512,7 +512,7 @@ thd->init_cost_model(); const bool status= lex->new_top_level_query(); - DBUG_ASSERT(lex->current_select() == NULL); + assert(lex->current_select() == NULL); lex->m_current_select= lex->select_lex; DBUG_RETURN(status); @@ -529,11 +529,7 @@ DBUG_PRINT("enter", ("lex: 0x%lx", (long) lex)); /* release used plugins */ - if (!lex->plugins.empty()) /* No function call and no mutex if no plugins. */ - { - plugin_unlock_list(0, lex->plugins.begin(), lex->plugins.size()); - } - lex->plugins.clear(); + lex->release_plugins(); delete lex->sphead; lex->sphead= NULL; @@ -542,6 +538,17 @@ } +void LEX::release_plugins() +{ + if (!plugins.empty()) /* No function call and no mutex if no plugins. */ + { + plugin_unlock_list(0, plugins.begin(), plugins.size()); + plugins.clear(); + } +} + + + st_select_lex *LEX::new_empty_query_block() { st_select_lex *select= @@ -632,7 +639,7 @@ else if (select->outer_select()->parsing_place == CTX_DERIVED) { // Currently, outer references are not allowed for a derived table - DBUG_ASSERT(select->context.outer_context == NULL); + assert(select->context.outer_context == NULL); } else { @@ -663,7 +670,7 @@ { DBUG_ENTER("LEX::new_union_query"); - DBUG_ASSERT(unit != NULL && select_lex != NULL); + assert(unit != NULL && select_lex != NULL); // Is this the outer-most query expression? bool const outer_most= curr_select->master_unit() == unit; @@ -738,11 +745,11 @@ DBUG_ENTER("LEX::new_top_level_query"); // Assure that the LEX does not contain any query expression already - DBUG_ASSERT(unit == NULL && - select_lex == NULL); + assert(unit == NULL && + select_lex == NULL); // Check for the special situation when using INTO OUTFILE and LOAD DATA. - DBUG_ASSERT(result == 0); + assert(result == 0); select_lex= new_query(NULL); if (select_lex == NULL) @@ -776,7 +783,7 @@ reset(); - DBUG_ASSERT(unit == NULL && select_lex == NULL && current_select() == NULL); + assert(unit == NULL && select_lex == NULL && current_select() == NULL); select->parent_lex= this; @@ -909,7 +916,7 @@ bool is_keyword(const char *name, size_t len) { - DBUG_ASSERT(len != 0); + assert(len != 0); return Lex_hash::sql_keywords.get_hash_symbol(name, len) != NULL; } @@ -925,7 +932,7 @@ bool is_lex_native_function(const LEX_STRING *name) { - DBUG_ASSERT(name != NULL); + assert(name != NULL); return Lex_hash::sql_keywords_and_funcs.get_hash_symbol(name->str, (uint) name->length) != NULL; } @@ -1036,7 +1043,7 @@ /* Extract the text from the token */ str += pre_skip; end -= post_skip; - DBUG_ASSERT(end >= str); + assert(end >= str); if (!(start= static_cast(lip->m_thd->alloc((uint) (end-str)+1)))) return (char*) ""; // Sql_alloc has set error flag @@ -1112,7 +1119,7 @@ uint Lex_input_stream::get_lineno(const char *raw_ptr) { - DBUG_ASSERT(m_buf <= raw_ptr && raw_ptr < m_end_of_query); + assert(m_buf <= raw_ptr && raw_ptr < m_end_of_query); if (!(m_buf <= raw_ptr && raw_ptr < m_end_of_query)) return 1; @@ -1239,8 +1246,8 @@ bool consume_comment(Lex_input_stream *lip, int remaining_recursions_permitted) { // only one level of nested comments are allowed - DBUG_ASSERT(remaining_recursions_permitted == 0 || - remaining_recursions_permitted == 1); + assert(remaining_recursions_permitted == 0 || + remaining_recursions_permitted == 1); uchar c; while (! lip->eof()) { @@ -2200,7 +2207,7 @@ break; default: /* Subquery can't happen outside of those ^. */ - DBUG_ASSERT(false); /* purecov: inspected */ + assert(false); /* purecov: inspected */ break; } } @@ -2554,7 +2561,7 @@ { fix_fields_successful= !offset_limit->fix_fields(master->thd, NULL); - DBUG_ASSERT(fix_fields_successful); + assert(fix_fields_successful); } val= fix_fields_successful ? offset_limit->val_uint() : HA_POS_ERROR; } @@ -2591,7 +2598,7 @@ 1) it does not affect other items; 2) it does not fail. - Nevertheless DBUG_ASSERT was added to catch future changes in + Nevertheless assert was added to catch future changes in fix_fields() implementation. Also added runtime check against a result of fix_fields() in order to handle error condition in non-debug build. */ @@ -2600,7 +2607,7 @@ { fix_fields_successful= !select_limit->fix_fields(master->thd, NULL); - DBUG_ASSERT(fix_fields_successful); + assert(fix_fields_successful); } val= fix_fields_successful ? select_limit->val_uint() : HA_POS_ERROR; } @@ -2977,7 +2984,7 @@ } } } - DBUG_ASSERT(tables_to_print >= 1); + assert(tables_to_print >= 1); print_table_array(thd, str, table, table + tables_to_print, query_type); } @@ -3172,8 +3179,8 @@ be completely cleaned till the end of the query. This is valid only for explainable commands. */ - DBUG_ASSERT(!(master_unit()->cleaned == SELECT_LEX_UNIT::UC_CLEAN && - is_explainable_query(thd->lex->sql_command))); + assert(!(master_unit()->cleaned == SELECT_LEX_UNIT::UC_CLEAN && + is_explainable_query(thd->lex->sql_command))); /* First add options */ if (active_options() & SELECT_STRAIGHT_JOIN) @@ -3201,7 +3208,7 @@ case SQL_CACHE_UNSPECIFIED: break; default: - DBUG_ASSERT(0); + assert(0); } //Item List @@ -3685,7 +3692,7 @@ { if (sphead) { - DBUG_ASSERT(sphead->m_db.str && sphead->m_db.length); + assert(sphead->m_db.str && sphead->m_db.length); /* It is safe to assign the string by-pointer, both sphead and its statements reside in the same memory root. @@ -3706,7 +3713,7 @@ */ void st_select_lex_unit::set_limit(st_select_lex *sl) { - DBUG_ASSERT(!thd->stmt_arena->is_stmt_prepare()); + assert(!thd->stmt_arena->is_stmt_prepare()); offset_limit_cnt= sl->get_offset(); select_limit_cnt= sl->get_limit(); @@ -4310,7 +4317,7 @@ */ void st_select_lex::include_down(LEX *lex, st_select_lex_unit *outer) { - DBUG_ASSERT(slave == NULL); + assert(slave == NULL); if ((next= outer->slave)) next->prev= &next; @@ -4476,7 +4483,7 @@ join->optimized is true => conditions are ready for reading. So if we are here, this should hold: */ - DBUG_ASSERT(!(join && join->is_optimized())); + assert(!(join && join->is_optimized())); if (m_where_cond && !thd->stmt_arena->is_conventional()) { *new_where= m_where_cond->copy_andor_structure(thd); @@ -4602,15 +4609,15 @@ bool st_select_lex::validate_base_options(LEX *lex, ulonglong options_arg) const { - DBUG_ASSERT(!(options_arg & ~(SELECT_STRAIGHT_JOIN | - SELECT_HIGH_PRIORITY | - SELECT_DISTINCT | - SELECT_ALL | - SELECT_SMALL_RESULT | - SELECT_BIG_RESULT | - OPTION_BUFFER_RESULT | - OPTION_FOUND_ROWS | - OPTION_TO_QUERY_CACHE))); + assert(!(options_arg & ~(SELECT_STRAIGHT_JOIN | + SELECT_HIGH_PRIORITY | + SELECT_DISTINCT | + SELECT_ALL | + SELECT_SMALL_RESULT | + SELECT_BIG_RESULT | + OPTION_BUFFER_RESULT | + OPTION_FOUND_ROWS | + OPTION_TO_QUERY_CACHE))); if (options_arg & SELECT_DISTINCT && options_arg & SELECT_ALL) @@ -4682,7 +4689,7 @@ my_error(ER_CANT_USE_OPTION_HERE, MYF(0), "SQL_NO_CACHE"); return true; } - DBUG_ASSERT(pc->select->sql_cache == SELECT_LEX::SQL_CACHE_UNSPECIFIED); + assert(pc->select->sql_cache == SELECT_LEX::SQL_CACHE_UNSPECIFIED); lex->safe_to_cache_query= false; options&= ~OPTION_TO_QUERY_CACHE; pc->select->sql_cache= SELECT_LEX::SQL_NO_CACHE; @@ -4693,13 +4700,13 @@ my_error(ER_CANT_USE_OPTION_HERE, MYF(0), "SQL_CACHE"); return true; } - DBUG_ASSERT(pc->select->sql_cache == SELECT_LEX::SQL_CACHE_UNSPECIFIED); + assert(pc->select->sql_cache == SELECT_LEX::SQL_CACHE_UNSPECIFIED); lex->safe_to_cache_query= true; options|= OPTION_TO_QUERY_CACHE; pc->select->sql_cache= SELECT_LEX::SQL_CACHE; break; default: - DBUG_ASSERT(!"Unexpected cache option!"); + assert(!"Unexpected cache option!"); } if (pc->select->validate_base_options(lex, options)) return true; diff -Nru mysql-5.7-5.7.33/sql/sql_lex.h mysql-5.7-5.7.34/sql/sql_lex.h --- mysql-5.7-5.7.33/sql/sql_lex.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_lex.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -703,7 +703,7 @@ void set_explain_marker(enum_parsing_context m); void set_explain_marker_from(const st_select_lex_unit *u); -#ifndef DBUG_OFF +#ifndef NDEBUG /** Asserts that none of {this unit and its children units} is fully cleaned up. @@ -735,8 +735,8 @@ Ref_ptr_array ref_ptr_array_slice(size_t slice_num) { size_t slice_sz= ref_pointer_array.size() / 5U; - DBUG_ASSERT(ref_pointer_array.size() % 5 == 0); - DBUG_ASSERT(slice_num < 5U); + assert(ref_pointer_array.size() % 5 == 0); + assert(slice_num < 5U); return Ref_ptr_array(&ref_pointer_array[slice_num * slice_sz], slice_sz); } @@ -757,7 +757,7 @@ DBUG_EXECUTE_IF("no_const_tables", options_arg|= OPTION_NO_CONST_TABLES;); // Make sure we do not overwrite options by accident - DBUG_ASSERT(m_base_options == 0 && m_active_options == 0); + assert(m_base_options == 0 && m_active_options == 0); m_base_options= options_arg; m_active_options= options_arg; } @@ -765,7 +765,7 @@ /// Add base options to a query block, also update active options void add_base_options(ulonglong options) { - DBUG_ASSERT(first_execution); + assert(first_execution); m_base_options|= options; m_active_options|= options; } @@ -777,7 +777,7 @@ */ void remove_base_options(ulonglong options) { - DBUG_ASSERT(first_execution); + assert(first_execution); m_base_options&= ~options; m_active_options&= ~options; } @@ -1228,7 +1228,7 @@ void set_lock_for_tables(thr_lock_type lock_type); inline void init_order() { - DBUG_ASSERT(order_list.elements == 0); + assert(order_list.elements == 0); order_list.elements= 0; order_list.first= 0; order_list.next= &order_list.first; @@ -2155,7 +2155,7 @@ */ inline void set_stmt_unsafe(enum_binlog_stmt_unsafe unsafe_type) { DBUG_ENTER("set_stmt_unsafe"); - DBUG_ASSERT(unsafe_type >= 0 && unsafe_type < BINLOG_STMT_UNSAFE_COUNT); + assert(unsafe_type >= 0 && unsafe_type < BINLOG_STMT_UNSAFE_COUNT); binlog_stmt_flags|= (1U << unsafe_type); DBUG_VOID_RETURN; } @@ -2170,7 +2170,7 @@ */ inline void set_stmt_unsafe_flags(uint32 flags) { DBUG_ENTER("set_stmt_unsafe_flags"); - DBUG_ASSERT((flags & ~BINLOG_STMT_UNSAFE_ALL_FLAGS) == 0); + assert((flags & ~BINLOG_STMT_UNSAFE_ALL_FLAGS) == 0); binlog_stmt_flags|= flags; DBUG_VOID_RETURN; } @@ -2265,7 +2265,7 @@ STMT_ACCESS_TABLE_COUNT }; -#ifndef DBUG_OFF +#ifndef NDEBUG static inline const char *stmt_accessed_table_string(enum_stmt_accessed_table accessed_table) { switch (accessed_table) @@ -2296,7 +2296,7 @@ break; case STMT_ACCESS_TABLE_COUNT: default: - DBUG_ASSERT(0); + assert(0); break; } MY_ASSERT_UNREACHABLE(); @@ -2331,7 +2331,7 @@ { DBUG_ENTER("LEX::set_stmt_accessed_table"); - DBUG_ASSERT(accessed_table >= 0 && accessed_table < STMT_ACCESS_TABLE_COUNT); + assert(accessed_table >= 0 && accessed_table < STMT_ACCESS_TABLE_COUNT); stmt_accessed_table_flag |= (1U << accessed_table); DBUG_VOID_RETURN; @@ -2352,7 +2352,7 @@ { DBUG_ENTER("LEX::stmt_accessed_table"); - DBUG_ASSERT(accessed_table >= 0 && accessed_table < STMT_ACCESS_TABLE_COUNT); + assert(accessed_table >= 0 && accessed_table < STMT_ACCESS_TABLE_COUNT); DBUG_RETURN((stmt_accessed_table_flag & (1U << accessed_table)) != 0); } @@ -2388,7 +2388,7 @@ unsafe= (binlog_unsafe_map[stmt_accessed_table_flag] & condition); -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) DBUG_PRINT("LEX::is_mixed_stmt_unsafe", ("RESULT %02X %02X %02X\n", condition, binlog_unsafe_map[stmt_accessed_table_flag], (binlog_unsafe_map[stmt_accessed_table_flag] & condition))); @@ -2575,7 +2575,7 @@ */ void skip_binary(int n) { - DBUG_ASSERT(m_ptr + n <= m_end_of_query); + assert(m_ptr + n <= m_end_of_query); if (m_echo) { memcpy(m_cpp_ptr, m_ptr, n); @@ -2590,7 +2590,7 @@ */ unsigned char yyGet() { - DBUG_ASSERT(m_ptr <= m_end_of_query); + assert(m_ptr <= m_end_of_query); char c= *m_ptr++; if (m_echo) *m_cpp_ptr++ = c; @@ -2611,7 +2611,7 @@ */ unsigned char yyPeek() { - DBUG_ASSERT(m_ptr <= m_end_of_query); + assert(m_ptr <= m_end_of_query); return m_ptr[0]; } @@ -2621,7 +2621,7 @@ */ unsigned char yyPeekn(int n) { - DBUG_ASSERT(m_ptr + n <= m_end_of_query); + assert(m_ptr + n <= m_end_of_query); return m_ptr[n]; } @@ -2642,7 +2642,7 @@ */ void yySkip() { - DBUG_ASSERT(m_ptr <= m_end_of_query); + assert(m_ptr <= m_end_of_query); if (m_echo) *m_cpp_ptr++ = *m_ptr++; else @@ -2655,7 +2655,7 @@ */ void yySkipn(int n) { - DBUG_ASSERT(m_ptr + n <= m_end_of_query); + assert(m_ptr + n <= m_end_of_query); if (m_echo) { memcpy(m_cpp_ptr, m_ptr, n); @@ -2791,7 +2791,7 @@ The assumption is that the lexical analyser is always 1 character ahead, which the -1 account for. */ - DBUG_ASSERT(m_ptr > m_tok_start); + assert(m_ptr > m_tok_start); return (uint) ((m_ptr - m_tok_start) - 1); } @@ -3010,8 +3010,8 @@ { // (2) Only owning thread could change m_current_select // (1) bypass for bootstrap and "new THD" - DBUG_ASSERT(!current_thd || !thd || //(1) - thd == current_thd); //(2) + assert(!current_thd || !thd || //(1) + thd == current_thd); //(2) m_current_select= select; } /// @return true if this is an EXPLAIN statement @@ -3523,12 +3523,14 @@ */ if (select_lex == all_selects_list && !sroutines.records) { - DBUG_ASSERT(!all_selects_list->next_select_in_list()); + assert(!all_selects_list->next_select_in_list()); return TRUE; } return FALSE; } + void release_plugins(); + bool accept(Select_lex_visitor *visitor); }; diff -Nru mysql-5.7-5.7.33/sql/sql_lex_hash.cc mysql-5.7-5.7.34/sql/sql_lex_hash.cc --- mysql-5.7-5.7.33/sql/sql_lex_hash.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_lex_hash.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_lex_hash.h mysql-5.7-5.7.34/sql/sql_lex_hash.h --- mysql-5.7-5.7.33/sql/sql_lex_hash.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_lex_hash.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_lex_hints.cc mysql-5.7-5.7.34/sql/sql_lex_hints.cc --- mysql-5.7-5.7.33/sql/sql_lex_hints.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_lex_hints.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -163,7 +163,7 @@ case SUBQUERY_HINT: break; default: - DBUG_ASSERT(false); + assert(false); } add_digest(TOK_HINT_ADJUST(prev_token)); } diff -Nru mysql-5.7-5.7.33/sql/sql_lex_hints.h mysql-5.7-5.7.34/sql/sql_lex_hints.h --- mysql-5.7-5.7.33/sql/sql_lex_hints.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_lex_hints.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -150,8 +150,8 @@ template int scan_quoted_ident() { - DBUG_ASSERT(Quote == HINT_CHR_BACKQUOTE || Quote == HINT_CHR_DOUBLEQUOTE); - DBUG_ASSERT(*ptr == '`' || *ptr == '"'); + assert(Quote == HINT_CHR_BACKQUOTE || Quote == HINT_CHR_DOUBLEQUOTE); + assert(*ptr == '`' || *ptr == '"'); if (Quote == HINT_CHR_DOUBLEQUOTE && !is_ansi_quotes) return get_byte(); @@ -206,7 +206,7 @@ } else { - DBUG_ASSERT(0 < double_separators && double_separators < yyleng); + assert(0 < double_separators && double_separators < yyleng); s.length= yyleng - double_separators; s.str= (char *) thd->alloc(s.length); if (s.str == NULL) @@ -250,7 +250,7 @@ int scan_query_block_name() { - DBUG_ASSERT(*ptr == '@'); + assert(*ptr == '@'); skip_byte(); // skip '@' start_token(); @@ -295,7 +295,7 @@ keyword string since symbol array is a global constant). */ yytext= symbol->name; - DBUG_ASSERT(yyleng == symbol->length); + assert(yyleng == symbol->length); return symbol->tok; } @@ -326,13 +326,13 @@ bool eof() const { - DBUG_ASSERT(ptr <= input_buf_end); + assert(ptr <= input_buf_end); return ptr >= input_buf_end; } char peek_byte() const { - DBUG_ASSERT(!eof()); + assert(!eof()); return *ptr; } @@ -343,21 +343,21 @@ hint_lex_char_classes peek_class2() const { - DBUG_ASSERT(ptr + 1 <= input_buf_end); + assert(ptr + 1 <= input_buf_end); return ptr + 1 >= input_buf_end ? HINT_CHR_EOF : char_classes[static_cast(ptr[1])]; } void skip_newline() { - DBUG_ASSERT(!eof() && peek_byte() == '\n'); + assert(!eof() && peek_byte() == '\n'); skip_byte(); lineno++; } uchar get_byte() { - DBUG_ASSERT(!eof()); + assert(!eof()); char ret= *ptr; yyleng++; ptr++; @@ -366,7 +366,7 @@ void skip_byte() { - DBUG_ASSERT(!eof()); + assert(!eof()); yyleng++; ptr++; } @@ -395,7 +395,7 @@ template void compact(LEX_STRING *to, const char *from, size_t len, size_t doubles) { - DBUG_ASSERT(doubles > 0); + assert(doubles > 0); size_t d= doubles; char *t= to->str; @@ -405,14 +405,14 @@ case HINT_CHR_MB: { size_t len = my_ismbchar(cs, s, end); - DBUG_ASSERT(len > 1); + assert(len > 1); memcpy(t, s, len); t+= len; s+= len; } continue; case Separator: - DBUG_ASSERT(char_classes[(uchar) *s] == Separator); + assert(char_classes[(uchar) *s] == Separator); *t++= *s++; s++; //skip the 2nd separator d--; @@ -424,14 +424,14 @@ } continue; case HINT_CHR_EOF: - DBUG_ASSERT(0); + assert(0); to->length= 0; return; default: *t++= *s++; } } - DBUG_ASSERT(0); + assert(0); to->length= 0; return; } diff -Nru mysql-5.7-5.7.33/sql/sql_list.cc mysql-5.7-5.7.34/sql/sql_list.cc --- mysql-5.7-5.7.33/sql/sql_list.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_list.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_list.h mysql-5.7-5.7.34/sql/sql_list.h --- mysql-5.7-5.7.33/sql/sql_list.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_list.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef INCLUDES_MYSQL_SQL_LIST_H #define INCLUDES_MYSQL_SQL_LIST_H -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -467,7 +467,7 @@ inline void *replace(void *element) { // Return old element void *tmp=current->info; - DBUG_ASSERT(current->info != 0); + assert(current->info != 0); current->info=element; return tmp; } @@ -731,7 +731,7 @@ void move_elements_to(base_ilist *new_owner) { - DBUG_ASSERT(new_owner->is_empty()); + assert(new_owner->is_empty()); new_owner->first= first; new_owner->sentinel= sentinel; empty(); diff -Nru mysql-5.7-5.7.33/sql/sql_load.cc mysql-5.7-5.7.34/sql/sql_load.cc --- mysql-5.7-5.7.33/sql/sql_load.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_load.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -477,7 +477,7 @@ /* This is impossible and should never happen. */ - DBUG_ASSERT(FALSE); + assert(FALSE); #endif } else if (!is_secure_file_path(name)) @@ -722,10 +722,9 @@ /* ok to client sent only after binlog write and engine commit */ my_ok(thd, info.stats.copied + info.stats.deleted, 0L, name); err: - DBUG_ASSERT(table->file->has_transactions() || - !(info.stats.copied || info.stats.deleted) || - thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(table->file->has_transactions() || + !(info.stats.copied || info.stats.deleted) || + thd->get_transaction()->cannot_safely_rollback(Transaction_ctx::STMT)); table->file->ha_release_auto_increment(); table->auto_increment_field_not_null= FALSE; DBUG_RETURN(error); @@ -912,7 +911,7 @@ There is no variables in fields_vars list in this format so this conversion is safe (no need to check for STRING_ITEM). */ - DBUG_ASSERT(item->real_item()->type() == Item::FIELD_ITEM); + assert(item->real_item()->type() == Item::FIELD_ITEM); Item_field *sql_field= static_cast(item->real_item()); Field *field= sql_field->field; if (field == table->next_number_field) @@ -1115,7 +1114,7 @@ } else if (item->type() == Item::STRING_ITEM) { - DBUG_ASSERT(NULL != dynamic_cast(item)); + assert(NULL != dynamic_cast(item)); ((Item_user_var_as_out_param *)item)->set_null_value( read_info.read_charset); } @@ -1134,7 +1133,7 @@ } else if (item->type() == Item::STRING_ITEM) { - DBUG_ASSERT(NULL != dynamic_cast(item)); + assert(NULL != dynamic_cast(item)); ((Item_user_var_as_out_param *)item)->set_value((char*) pos, length, read_info.read_charset); } @@ -1188,7 +1187,7 @@ } else if (item->type() == Item::STRING_ITEM) { - DBUG_ASSERT(NULL != dynamic_cast(item)); + assert(NULL != dynamic_cast(item)); ((Item_user_var_as_out_param *)item)->set_null_value( read_info.read_charset); } @@ -1291,7 +1290,7 @@ xmlit.rewind(); XML_TAG *tag= NULL; -#ifndef DBUG_OFF +#ifndef NDEBUG DBUG_PRINT("read_xml_field", ("skip_lines=%d", (int) skip_lines)); while ((tag= xmlit++)) { @@ -1348,7 +1347,7 @@ } else { - DBUG_ASSERT(NULL != dynamic_cast(item)); + assert(NULL != dynamic_cast(item)); ((Item_user_var_as_out_param *) item)->set_null_value(cs); } continue; @@ -1364,7 +1363,7 @@ } else { - DBUG_ASSERT(NULL != dynamic_cast(item)); + assert(NULL != dynamic_cast(item)); ((Item_user_var_as_out_param *) item)->set_value( (char *) tag->value.ptr(), tag->value.length(), cs); @@ -1404,7 +1403,7 @@ } else { - DBUG_ASSERT(NULL != dynamic_cast(item)); + assert(NULL != dynamic_cast(item)); ((Item_user_var_as_out_param *)item)->set_null_value(cs); } } @@ -1586,7 +1585,7 @@ { \ len= my_mbcharlen_2((cs), (chr), chr1); \ /* Character is gb18030 or invalid (len = 0) */ \ - DBUG_ASSERT(len == 0 || len == 2 || len == 4); \ + assert(len == 0 || len == 2 || len == 4); \ } \ if (len != 0) \ PUSH(chr1); \ diff -Nru mysql-5.7-5.7.33/sql/sql_load.h mysql-5.7-5.7.34/sql/sql_load.h --- mysql-5.7-5.7.33/sql/sql_load.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_load.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_locale.cc mysql-5.7-5.7.34/sql/sql_locale.cc --- mysql-5.7-5.7.33/sql/sql_locale.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_locale.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -3459,7 +3459,7 @@ return NULL; locale= my_locales[number]; // Check that locale is on its correct position in the array - DBUG_ASSERT(locale == my_locales[locale->number]); + assert(locale == my_locales[locale->number]); return locale; } @@ -3484,7 +3484,7 @@ if ((locale= my_locale_by_name(my_locales, name))) { // Check that locale is on its correct position in the array - DBUG_ASSERT(locale == my_locales[locale->number]); + assert(locale == my_locales[locale->number]); return locale; } else if ((locale= my_locale_by_name(my_locales_deprecated, name))) diff -Nru mysql-5.7-5.7.33/sql/sql_locale.h mysql-5.7-5.7.34/sql/sql_locale.h --- mysql-5.7-5.7.33/sql/sql_locale.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_locale.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_manager.cc mysql-5.7-5.7.34/sql/sql_manager.cc --- mysql-5.7-5.7.33/sql/sql_manager.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_manager.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_manager.h mysql-5.7-5.7.34/sql/sql_manager.h --- mysql-5.7-5.7.33/sql/sql_manager.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_manager.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_opt_exec_shared.h mysql-5.7-5.7.34/sql/sql_opt_exec_shared.h --- mysql-5.7-5.7.33/sql/sql_opt_exec_shared.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_opt_exec_shared.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -154,7 +154,7 @@ bool has_guarded_conds() const { - DBUG_ASSERT(key_parts == 0 || cond_guards != NULL); + assert(key_parts == 0 || cond_guards != NULL); for (uint i = 0; i < key_parts; i++) { @@ -272,12 +272,12 @@ void set_join(JOIN *j) { m_join= j; } plan_idx idx() const { - DBUG_ASSERT(m_idx >= 0); // Index must be valid + assert(m_idx >= 0); // Index must be valid return m_idx; } void set_idx(plan_idx i) { - DBUG_ASSERT(m_idx == NO_PLAN_IDX); // Index should not change in lifetime + assert(m_idx == NO_PLAN_IDX); // Index should not change in lifetime m_idx= i; } TABLE *table() const { return m_table; } @@ -466,7 +466,7 @@ /// Instructs to share the QEP_shared with another owner void share_qs(QEP_shared_owner *other) { other->set_qs(m_qs); } - void set_qs(QEP_shared *q) { DBUG_ASSERT(!m_qs); m_qs= q; } + void set_qs(QEP_shared *q) { assert(!m_qs); m_qs= q; } // Getters/setters forwarding to QEP_shared: diff -Nru mysql-5.7-5.7.33/sql/sql_optimizer.cc mysql-5.7-5.7.34/sql/sql_optimizer.cc --- mysql-5.7-5.7.33/sql/sql_optimizer.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_optimizer.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -140,12 +140,12 @@ uint no_jbuf_after= UINT_MAX; DBUG_ENTER("JOIN::optimize"); - DBUG_ASSERT(select_lex->leaf_table_count == 0 || - thd->lex->is_query_tables_locked() || - select_lex == unit->fake_select_lex); - DBUG_ASSERT(tables == 0 && - primary_tables == 0 && - tables_list == (TABLE_LIST*)1); + assert(select_lex->leaf_table_count == 0 || + thd->lex->is_query_tables_locked() || + select_lex == unit->fake_select_lex); + assert(tables == 0 && + primary_tables == 0 && + tables_list == (TABLE_LIST*)1); // to prevent double initialization on EXPLAIN if (optimized) @@ -181,8 +181,8 @@ count_field_types(select_lex, &tmp_table_param, all_fields, false, false); - DBUG_ASSERT(tmp_table_param.sum_func_count == 0 || - group_list || implicit_grouping); + assert(tmp_table_param.sum_func_count == 0 || + group_list || implicit_grouping); if (select_lex->olap == ROLLUP_TYPE && optimize_rollup()) DBUG_RETURN(true); /* purecov: inspected */ @@ -589,8 +589,8 @@ DBUG_RETURN(true); if (tab->use_join_cache() != JOIN_CACHE::ALG_NONE) simple_sort= false; - DBUG_ASSERT(tab->type() != JT_FT || - tab->use_join_cache() == JOIN_CACHE::ALG_NONE); + assert(tab->type() != JT_FT || + tab->use_join_cache() == JOIN_CACHE::ALG_NONE); } if (!simple_sort) { @@ -722,7 +722,7 @@ setup_subq_exit: - DBUG_ASSERT(zero_result_cause != NULL); + assert(zero_result_cause != NULL); /* Even with zero matching rows, subqueries in the HAVING clause may need to be evaluated if there are aggregate functions in the @@ -887,7 +887,7 @@ void JOIN::set_plan_state(enum_plan_state plan_state_arg) { // A plan should not change to another plan: - DBUG_ASSERT(plan_state_arg == NO_PLAN || plan_state == NO_PLAN); + assert(plan_state_arg == NO_PLAN || plan_state == NO_PLAN); if (plan_state == NO_PLAN && plan_state_arg != NO_PLAN) { if (qep_tab != NULL) @@ -951,7 +951,7 @@ if (first_sj_inner() == NO_PLAN_IDX) return SJ_OPT_NONE; const uint s= join()->qep_tab[first_sj_inner()].position()->sj_strategy; - DBUG_ASSERT(s != SJ_OPT_NONE); + assert(s != SJ_OPT_NONE); return s; } @@ -973,14 +973,14 @@ switch (type()) { case JT_SYSTEM: - DBUG_ASSERT(ref().key == -1); + assert(ref().key == -1); return MAX_KEY; case JT_CONST: case JT_EQ_REF: case JT_REF_OR_NULL: case JT_REF: - DBUG_ASSERT(ref().key != -1); + assert(ref().key != -1); return uint(ref().key); case JT_INDEX_SCAN: @@ -988,7 +988,7 @@ return index(); case JT_INDEX_MERGE: - DBUG_ASSERT(quick()->index == MAX_KEY); + assert(quick()->index == MAX_KEY); return MAX_KEY; case JT_RANGE: @@ -997,7 +997,7 @@ case JT_ALL: default: // @todo Check why JT_UNKNOWN is a valid value here. - DBUG_ASSERT(type() == JT_ALL || type() == JT_UNKNOWN); + assert(type() == JT_ALL || type() == JT_UNKNOWN); return MAX_KEY; } } @@ -1009,7 +1009,7 @@ ASSERT_BEST_REF_IN_JOIN_ORDER(join()); JOIN_TAB *tab= join()->best_ref[first_sj_inner()]; uint s= tab->position()->sj_strategy; - DBUG_ASSERT(s != SJ_OPT_NONE); + assert(s != SJ_OPT_NONE); return s; } @@ -1026,7 +1026,7 @@ DBUG_RETURN(0); // Guaranteed by remove_redundant_subquery_clauses(): - DBUG_ASSERT(order == NULL && !select_distinct); + assert(order == NULL && !select_distinct); subselect_engine *engine= NULL; Item_in_subselect * const in_subs= @@ -1078,7 +1078,7 @@ if (first_qep_tab->table()->covering_keys.is_set(first_qep_tab->ref().key)) { - DBUG_ASSERT(!first_qep_tab->table()->no_keyread); + assert(!first_qep_tab->table()->no_keyread); first_qep_tab->table()->set_keyread(true); } // execution uses where_cond: @@ -1317,7 +1317,7 @@ ASSERT_BEST_REF_IN_JOIN_ORDER(this); JOIN_TAB *const tab= best_ref[const_tables]; - DBUG_ASSERT(ordered_index_usage == ordered_index_void); + assert(ordered_index_usage == ordered_index_void); if (group_list) // GROUP BY honoured first // (DISTINCT was rewritten to GROUP BY if skippable) @@ -1761,7 +1761,7 @@ class Plan_change_watchdog { -#ifndef DBUG_OFF +#ifndef NDEBUG public: /** @param tab_arg table whose access path is being determined @@ -1798,13 +1798,13 @@ if (tab == NULL) return; // changes are not allowed, we verify: - DBUG_ASSERT(tab->type() == type); - DBUG_ASSERT(tab->quick() == quick); - DBUG_ASSERT((quick == NULL) || tab->quick()->index == quick_index); - DBUG_ASSERT(tab->use_quick == use_quick); - DBUG_ASSERT(tab->ref().key == ref_key); - DBUG_ASSERT(tab->ref().key_parts == ref_key_parts); - DBUG_ASSERT(tab->index() == index); + assert(tab->type() == type); + assert(tab->quick() == quick); + assert((quick == NULL) || tab->quick()->index == quick_index); + assert(tab->use_quick == use_quick); + assert(tab->ref().key == ref_key); + assert(tab->ref().key_parts == ref_key_parts); + assert(tab->index() == index); } private: const JOIN_TAB *tab; ///< table, or NULL if changes are allowed @@ -1877,7 +1877,7 @@ DBUG_ENTER("test_if_skip_sort_order"); /* Check that we are always called with first non-const table */ - DBUG_ASSERT((uint)tab->idx() == join->const_tables); + assert((uint)tab->idx() == join->const_tables); Plan_change_watchdog watchdog(tab, no_changes); @@ -1932,9 +1932,9 @@ select_limit <= ft_func->get_count()) { /* test_if_ft_index_order() always returns master MATCH function. */ - DBUG_ASSERT(!ft_func->master); + assert(!ft_func->master); /* ref is not set since there is no WHERE condition */ - DBUG_ASSERT(tab->ref().key == -1); + assert(tab->ref().key == -1); /*Make EXPLAIN happy */ tab->set_type(JT_FT); @@ -1977,7 +1977,7 @@ /* Test if constant range in WHERE */ if (tab->type() == JT_REF) { - DBUG_ASSERT(tab->ref().key >= 0 && tab->ref().key_parts); + assert(tab->ref().key >= 0 && tab->ref().key_parts); ref_key= tab->ref().key; ref_key_parts= tab->ref().key_parts; } @@ -2087,7 +2087,7 @@ // we are after make_join_select(): tab->condition(), &tab->needed_reg, &qck, tab->table()->force_index) <= 0; - DBUG_ASSERT(tab->quick() == save_quick); + assert(tab->quick() == save_quick); tab->set_quick(qck); if (no_quick) { @@ -2200,7 +2200,7 @@ If tab->quick() pointed to another quick than save_quick, we would lose access to it and leak memory. */ - DBUG_ASSERT(tab->quick() == save_quick || tab->quick() == NULL); + assert(tab->quick() == save_quick || tab->quick() == NULL); tab->set_quick(qck); } order_direction= best_key_direction; @@ -2218,7 +2218,7 @@ } check_reverse_order: - DBUG_ASSERT(order_direction != 0); + assert(order_direction != 0); if (order_direction == -1) // If ORDER BY ... DESC { @@ -2254,7 +2254,7 @@ can_skip_sorting= true; } - DBUG_ASSERT(can_skip_sorting); + assert(can_skip_sorting); /* Update query plan with access pattern for doing @@ -2284,7 +2284,7 @@ goto fix_ICP; } - DBUG_ASSERT(tab->type() != JT_REF_OR_NULL && tab->type() != JT_FT); + assert(tab->type() != JT_REF_OR_NULL && tab->type() != JT_FT); // Changing the key makes filter_effect obsolete tab->position()->filter_effect= COND_FILTER_STALE; @@ -2300,7 +2300,7 @@ if (!tab->quick() || tab->quick() == save_quick) // created no QUICK { // Avoid memory leak: - DBUG_ASSERT(tab->quick() == save_quick || tab->quick() == NULL); + assert(tab->quick() == save_quick || tab->quick() == NULL); tab->set_quick(NULL); tab->set_index(best_key); tab->set_type(JT_INDEX_SCAN); // Read with index_first(), index_next() @@ -2336,8 +2336,8 @@ We need to change the access method so as the quick access method is actually used. */ - DBUG_ASSERT(tab->quick()); - DBUG_ASSERT(tab->quick()->index==(uint)best_key); + assert(tab->quick()); + assert(tab->quick()->index==(uint)best_key); tab->set_type(calc_join_type(tab->quick()->get_type())); tab->use_quick=QS_RANGE; tab->ref().key= -1; @@ -2437,7 +2437,7 @@ { // switching to another index // Should be no pushed conditions at this point - DBUG_ASSERT(!table->file->pushed_idx_cond); + assert(!table->file->pushed_idx_cond); if (unlikely(trace->is_started())) { trace_change_index.add_utf8("index", table->key_info[changed_key].name); @@ -2467,7 +2467,7 @@ bool JOIN::prune_table_partitions() { - DBUG_ASSERT(select_lex->partitioned_table_count); + assert(select_lex->partitioned_table_count); for (TABLE_LIST *tbl= select_lex->leaf_tables; tbl; tbl= tbl->next_leaf) { @@ -2687,9 +2687,9 @@ } } // Ensure AM consistency - DBUG_ASSERT(!(tab->quick() && (tab->type() == JT_REF || tab->type() == JT_ALL))); - DBUG_ASSERT((tab->type() != JT_RANGE && tab->type() != JT_INDEX_MERGE) || - tab->quick()); + assert(!(tab->quick() && (tab->type() == JT_REF || tab->type() == JT_ALL))); + assert((tab->type() != JT_RANGE && tab->type() != JT_INDEX_MERGE) || + tab->quick()); if (!tab->const_keys.is_clear_all() && tab->table()->reginfo.impossible_range && ((i == const_tables && tab->type() == JT_REF) || @@ -2755,7 +2755,7 @@ DBUG_ENTER("JOIN::get_best_combination"); // At this point "tables" and "primary"tables" represent the same: - DBUG_ASSERT(tables == primary_tables); + assert(tables == primary_tables); /* Allocate additional space for tmp tables. @@ -2829,7 +2829,7 @@ POSITION *const pos= best_positions + tableno; if (has_semijoin && sj_is_materialize_strategy(pos->sj_strategy)) { - DBUG_ASSERT(outer_target < inner_target); + assert(outer_target < inner_target); TABLE_LIST *const sj_nest= pos->table->emb_sj_nest; @@ -2913,9 +2913,9 @@ // REF or RANGE, clarify later when prefix tables are set for JOIN_TABs tab->set_type(JT_REF); } - DBUG_ASSERT(tab->type() != JT_UNKNOWN); + assert(tab->type() != JT_UNKNOWN); - DBUG_ASSERT(table->reginfo.join_tab == tab); + assert(table->reginfo.join_tab == tab); if (!tab->join_cond()) table->reginfo.not_exists_optimize= false; // Only with LEFT JOIN map2table[tab->table_ref->tableno()]= tab; @@ -2935,7 +2935,7 @@ const uint idx= outer_target + i; tmp_join_tabs->set_join(this); tmp_join_tabs->set_idx(idx); - DBUG_ASSERT(best_ref[idx] == NULL); // verify that not overwriting + assert(best_ref[idx] == NULL); // verify that not overwriting best_ref[idx]= tmp_join_tabs++; /* note that set_table() cannot be called yet. We may not even use this @@ -3023,7 +3023,7 @@ } else join_tab->set_use_join_cache(JOIN_CACHE::ALG_NONE); - DBUG_ASSERT(join->qep_tab == NULL); + assert(join->qep_tab == NULL); } @@ -3132,7 +3132,7 @@ if (tableno == join->const_tables) { - DBUG_ASSERT(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); + assert(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); return false; } @@ -3177,14 +3177,14 @@ */ if (!tab->is_single_inner_of_semi_join()) { - DBUG_ASSERT(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); + assert(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); goto no_join_cache; } break; case SJ_OPT_LOOSE_SCAN: /* No join buffering if this semijoin nest is handled by loosescan */ - DBUG_ASSERT(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); + assert(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); goto no_join_cache; case SJ_OPT_MATERIALIZE_LOOKUP: @@ -3200,7 +3200,7 @@ */ if (tab->first_sj_inner() == tab->idx()) { - DBUG_ASSERT(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); + assert(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); goto no_join_cache; } break; @@ -3238,7 +3238,7 @@ case JT_INDEX_MERGE: if (!bnl_on) { - DBUG_ASSERT(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); + assert(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); goto no_join_cache; } @@ -3250,7 +3250,7 @@ case JT_EQ_REF: if (!bka_on) { - DBUG_ASSERT(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); + assert(tab->use_join_cache() == JOIN_CACHE::ALG_NONE); goto no_join_cache; } @@ -4420,7 +4420,7 @@ cond= new Item_cond_and(eq_list); else { - DBUG_ASSERT(cond->type() == Item::COND_ITEM); + assert(cond->type() == Item::COND_ITEM); if (eq_list.elements) ((Item_cond *) cond)->add_at_head(&eq_list); } @@ -4757,7 +4757,7 @@ if ((nested_join= table->nested_join)) { // We should have either a join condition or a semi-join condition - DBUG_ASSERT((table->join_cond() == NULL) == (table->sj_cond() != NULL)); + assert((table->join_cond() == NULL) == (table->sj_cond() != NULL)); nested_join->nj_map= 0; nested_join->nj_total= 0; @@ -4768,7 +4768,7 @@ */ if (table->join_cond()) { - DBUG_ASSERT(first_unused < sizeof(nested_join_map)*8); + assert(first_unused < sizeof(nested_join_map)*8); nested_join->nj_map= (nested_join_map) 1 << first_unused++; nested_join->nj_total= nested_join->join_list.elements; } @@ -4785,7 +4785,7 @@ outer_nest->nj_total+= (nested_join->join_list.elements - 1); } else - DBUG_ASSERT(false); + assert(false); first_unused= build_bitmap_for_nested_joins(&nested_join->join_list, first_unused); @@ -4885,7 +4885,7 @@ { TABLE_LIST *const sj_nest= sjm_exec->sj_nest; - DBUG_ASSERT(!sj_nest->outer_join_nest()); + assert(!sj_nest->outer_join_nest()); /* A materialized semi-join nest cannot actually be an inner part of an outer join yet, this is just a preparatory step, @@ -4951,7 +4951,7 @@ void JOIN::set_prefix_tables() { ASSERT_BEST_REF_IN_JOIN_ORDER(this); - DBUG_ASSERT(!plan_is_const()); + assert(!plan_is_const()); /* The const tables are available together with the first non-const table in the join order. @@ -5209,7 +5209,7 @@ const uint sj_nests= select_lex->sj_nests.elements; const uint table_count= select_lex->leaf_table_count; - DBUG_ASSERT(primary_tables == 0 && tables == 0); + assert(primary_tables == 0 && tables == 0); if (!(join_tab= alloc_jtab_array(thd, table_count))) return true; @@ -5369,7 +5369,7 @@ Thus, an assert has been added should this happen again. @todo Remove the error check below. */ - DBUG_ASSERT(!(tab->dependent & tab->table_ref->map())); + assert(!(tab->dependent & tab->table_ref->map())); if (tab->dependent & tab->table_ref->map()) { @@ -5831,7 +5831,7 @@ void JOIN::set_semijoin_embedding() { - DBUG_ASSERT(!select_lex->sj_nests.is_empty()); + assert(!select_lex->sj_nests.is_empty()); JOIN_TAB *const tab_end= join_tab + primary_tables; @@ -5883,8 +5883,8 @@ { DBUG_ENTER("semijoin_types_allow_materialization"); - DBUG_ASSERT(sj_nest->nested_join->sj_outer_exprs.elements == - sj_nest->nested_join->sj_inner_exprs.elements); + assert(sj_nest->nested_join->sj_outer_exprs.elements == + sj_nest->nested_join->sj_inner_exprs.elements); if (sj_nest->nested_join->sj_outer_exprs.elements > MAX_REF_PARTS) { @@ -5912,7 +5912,7 @@ &max_key_part_length); while (outer= it1++, inner= it2++) { - DBUG_ASSERT(outer->real_item() && inner->real_item()); + assert(outer->real_item() && inner->real_item()); if (!types_allow_materialization(outer, inner)) { sj_nest->nested_join->sjm.scan_allowed= false; @@ -5935,7 +5935,7 @@ if (sj_nest->embedding) { - DBUG_ASSERT(sj_nest->embedding->join_cond_optim()); + assert(sj_nest->embedding->join_cond_optim()); /* There are two issues that prevent materialization strategy from being used when a semi-join nest is on the inner side of an outer join: @@ -6079,7 +6079,7 @@ break; case ROW_RESULT: default: - DBUG_ASSERT(0); /* purecov: deadcode */ + assert(0); /* purecov: deadcode */ break; } } @@ -6107,7 +6107,7 @@ trace_one_table.add_utf8_table(table_ref). add("row_may_be_null", table_ref->table->is_nullable()); const table_map map= table_ref->map(); - DBUG_ASSERT(map < (1ULL << table_count)); + assert(map < (1ULL << table_count)); for (uint j= 0; j < table_count; j++) { if (map & (1ULL << j)) @@ -6197,7 +6197,7 @@ Item *item= tab->ref().items[keypart]; Item *notnull; Item *real= item->real_item(); - DBUG_ASSERT(real->type() == Item::FIELD_ITEM); + assert(real->type() == Item::FIELD_ITEM); Item_field *not_null_item= (Item_field*)real; JOIN_TAB *referred_tab= not_null_item->field->table->reginfo.join_tab; /* @@ -6370,7 +6370,7 @@ OPTIMIZER_SWITCH_MATERIALIZATION) { /* A semi-join nest should not contain tables marked as const */ - DBUG_ASSERT(!(sj_nest->sj_inner_tables & join->const_table_map)); + assert(!(sj_nest->sj_inner_tables & join->const_table_map)); Opt_trace_object trace_wrapper(trace); Opt_trace_object @@ -6532,7 +6532,7 @@ TABLE_LIST *sj_nest; DBUG_ENTER("pull_out_semijoin_tables"); - DBUG_ASSERT(!join->select_lex->sj_nests.is_empty()); + assert(!join->select_lex->sj_nests.is_empty()); List_iterator sj_list_it(join->select_lex->sj_nests); Opt_trace_context * const trace= &join->thd->opt_trace; @@ -6967,7 +6967,7 @@ uint num_values, table_map usable_tables, SARGABLE_PARAM **sargables) { - DBUG_ASSERT(eq_func || sargables); + assert(eq_func || sargables); Field *const field= item_field->field; TABLE_LIST *const tl= item_field->table_ref; @@ -6996,7 +6996,7 @@ !tl->table->is_nullable() || field->real_maybe_null()) return; // Not a key. Skip it exists_optimize= KEY_OPTIMIZE_EXISTS; - DBUG_ASSERT(num_values == 1); + assert(num_values == 1); } else { @@ -7053,14 +7053,14 @@ We do not save info about equalities as update_const_equal_items will take care of updating info on keys from sargable equalities. */ - DBUG_ASSERT(sargables); + assert(sargables); (*sargables)--; /* The sargables and key_fields arrays share the same memory buffer, and grow from opposite directions, so make sure they don't cross. */ - DBUG_ASSERT(*sargables > *reinterpret_cast(key_fields)); + assert(*sargables > *reinterpret_cast(key_fields)); (*sargables)->field= field; (*sargables)->arg_value= value; (*sargables)->num_values= num_values; @@ -7137,7 +7137,7 @@ For the moment eq_func is always true. This slot is reserved for future extensions where we want to remembers other things than just eq comparisons */ - DBUG_ASSERT(eq_func); + assert(eq_func); /* If the condition has form "tbl.keypart = othertbl.field" and othertbl.field can be NULL, there will be no matches if othertbl.field @@ -7166,8 +7166,8 @@ cross. But if sargables was NULL, eq_func had to be true and we don't write any sargables. */ - DBUG_ASSERT(sargables == NULL || - *key_fields < *reinterpret_cast(sargables)); + assert(sargables == NULL || + *key_fields < *reinterpret_cast(sargables)); } /** @@ -7462,8 +7462,8 @@ if (cond_func->functype() == Item_func::NE_FUNC && is_local_field (cond_func->arguments()[1])) values--; - DBUG_ASSERT(cond_func->functype() != Item_func::IN_FUNC || - cond_func->argument_count() != 2); + assert(cond_func->functype() != Item_func::IN_FUNC || + cond_func->argument_count() != 2); add_key_equal_fields(key_fields, *and_level, cond_func, (Item_field*) (cond_func->key_item()->real_item()), 0, values, @@ -7495,16 +7495,16 @@ for (uint i= 0; i < lhs_row->cols(); ++i) { Item *const lhs_item= lhs_row->element_index(i)->real_item(); - DBUG_ASSERT(lhs_item->type() == Item::FIELD_ITEM); + assert(lhs_item->type() == Item::FIELD_ITEM); Item_field *const lhs_column= static_cast(lhs_item); // j goes from 1 since arguments()[0] is the lhs of IN. for (uint j= 1; j < cond_func->argument_count(); ++j) { // Here we pick out the i:th column in the j:th row. Item *rhs_item= cond_func->arguments()[j]; - DBUG_ASSERT(rhs_item->type() == Item::ROW_ITEM); + assert(rhs_item->type() == Item::ROW_ITEM); Item_row *rhs_row= static_cast(rhs_item); - DBUG_ASSERT(rhs_row->cols() == lhs_row->cols()); + assert(rhs_row->cols() == lhs_row->cols()); Item **rhs_expr_ptr= rhs_row->addr(i); /* add_key_field() will write a Key_field on each call @@ -7525,7 +7525,7 @@ usable_tables, NULL); // sargables // The pointer is not supposed to increase by more than one. - DBUG_ASSERT(scrap_key_field_ptr <= &scrap_key_field + 1); + assert(scrap_key_field_ptr <= &scrap_key_field + 1); } } } @@ -7867,7 +7867,7 @@ bool have_another = FALSE; table_map tables= 0; TABLE_LIST *table; - DBUG_ASSERT(nested_join_table->nested_join); + assert(nested_join_table->nested_join); while ((table= li++) || (have_another && (li=li2, have_another=FALSE, (table= li++)))) @@ -8061,7 +8061,7 @@ static void add_group_and_distinct_keys(JOIN *join, JOIN_TAB *join_tab) { - DBUG_ASSERT(join_tab->const_keys.is_subset(join_tab->keys())); + assert(join_tab->const_keys.is_subset(join_tab->keys())); List indexed_fields; List_iterator indexed_fields_it(indexed_fields); @@ -8139,7 +8139,7 @@ join_tab->keys().merge(possible_keys); } - DBUG_ASSERT(join_tab->const_keys.is_subset(join_tab->keys())); + assert(join_tab->const_keys.is_subset(join_tab->keys())); } /** @@ -8431,7 +8431,7 @@ { DBUG_ENTER("JOIN::make_outerjoin_info"); - DBUG_ASSERT(select_lex->outer_join); + assert(select_lex->outer_join); ASSERT_BEST_REF_IN_JOIN_ORDER(this); select_lex->reset_nj_counters(); @@ -8524,7 +8524,7 @@ plan_idx root_idx) { ASSERT_BEST_REF_IN_JOIN_ORDER(join); - DBUG_ASSERT(cond); + assert(cond); for ( ; idx != root_idx; idx= join->best_ref[idx]->first_upper()) { @@ -8599,7 +8599,7 @@ same outer join: */ Item *const join_cond= best_ref[first_inner]->join_cond(); - DBUG_ASSERT(join_cond); + assert(join_cond); /* Add the constant part of the join condition to the first inner table of the outer join. @@ -8846,7 +8846,7 @@ bool JOIN::generate_derived_keys() { - DBUG_ASSERT(select_lex->materialized_derived_table_count); + assert(select_lex->materialized_derived_table_count); for (TABLE_LIST *table= select_lex->leaf_tables; table; @@ -8874,7 +8874,7 @@ void JOIN::drop_unused_derived_keys() { - DBUG_ASSERT(select_lex->materialized_derived_table_count); + assert(select_lex->materialized_derived_table_count); ASSERT_BEST_REF_IN_JOIN_ORDER(this); for (uint i= 0 ; i < tables ; i++) @@ -8935,7 +8935,7 @@ bool JOIN::cache_const_exprs() { /* No need in cache if all tables are constant. */ - DBUG_ASSERT(!plan_is_const()); + assert(!plan_is_const()); ASSERT_BEST_REF_IN_JOIN_ORDER(this); for (uint i= const_tables; i < tables; i++) @@ -9270,7 +9270,7 @@ if (cond && !tmp && tab->quick()) { // Outer join - DBUG_ASSERT(tab->type() == JT_RANGE || tab->type() == JT_INDEX_MERGE); + assert(tab->type() == JT_RANGE || tab->type() == JT_INDEX_MERGE); /* Hack to handle the case where we only refer to a table in the ON part of an OUTER JOIN. In this case we want the code @@ -9329,7 +9329,7 @@ We keep (for now) the QUICK AM calculated in get_quick_record_count(). */ - DBUG_ASSERT(tab->quick()->is_valid()); + assert(tab->quick()->is_valid()); } else { @@ -9367,7 +9367,7 @@ enum { DONT_RECHECK, NOT_FIRST_TABLE, LOW_LIMIT } recheck_reason= DONT_RECHECK; - DBUG_ASSERT(tab->const_keys.is_subset(tab->keys())); + assert(tab->const_keys.is_subset(tab->keys())); const join_type orig_join_type= tab->type(); const QUICK_SELECT_I *const orig_quick= tab->quick(); @@ -10003,7 +10003,7 @@ a) For a WHERE condition or a query having outer join. b) For a HAVING condition. */ - DBUG_ASSERT(*cond || join_list); + assert(*cond || join_list); /* Build all multiple equality predicates and eliminate equality @@ -10063,7 +10063,7 @@ } step_wrapper.add("resulting_condition", *cond); } - DBUG_ASSERT(!thd->is_error()); + assert(!thd->is_error()); if (thd->is_error()) DBUG_RETURN(true); DBUG_RETURN(false); @@ -10135,7 +10135,7 @@ } break; case Item::COND_UNDEF: // Impossible - DBUG_ASSERT(false); /* purecov: deadcode */ + assert(false); /* purecov: deadcode */ } } if (should_fix_fields) @@ -10621,7 +10621,7 @@ static Item_cond_and *create_cond_for_const_ref(THD *thd, JOIN_TAB *join_tab) { DBUG_ENTER("create_cond_for_const_ref"); - DBUG_ASSERT(join_tab->ref().key_parts); + assert(join_tab->ref().key_parts); TABLE *table= join_tab->table(); Item_cond_and *cond= new Item_cond_and(); @@ -10772,7 +10772,7 @@ { ASSERT_BEST_REF_IN_JOIN_ORDER(this); - DBUG_ASSERT(select_lex->has_ft_funcs()); + assert(select_lex->has_ft_funcs()); for (uint i= const_tables; i < tables; i++) { @@ -10833,7 +10833,7 @@ bool JOIN::fts_index_access(JOIN_TAB *tab) { - DBUG_ASSERT(tab->type() == JT_FT); + assert(tab->type() == JT_FT); TABLE *table= tab->table(); if ((table->file->ha_table_flags() & HA_CAN_FULLTEXT_EXT) == 0) @@ -10994,7 +10994,7 @@ */ bool JOIN::decide_subquery_strategy() { - DBUG_ASSERT(unit->item); + assert(unit->item); switch (unit->item->substype()) { @@ -11012,7 +11012,7 @@ Item_exists_subselect::enum_exec_method chosen_method= in_pred->exec_method; // Materialization does not allow UNION so this can't happen: - DBUG_ASSERT(chosen_method != Item_exists_subselect::EXEC_MATERIALIZATION); + assert(chosen_method != Item_exists_subselect::EXEC_MATERIALIZATION); if ((chosen_method == Item_exists_subselect::EXEC_EXISTS_OR_MAT) && compare_costs_of_subquery_strategies(&chosen_method)) @@ -11025,7 +11025,7 @@ case Item_exists_subselect::EXEC_MATERIALIZATION: return in_pred->finalize_materialization_transform(this); default: - DBUG_ASSERT(false); + assert(false); return true; } } @@ -11061,8 +11061,8 @@ if (allowed_strategies == Item_exists_subselect::EXEC_EXISTS) return false; - DBUG_ASSERT(allowed_strategies == Item_exists_subselect::EXEC_EXISTS_OR_MAT || - allowed_strategies == Item_exists_subselect::EXEC_MATERIALIZATION); + assert(allowed_strategies == Item_exists_subselect::EXEC_EXISTS_OR_MAT || + allowed_strategies == Item_exists_subselect::EXEC_MATERIALIZATION); const JOIN *parent_join= unit->outer_select()->join; if (!parent_join || !parent_join->child_subquery_can_materialize) @@ -11099,7 +11099,7 @@ // Compute plans which do not use outer references - DBUG_ASSERT(allow_outer_refs); + assert(allow_outer_refs); allow_outer_refs= false; if (optimize_semijoin_nests_for_materialization(this)) @@ -11171,7 +11171,7 @@ t1, potentially way more than 1. */ const uint idx= subs->in_cond_of_tab; - DBUG_ASSERT((int)idx >= 0 && idx < parent_join->tables); + assert((int)idx >= 0 && idx < parent_join->tables); trace_parent.add("subq_attached_to_table", true); QEP_TAB *const parent_tab= &parent_join->qep_tab[idx]; trace_parent.add_utf8_table(parent_tab->table_ref); @@ -11345,7 +11345,7 @@ void JOIN::refine_best_rowcount() { // If plan is const, 0 or 1 rows should be returned - DBUG_ASSERT(!plan_is_const() || best_rowcount <= 1); + assert(!plan_is_const() || best_rowcount <= 1); if (plan_is_const()) return; diff -Nru mysql-5.7-5.7.33/sql/sql_optimizer.h mysql-5.7-5.7.34/sql/sql_optimizer.h --- mysql-5.7-5.7.33/sql/sql_optimizer.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_optimizer.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_OPTIMIZER_INCLUDED #define SQL_OPTIMIZER_INCLUDED -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -423,15 +423,15 @@ void set_flag(Explain_sort_property flag) { - DBUG_ASSERT(order); + assert(order); flags|= flag; } void reset_flag(Explain_sort_property flag) { flags&= ~flag; } bool get_flag(Explain_sort_property flag) const { - DBUG_ASSERT(order); + assert(order); return flags & flag; } - int get_flags() const { DBUG_ASSERT(order); return flags; } + int get_flags() const { assert(order); return flags; } }; /** @@ -572,7 +572,7 @@ */ void copy_ref_ptr_array(Ref_ptr_array dst_arr, Ref_ptr_array src_arr) { - DBUG_ASSERT(dst_arr.size() >= src_arr.size()); + assert(dst_arr.size() >= src_arr.size()); void *dest= dst_arr.array(); const void *src= src_arr.array(); memcpy(dest, src, src_arr.size() * src_arr.element_size()); @@ -667,7 +667,7 @@ const Cost_model_server* cost_model() const { - DBUG_ASSERT(thd != NULL); + assert(thd != NULL); return thd->cost_model(); } diff -Nru mysql-5.7-5.7.33/sql/sql_parse.cc mysql-5.7-5.7.34/sql/sql_parse.cc --- mysql-5.7-5.7.33/sql/sql_parse.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_parse.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -204,7 +204,7 @@ inline bool check_database_filters(THD *thd, const char* db, enum_sql_command sql_cmd) { DBUG_ENTER("check_database_filters"); - DBUG_ASSERT(thd->slave_thread); + assert(thd->slave_thread); if (!db) DBUG_RETURN(TRUE); switch (sql_cmd) @@ -249,7 +249,7 @@ { for (TABLE_LIST *table= tables; table; table= table->next_global) { - DBUG_ASSERT(table->db && table->table_name); + assert(table->db && table->table_name); /* Update on performance_schema and temp tables are allowed in readonly mode. @@ -788,14 +788,14 @@ bool is_update_query(enum enum_sql_command command) { - DBUG_ASSERT(command >= 0 && command <= SQLCOM_END); + assert(command >= 0 && command <= SQLCOM_END); return (sql_command_flags[command] & CF_CHANGES_DATA) != 0; } bool is_explainable_query(enum enum_sql_command command) { - DBUG_ASSERT(command >= 0 && command <= SQLCOM_END); + assert(command >= 0 && command <= SQLCOM_END); return (sql_command_flags[command] & CF_CAN_BE_EXPLAINED) != 0; } @@ -806,7 +806,7 @@ */ bool is_log_table_write_query(enum enum_sql_command command) { - DBUG_ASSERT(command >= 0 && command <= SQLCOM_END); + assert(command >= 0 && command <= SQLCOM_END); return (sql_command_flags[command] & CF_WRITE_LOGS_COMMAND) != 0; } @@ -993,7 +993,7 @@ /* Check if we can continue without closing the connection */ /* The error must be set. */ - DBUG_ASSERT(thd->is_error()); + assert(thd->is_error()); thd->send_statement_status(); /* Mark the statement completed. */ @@ -1020,7 +1020,7 @@ (int)thd->get_protocol_classic()->get_packet_length(), thd->get_protocol_classic()->get_raw_packet(), command)); if (thd->get_protocol_classic()->bad_packet) - DBUG_ASSERT(0); // Should be caught earlier + assert(0); // Should be caught earlier // Reclaim some memory thd->get_protocol_classic()->get_packet()->shrink( @@ -1035,8 +1035,8 @@ out: /* The statement instrumentation must be closed in all cases. */ - DBUG_ASSERT(thd->m_digest == NULL); - DBUG_ASSERT(thd->m_statement_psi == NULL); + assert(thd->m_digest == NULL); + assert(thd->m_statement_psi == NULL); DBUG_RETURN(return_value); } #endif /* EMBEDDED_LIBRARY */ @@ -1168,8 +1168,8 @@ whether timer can be set for the statement or not should be checked before calling set_statement_timer function. */ - DBUG_ASSERT(is_timer_applicable_to_statement(thd) == true); - DBUG_ASSERT(thd->timer == NULL); + assert(is_timer_applicable_to_statement(thd) == true); + assert(thd->timer == NULL); thd->timer= thd_timer_set(thd, thd->timer_cache, max_execution_time); thd->timer_cache= NULL; @@ -1191,7 +1191,7 @@ void reset_statement_timer(THD *thd) { - DBUG_ASSERT(thd->timer); + assert(thd->timer); /* Cache the timer object if it can be reused. */ thd->timer_cache= thd_timer_reset(thd->timer); thd->timer= NULL; @@ -1460,7 +1460,7 @@ } case COM_QUERY: { - DBUG_ASSERT(thd->m_digest == NULL); + assert(thd->m_digest == NULL); thd->m_digest= & thd->m_digest_state; thd->m_digest->reset(thd->m_token_array, max_digest_length); @@ -1668,7 +1668,7 @@ thd->lex->unit->cleanup(true); /* No need to rollback statement transaction, it's not started. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); close_thread_tables(thd); thd->mdl_context.rollback_to_savepoint(mdl_savepoint); @@ -1732,7 +1732,7 @@ if (check_global_access(thd,RELOAD_ACL)) break; query_logger.general_log_print(thd, command, NullS); -#ifndef DBUG_OFF +#ifndef NDEBUG bool debug_simulate= FALSE; DBUG_EXECUTE_IF("simulate_detached_thread_refresh", debug_simulate= TRUE;); if (debug_simulate) @@ -1897,9 +1897,9 @@ } done: - DBUG_ASSERT(thd->derived_tables == NULL && - (thd->open_tables == NULL || - (thd->locked_tables_mode == LTM_LOCK_TABLES))); + assert(thd->derived_tables == NULL && + (thd->open_tables == NULL || + (thd->locked_tables_mode == LTM_LOCK_TABLES))); /* Finalize server status flags after executing a command. */ thd->update_server_status(); @@ -1939,6 +1939,7 @@ MYSQL_END_STATEMENT(thd->m_statement_psi, thd->get_stmt_da()); thd->m_statement_psi= NULL; thd->m_digest= NULL; + thd->reset_query_for_display(); /* Prevent rewritten query from getting "stuck" in SHOW PROCESSLIST. */ thd->reset_rewritten_query(); @@ -2075,7 +2076,7 @@ case SCH_COLUMNS: case SCH_STATISTICS: { - DBUG_ASSERT(table_ident); + assert(table_ident); TABLE_LIST **query_tables_last= lex->query_tables_last; if ((schema_select_lex= lex->new_empty_query_block()) == NULL) DBUG_RETURN(1); /* purecov: inspected */ @@ -2362,7 +2363,7 @@ trans_rollback(thd); /* Close tables and release metadata locks. */ close_thread_tables(thd); - DBUG_ASSERT(!thd->locked_tables_mode); + assert(!thd->locked_tables_mode); thd->mdl_context.release_transactional_locks(); return TRUE; } @@ -2464,23 +2465,23 @@ SELECT_LEX_UNIT *const unit= lex->unit; // keep GTID violation state in order to roll it back on statement failure bool gtid_consistency_violation_state = thd->has_gtid_consistency_violation; - DBUG_ASSERT(select_lex->master_unit() == unit); + assert(select_lex->master_unit() == unit); DBUG_ENTER("mysql_execute_command"); /* EXPLAIN OTHER isn't explainable command, but can have describe flag. */ - DBUG_ASSERT(!lex->describe || is_explainable_query(lex->sql_command) || - lex->sql_command == SQLCOM_EXPLAIN_OTHER); + assert(!lex->describe || is_explainable_query(lex->sql_command) || + lex->sql_command == SQLCOM_EXPLAIN_OTHER); thd->work_part_info= 0; - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT) || - thd->in_sub_stmt); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT) || + thd->in_sub_stmt); /* Each statement or replication event which might produce deadlock should handle transaction rollback on its own. So by the start of the next statement transaction rollback request should be fulfilled already. */ - DBUG_ASSERT(! thd->transaction_rollback_request || thd->in_sub_stmt); + assert(! thd->transaction_rollback_request || thd->in_sub_stmt); /* In many cases first table of main SELECT_LEX have special meaning => check that it is first table in global list and relink it first in @@ -2493,8 +2494,8 @@ Because of above in place where should be at least one table in most outer SELECT_LEX we have following check: - DBUG_ASSERT(first_table == all_tables); - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables); + assert(first_table == all_tables && first_table != 0); */ lex->first_lists_tables_same(); /* should be assigned after making first tables same */ @@ -2647,8 +2648,8 @@ Opt_trace_object trace_command(&thd->opt_trace); Opt_trace_array trace_command_steps(&thd->opt_trace, "steps"); - DBUG_ASSERT(thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT) == false); + assert(thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT) == false); switch (gtid_pre_statement_checks(thd)) { @@ -2674,9 +2675,9 @@ Note that this should never happen inside of stored functions or triggers as all such statements prohibited there. */ - DBUG_ASSERT(! thd->in_sub_stmt); + assert(! thd->in_sub_stmt); /* Statement transaction still should not be started. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); /* Implicit commit is not allowed with an active XA transaction. @@ -2710,7 +2711,7 @@ } #endif /* !EMBEDDED_LIBRARY */ -#ifndef DBUG_OFF +#ifndef NDEBUG if (lex->sql_command != SQLCOM_SET_OPTION) DEBUG_SYNC(thd,"before_execute_sql_command"); #endif @@ -2950,7 +2951,7 @@ case SQLCOM_ASSIGN_TO_KEYCACHE: { - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables && first_table != 0); if (check_access(thd, INDEX_ACL, first_table->db, &first_table->grant.privilege, &first_table->grant.m_internal, @@ -2961,7 +2962,7 @@ } case SQLCOM_PRELOAD_KEYS: { - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables && first_table != 0); if (check_access(thd, INDEX_ACL, first_table->db, &first_table->grant.privilege, &first_table->grant.m_internal, @@ -3013,7 +3014,7 @@ } case SQLCOM_CREATE_TABLE: { - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables && first_table != 0); bool link_to_local; TABLE_LIST *create_table= first_table; TABLE_LIST *select_tables= lex->create_last_non_select_table->next_global; @@ -3325,7 +3326,7 @@ if (thd->is_fatal_error) /* out of memory creating a copy of alter_info */ goto error; - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables && first_table != 0); if (check_one_table_access(thd, INDEX_ACL, all_tables)) goto error; /* purecov: inspected */ /* @@ -3343,7 +3344,7 @@ Strict_error_handler strict_handler; if (thd->is_strict_mode()) thd->push_internal_handler(&strict_handler); - DBUG_ASSERT(!select_lex->order_list.elements); + assert(!select_lex->order_list.elements); res= mysql_alter_table(thd, first_table->db, first_table->table_name, &create_info, first_table, &alter_info); /* Pop Strict_error_handler */ @@ -3482,7 +3483,7 @@ case SQLCOM_RENAME_TABLE: { - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables && first_table != 0); TABLE_LIST *table; for (table= first_table; table; table= table->next_local->next_local) { @@ -3524,7 +3525,7 @@ } #endif /* EMBEDDED_LIBRARY */ case SQLCOM_SHOW_CREATE: - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables && first_table != 0); { /* Access check: @@ -3588,7 +3589,7 @@ } case SQLCOM_CHECKSUM: { - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables && first_table != 0); if (check_table_access(thd, SELECT_ACL, all_tables, FALSE, UINT_MAX, FALSE)) goto error; /* purecov: inspected */ @@ -3601,8 +3602,8 @@ case SQLCOM_REPLACE_SELECT: case SQLCOM_INSERT_SELECT: { - DBUG_ASSERT(first_table == all_tables && first_table != 0); - DBUG_ASSERT(lex->m_sql_cmd != NULL); + assert(first_table == all_tables && first_table != 0); + assert(lex->m_sql_cmd != NULL); res= lex->m_sql_cmd->execute(thd); break; } @@ -3611,14 +3612,14 @@ case SQLCOM_UPDATE: case SQLCOM_UPDATE_MULTI: { - DBUG_ASSERT(first_table == all_tables && first_table != 0); - DBUG_ASSERT(lex->m_sql_cmd != NULL); + assert(first_table == all_tables && first_table != 0); + assert(lex->m_sql_cmd != NULL); res= lex->m_sql_cmd->execute(thd); break; } case SQLCOM_DROP_TABLE: { - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables && first_table != 0); if (!lex->drop_temporary) { if (check_table_access(thd, DROP_ACL, all_tables, FALSE, UINT_MAX, FALSE)) @@ -3670,7 +3671,7 @@ case SQLCOM_LOAD: { - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables && first_table != 0); uint privilege= (lex->duplicates == DUP_REPLACE ? INSERT_ACL | DELETE_ACL : INSERT_ACL) | (lex->local_file ? 0 : FILE_ACL); @@ -3873,7 +3874,7 @@ #ifndef EMBEDDED_LIBRARY do { - DBUG_ASSERT(lex->event_parse_data); + assert(lex->event_parse_data); if (lex->table_or_sp_used()) { my_error(ER_NOT_SUPPORTED_YET, MYF(0), "Usage of subqueries or stored " @@ -3908,7 +3909,7 @@ break; } default: - DBUG_ASSERT(0); + assert(0); } DBUG_PRINT("info",("DDL error code=%d", res)); if (!res) @@ -4034,7 +4035,7 @@ ER_WARN_HOSTNAME_WONT_WORK, ER(ER_WARN_HOSTNAME_WONT_WORK)); // Are we trying to change a password of another user - DBUG_ASSERT(user->host.str != 0); + assert(user->host.str != 0); /* GRANT/REVOKE PROXY has the target user as a first entry in the list. @@ -4243,8 +4244,8 @@ break; case SQLCOM_COMMIT: { - DBUG_ASSERT(thd->lock == NULL || - thd->locked_tables_mode == LTM_LOCK_TABLES); + assert(thd->lock == NULL || + thd->locked_tables_mode == LTM_LOCK_TABLES); bool tx_chain= (lex->tx_chain == TVL_YES || (thd->variables.completion_type == 1 && lex->tx_chain != TVL_NO)); @@ -4273,8 +4274,8 @@ } case SQLCOM_ROLLBACK: { - DBUG_ASSERT(thd->lock == NULL || - thd->locked_tables_mode == LTM_LOCK_TABLES); + assert(thd->lock == NULL || + thd->locked_tables_mode == LTM_LOCK_TABLES); bool tx_chain= (lex->tx_chain == TVL_YES || (thd->variables.completion_type == 1 && lex->tx_chain != TVL_NO)); @@ -4322,8 +4323,8 @@ uint namelen; char *name; - DBUG_ASSERT(lex->sphead != 0); - DBUG_ASSERT(lex->sphead->m_db.str); /* Must be initialized in the parser */ + assert(lex->sphead != 0); + assert(lex->sphead->m_db.str); /* Must be initialized in the parser */ /* Verify that the database name is allowed, optionally lowercase it. @@ -4381,7 +4382,7 @@ creation of routine and implicit GRANT parts of one fully atomic statement. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); close_thread_tables(thd); /* Check if invoker exists on slave, then use invoker privilege to @@ -4438,7 +4439,7 @@ */ if (restore_backup_context) { - DBUG_ASSERT(thd->slave_thread == 1); + assert(thd->slave_thread == 1); thd->security_context()->restore_security_context(thd, backup); } #endif @@ -4553,7 +4554,7 @@ } else { - DBUG_ASSERT(thd->is_error() || thd->killed); + assert(thd->is_error() || thd->killed); goto error; // Substatement should already have sent error } } @@ -4671,7 +4672,7 @@ dropping of routine and implicit REVOKE parts of one fully atomic statement. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); close_thread_tables(thd); if (sp_result != SP_KEY_NOT_FOUND && @@ -4728,7 +4729,7 @@ case SQLCOM_SHOW_PROC_CODE: case SQLCOM_SHOW_FUNC_CODE: { -#ifndef DBUG_OFF +#ifndef NDEBUG sp_head *sp; enum_sp_type sp_type= (lex->sql_command == SQLCOM_SHOW_PROC_CODE) ? SP_TYPE_PROCEDURE : SP_TYPE_FUNCTION; @@ -4747,7 +4748,7 @@ my_error(ER_FEATURE_DISABLED, MYF(0), "SHOW PROCEDURE|FUNCTION CODE", "--with-debug"); goto error; -#endif // ifndef DBUG_OFF +#endif // ifndef NDEBUG } case SQLCOM_SHOW_CREATE_TRIGGER: { @@ -4822,7 +4823,7 @@ case SQLCOM_HA_OPEN: case SQLCOM_HA_READ: case SQLCOM_HA_CLOSE: - DBUG_ASSERT(first_table == all_tables && first_table != 0); + assert(first_table == all_tables && first_table != 0); /* fall through */ case SQLCOM_CREATE_SERVER: case SQLCOM_ALTER_SERVER: @@ -4841,7 +4842,7 @@ case SQLCOM_UNINSTALL_PLUGIN: case SQLCOM_SHUTDOWN: case SQLCOM_ALTER_INSTANCE: - DBUG_ASSERT(lex->m_sql_cmd != NULL); + assert(lex->m_sql_cmd != NULL); res= lex->m_sql_cmd->execute(thd); break; @@ -4863,10 +4864,10 @@ if (!tmp_user->host.str && !tmp_user->user.str) { /* set user information as of the current user */ - DBUG_ASSERT(thd->security_context()->priv_host().str); + assert(thd->security_context()->priv_host().str); tmp_user->host.str= (char *) thd->security_context()->priv_host().str; tmp_user->host.length= strlen(thd->security_context()->priv_host().str); - DBUG_ASSERT(thd->security_context()->user().str); + assert(thd->security_context()->user().str); tmp_user->user.str= (char *) thd->security_context()->user().str; tmp_user->user.length= strlen(thd->security_context()->user().str); } @@ -4942,7 +4943,7 @@ #endif default: #ifndef EMBEDDED_LIBRARY - DBUG_ASSERT(0); /* Impossible */ + assert(0); /* Impossible */ #endif my_ok(thd); break; @@ -4970,8 +4971,8 @@ thd->query_plan.set_query_plan(SQLCOM_END, NULL, false); } - DBUG_ASSERT(!thd->in_active_multi_stmt_transaction() || - thd->in_multi_stmt_transaction_mode()); + assert(!thd->in_active_multi_stmt_transaction() || + thd->in_multi_stmt_transaction_mode()); if (! thd->in_sub_stmt) { @@ -5009,7 +5010,7 @@ THD_STAGE_INFO(thd, stage_closing_tables); close_thread_tables(thd); -#ifndef DBUG_OFF +#ifndef NDEBUG if (lex->sql_command != SQLCOM_SET_OPTION && ! thd->in_sub_stmt) DEBUG_SYNC(thd, "execute_command_after_close_tables"); #endif @@ -5027,7 +5028,7 @@ else if (stmt_causes_implicit_commit(thd, CF_IMPLICIT_COMMIT_END)) { /* No transaction control allowed in sub-statements. */ - DBUG_ASSERT(! thd->in_sub_stmt); + assert(! thd->in_sub_stmt); /* If commit fails, we should be able to reset the OK status. */ thd->get_stmt_da()->set_overwrite_status(true); /* Commit the normal transaction if one is active. */ @@ -5179,7 +5180,7 @@ #define used_stack(A,B) (long) (B - A) #endif -#ifndef DBUG_OFF +#ifndef NDEBUG long max_stack_used; #endif @@ -5194,7 +5195,7 @@ uchar *buf MY_ATTRIBUTE((unused))) { long stack_used; - DBUG_ASSERT(thd == current_thd); + assert(thd == current_thd); if ((stack_used=used_stack(thd->thread_stack,(char*) &stack_used)) >= (long) (my_thread_stack_size - margin)) { @@ -5211,7 +5212,7 @@ } return 1; } -#ifndef DBUG_OFF +#ifndef NDEBUG max_stack_used= max(max_stack_used, stack_used); #endif return 0; @@ -5225,7 +5226,7 @@ { Yacc_state *state= & current_thd->m_parser_state->m_yacc; ulong old_info=0; - DBUG_ASSERT(state); + assert(state); if ((uint) *yystacksize >= MY_YACC_MAX) return 1; if (!state->yacc_yyvs) @@ -5289,8 +5290,8 @@ // function and move it to the proper file. /Matz THD *thd= this; DBUG_ENTER("mysql_reset_thd_for_next_command"); - DBUG_ASSERT(!thd->sp_runtime_ctx); /* not for substatements of routines */ - DBUG_ASSERT(! thd->in_sub_stmt); + assert(!thd->sp_runtime_ctx); /* not for substatements of routines */ + assert(! thd->in_sub_stmt); thd->free_list= 0; /* Those two lines below are theoretically unneeded as @@ -5320,7 +5321,7 @@ thd->get_transaction()->reset_unsafe_rollback_flags( Transaction_ctx::SESSION); } - DBUG_ASSERT(thd->security_context()== &thd->m_main_security_ctx); + assert(thd->security_context()== &thd->m_main_security_ctx); thd->thread_specific_used= FALSE; if (opt_bin_log) @@ -5389,7 +5390,7 @@ We set the name of Item to @@session.var_name because that then is used as the column name in the output. */ - if ((var= get_system_var(pc, OPT_SESSION, tmp, null_lex_string))) + if ((var= get_system_var(pc, OPT_SESSION, tmp, null_lex_string, false))) { end= strxmov(buff, "@@session.", var_name, NullS); var->item_name.copy(buff, end - buff); @@ -5472,6 +5473,8 @@ found_semicolon= parser_state->m_lip.found_semicolon; } + DEBUG_SYNC_C("sql_parse_before_rewrite"); + if (!err) { /* @@ -5528,6 +5531,8 @@ } } + DEBUG_SYNC_C("sql_parse_after_rewrite"); + if (!err) { thd->m_statement_psi= MYSQL_REFINE_STATEMENT(thd->m_statement_psi, @@ -5612,7 +5617,7 @@ thd->m_statement_psi= MYSQL_REFINE_STATEMENT(thd->m_statement_psi, sql_statement_info[SQLCOM_END].m_key); - DBUG_ASSERT(thd->is_error()); + assert(thd->is_error()); DBUG_PRINT("info",("Command aborted. Fatal_error: %d", thd->is_fatal_error)); @@ -5624,7 +5629,7 @@ sp_cache_enforce_limit(thd->sp_func_cache, stored_program_cache_size); thd->end_statement(); thd->cleanup_after_query(); - DBUG_ASSERT(thd->change_list.is_empty()); + assert(thd->change_list.is_empty()); } else { @@ -5669,7 +5674,7 @@ PSI_statement_locker *parent_locker= thd->m_statement_psi; DBUG_ENTER("mysql_test_parse_for_slave"); - DBUG_ASSERT(thd->slave_thread); + assert(thd->slave_thread); Parser_state parser_state; if (parser_state.init(thd, thd->query().str, thd->query().length) == 0) @@ -6084,7 +6089,7 @@ NESTED_JOIN *nested_join; DBUG_ENTER("end_nested_join"); - DBUG_ASSERT(embedding); + assert(embedding); ptr= embedding; join_list= ptr->join_list; embedding= ptr->embedding; @@ -6284,8 +6289,8 @@ { SELECT_LEX *first_sl= first_select(); DBUG_ENTER("add_fake_select_lex"); - DBUG_ASSERT(!fake_select_lex); - DBUG_ASSERT(thd_arg == thd); + assert(!fake_select_lex); + assert(thd_arg == thd); if (!(fake_select_lex= thd_arg->lex->new_empty_query_block())) DBUG_RETURN(true); /* purecov: inspected */ @@ -6528,7 +6533,7 @@ Kill_non_super_conn(THD *thd) : m_client_thd(thd) { - DBUG_ASSERT(m_client_thd->security_context()->check_access(SUPER_ACL)); + assert(m_client_thd->security_context()->check_access(SUPER_ACL)); } virtual void operator()(THD *thd_to_kill) @@ -6603,7 +6608,7 @@ Comp_creator *comp_equal_creator(bool invert) { - DBUG_ASSERT(!invert); // Function never called with true. + assert(!invert); // Function never called with true. return &equal_creator; } @@ -7070,9 +7075,9 @@ { DBUG_ENTER("parse_sql"); bool ret_value; - DBUG_ASSERT(thd->m_parser_state == NULL); + assert(thd->m_parser_state == NULL); // TODO fix to allow parsing gcol exprs after main query. -// DBUG_ASSERT(thd->lex->m_sql_cmd == NULL); +// assert(thd->lex->m_sql_cmd == NULL); MYSQL_QUERY_PARSE_START(const_cast(thd->query().str)); /* Backup creation context. */ @@ -7196,9 +7201,9 @@ handler might be for other errors than parsing one). */ - DBUG_ASSERT(!mysql_parse_status || - (mysql_parse_status && thd->is_error()) || - (mysql_parse_status && thd->get_internal_handler())); + assert(!mysql_parse_status || + (mysql_parse_status && thd->is_error()) || + (mysql_parse_status && thd->get_internal_handler())); /* Reset parser state. */ @@ -7219,7 +7224,7 @@ /* On parsing success, record the digest in the performance schema. */ - DBUG_ASSERT(thd->m_digest != NULL); + assert(thd->m_digest != NULL); MYSQL_DIGEST_END(parser_state->m_digest_psi, & thd->m_digest->m_digest_storage); } diff -Nru mysql-5.7-5.7.33/sql/sql_parse.h mysql-5.7-5.7.34/sql/sql_parse.h --- mysql-5.7-5.7.33/sql/sql_parse.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_parse.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -47,7 +47,7 @@ bool stmt_causes_implicit_commit(const THD *thd, uint mask); -#ifndef DBUG_OFF +#ifndef NDEBUG extern void turn_parser_debug_on(); #endif diff -Nru mysql-5.7-5.7.33/sql/sql_partition_admin.cc mysql-5.7-5.7.34/sql/sql_partition_admin.cc --- mysql-5.7-5.7.33/sql/sql_partition_admin.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_partition_admin.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -57,9 +57,9 @@ DBUG_RETURN(TRUE); /* Must be set in the parser */ - DBUG_ASSERT(select_lex->db); + assert(select_lex->db); /* also check the table to be exchanged with the partition */ - DBUG_ASSERT(alter_info.flags & Alter_info::ALTER_EXCHANGE_PARTITION); + assert(alter_info.flags & Alter_info::ALTER_EXCHANGE_PARTITION); if (check_access(thd, priv_needed, first_table->db, &first_table->grant.privilege, @@ -75,7 +75,7 @@ DBUG_RETURN(TRUE); /* Not allowed with EXCHANGE PARTITION */ - DBUG_ASSERT(!create_info.data_file_name && !create_info.index_file_name); + assert(!create_info.data_file_name && !create_info.index_file_name); thd->enable_slow_log= opt_log_slow_admin_statements; DBUG_RETURN(exchange_partition(thd, first_table, &alter_info)); @@ -224,10 +224,10 @@ my_error(ER_TABLES_DIFFERENT_METADATA, MYF(0)); DBUG_RETURN(TRUE); } - DBUG_ASSERT(table->s->db_create_options == - part_table->s->db_create_options); - DBUG_ASSERT(table->s->db_options_in_use == - part_table->s->db_options_in_use); + assert(table->s->db_create_options == + part_table->s->db_create_options); + assert(table->s->db_options_in_use == + part_table->s->db_options_in_use); if (table_create_info.avg_row_length != part_create_info.avg_row_length) { @@ -489,7 +489,7 @@ uint table_counter; bool error= TRUE; DBUG_ENTER("mysql_exchange_partition"); - DBUG_ASSERT(alter_info->flags & Alter_info::ALTER_EXCHANGE_PARTITION); + assert(alter_info->flags & Alter_info::ALTER_EXCHANGE_PARTITION); /* Don't allow to exchange with log table */ swap_table_list= table_list->next_local; @@ -574,7 +574,7 @@ if (swap_part_id == NOT_A_PARTITION_ID) { - DBUG_ASSERT(part_table->part_info->is_sub_partitioned()); + assert(part_table->part_info->is_sub_partitioned()); my_error(ER_PARTITION_INSTEAD_OF_SUBPARTITION, MYF(0)); DBUG_RETURN(TRUE); } @@ -827,7 +827,7 @@ my_ok(thd); // Invalidate query cache - DBUG_ASSERT(!first_table->next_local); + assert(!first_table->next_local); query_cache.invalidate(thd, first_table, FALSE); DBUG_RETURN(error); diff -Nru mysql-5.7-5.7.33/sql/sql_partition_admin.h mysql-5.7-5.7.34/sql/sql_partition_admin.h --- mysql-5.7-5.7.33/sql/sql_partition_admin.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_partition_admin.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_partition.cc mysql-5.7-5.7.34/sql/sql_partition.cc --- mysql-5.7-5.7.33/sql/sql_partition.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_partition.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -269,7 +269,7 @@ if (!part_handler) { - DBUG_ASSERT(0); + assert(0); my_error(ER_PARTITION_CLAUSE_ON_NONPARTITIONED, MYF(0)); DBUG_RETURN(true); } @@ -291,8 +291,8 @@ { DBUG_RETURN(TRUE); } - DBUG_ASSERT(part_info->num_parts > 0); - DBUG_ASSERT((num_parts % part_info->num_parts) == 0); + assert(part_info->num_parts > 0); + assert((num_parts % part_info->num_parts) == 0); part_info->num_subparts= num_parts / part_info->num_parts; } } @@ -329,7 +329,7 @@ longlong old_func_value; DBUG_ENTER("get_parts_for_update"); - DBUG_ASSERT(new_data == rec0); // table->record[0] + assert(new_data == rec0); // table->record[0] set_field_ptr(part_field_array, old_data, rec0); error= part_info->get_partition_id(part_info, old_part_id, &old_func_value); @@ -480,7 +480,7 @@ /* We are using hidden key as partitioning field */ - DBUG_ASSERT(!is_sub_part); + assert(!is_sub_part); DBUG_RETURN(result); } size_field_array= (num_fields+1)*sizeof(Field*); @@ -504,7 +504,7 @@ List_iterator it(part_info->part_field_list); char *field_name; - DBUG_ASSERT(num_fields == part_info->part_field_list.elements); + assert(num_fields == part_info->part_field_list.elements); inx= 0; do { @@ -521,7 +521,7 @@ add_column_list_values, handle_list_of_fields, check_partition_info etc. */ - DBUG_ASSERT(0); + assert(0); my_error(ER_FIELD_NOT_FOUND_PART_ERROR, MYF(0)); result= TRUE; continue; @@ -1095,7 +1095,7 @@ result= set_up_field_array(table, is_sub_part); end: end_lex_with_single_table(thd, table, old_lex); -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) func_expr->walk(&Item::change_context_processor, Item::WALK_POSTFIX, NULL); #endif DBUG_RETURN(result); @@ -1276,7 +1276,7 @@ uint bitmap_bytes= bitmap_buffer_size(bitmap_bits); DBUG_ENTER("set_up_partition_bitmaps"); - DBUG_ASSERT(!part_info->bitmaps_are_initialized); + assert(!part_info->bitmaps_are_initialized); /* Allocate for both read and lock_partitions */ if (!(bitmap_buf= (uint32*) alloc_root(&part_info->table->mem_root, @@ -1473,7 +1473,7 @@ { if (part_info->is_sub_partitioned()) { - DBUG_ASSERT(part_info->get_part_partition_id); + assert(part_info->get_part_partition_id); if (!part_info->column_list) { part_info->get_part_partition_id_charset= @@ -1483,7 +1483,7 @@ } else { - DBUG_ASSERT(part_info->get_partition_id); + assert(part_info->get_partition_id); if (!part_info->column_list) { part_info->get_part_partition_id_charset= part_info->get_partition_id; @@ -1493,7 +1493,7 @@ } if (part_info->subpart_charset_field_array) { - DBUG_ASSERT(part_info->get_subpartition_id); + assert(part_info->get_subpartition_id); part_info->get_subpartition_id_charset= part_info->get_subpartition_id; part_info->get_subpartition_id= get_part_id_charset_func_subpart; @@ -1690,7 +1690,7 @@ } if (part_info->is_sub_partitioned()) { - DBUG_ASSERT(part_info->subpart_type == HASH_PARTITION); + assert(part_info->subpart_type == HASH_PARTITION); /* Subpartition is defined. We need to verify that subpartitioning function is correct. @@ -1715,7 +1715,7 @@ } } } - DBUG_ASSERT(part_info->part_type != NOT_A_PARTITION); + assert(part_info->part_type != NOT_A_PARTITION); /* Partition is defined. We need to verify that partitioning function is correct. @@ -1773,7 +1773,7 @@ } else { - DBUG_ASSERT(0); + assert(0); my_error(ER_INCONSISTENT_PARTITION_INFO_ERROR, MYF(0)); goto end; } @@ -1836,7 +1836,7 @@ } else { - DBUG_ASSERT(0); + assert(0); my_error(ER_PARTITION_MGMT_ON_NONPARTITIONED, MYF(0)); } end: @@ -2362,7 +2362,7 @@ &result_type, &need_cs_check)) return 1; - DBUG_ASSERT(result_type == field->result_type()); + assert(result_type == field->result_type()); if (need_cs_check) field_cs= field->charset(); else @@ -2618,7 +2618,7 @@ err+= add_part_key_word(fptr, partition_keywords[PKW_HASH].str); break; default: - DBUG_ASSERT(0); + assert(0); /* We really shouldn't get here, no use in continuing from here */ my_error(ER_OUT_OF_RESOURCES, MYF(ME_FATALERROR)); DBUG_RETURN(NULL); @@ -3299,17 +3299,17 @@ list_index= max_list_index; /* Given value must be LESS THAN or EQUAL to the found partition. */ - DBUG_ASSERT(list_index == part_info->num_list_values || - (0 >= cmp_rec_and_tuple_prune(list_col_array + - list_index*num_columns, - nparts, left_endpoint, - include_endpoint))); + assert(list_index == part_info->num_list_values || + (0 >= cmp_rec_and_tuple_prune(list_col_array + + list_index*num_columns, + nparts, left_endpoint, + include_endpoint))); /* Given value must be GREATER THAN the previous partition. */ - DBUG_ASSERT(list_index == 0 || - (0 < cmp_rec_and_tuple_prune(list_col_array + - (list_index - 1)*num_columns, - nparts, left_endpoint, - include_endpoint))); + assert(list_index == 0 || + (0 < cmp_rec_and_tuple_prune(list_col_array + + (list_index - 1)*num_columns, + nparts, left_endpoint, + include_endpoint))); /* Include the right endpoint if not already passed end of array. */ if (!left_endpoint && include_endpoint && cmp == 0 && @@ -3404,7 +3404,7 @@ if (unsigned_flag) part_func_value-= 0x8000000000000000ULL; - DBUG_ASSERT(part_info->num_list_values); + assert(part_info->num_list_values); do { list_index= (max_list_index + min_list_index) >> 1; @@ -3631,10 +3631,10 @@ part_end_val= range_array[loc_part_id]; if (left_endpoint) { - DBUG_ASSERT(part_func_value > part_end_val ? - (loc_part_id == max_partition && - !part_info->defined_max_value) : - 1); + assert(part_func_value > part_end_val ? + (loc_part_id == max_partition && + !part_info->defined_max_value) : + 1); /* In case of PARTITION p VALUES LESS THAN MAXVALUE the maximum value is in the current (last) partition. @@ -4033,8 +4033,8 @@ uchar *old_rec; partition_info *part_info; DBUG_ENTER("verify_data_with_partition"); - DBUG_ASSERT(table && table->file && part_table && part_table->part_info && - part_table->file); + assert(table && table->file && part_table && part_table->part_info && + part_table->file); /* Verify all table rows. @@ -4317,13 +4317,13 @@ We know the top partition and need to scan all underlying subpartitions. This is a range without holes. */ - DBUG_ASSERT(sub_part == num_parts); + assert(sub_part == num_parts); part_spec->start_part= part_part * part_info->num_subparts; part_spec->end_part= part_spec->start_part+part_info->num_subparts - 1; } else { - DBUG_ASSERT(sub_part != num_parts); + assert(sub_part != num_parts); part_spec->start_part= sub_part; part_spec->end_part=sub_part+ (part_info->num_subparts*(part_info->num_parts-1)); @@ -4503,13 +4503,13 @@ table->part_info= part_info; part_info->table= table; part_handler= table->file->get_partition_handler(); - DBUG_ASSERT(part_handler != NULL); + assert(part_handler != NULL); part_handler->set_part_info(part_info, true); if (!part_info->default_engine_type) part_info->default_engine_type= default_db_type; - DBUG_ASSERT(part_info->default_engine_type == default_db_type); - DBUG_ASSERT(part_info->default_engine_type->db_type != DB_TYPE_UNKNOWN); - DBUG_ASSERT(!is_ha_partition_handlerton(part_info->default_engine_type)); + assert(part_info->default_engine_type == default_db_type); + assert(part_info->default_engine_type->db_type != DB_TYPE_UNKNOWN); + assert(!is_ha_partition_handlerton(part_info->default_engine_type)); { /* @@ -4747,8 +4747,8 @@ if (thd->lex->sql_command != SQLCOM_CREATE_TABLE) { table_engine_set= TRUE; - DBUG_ASSERT(engine_type && - !is_ha_partition_handlerton(engine_type)); + assert(engine_type && + !is_ha_partition_handlerton(engine_type)); } } DBUG_PRINT("info", ("engine_type = %s, table_engine_set = %u", @@ -4963,7 +4963,7 @@ partition_info **new_part_info) { DBUG_ENTER("prep_alter_part_table"); - DBUG_ASSERT(new_part_info); + assert(new_part_info); /* Foreign keys are not supported by ha_partition, waits for WL#148 */ if (is_ha_partition_handlerton(table->file->ht) && @@ -4971,7 +4971,7 @@ (alter_info->flags & Alter_info::ADD_FOREIGN_KEY || alter_info->flags & Alter_info::DROP_FOREIGN_KEY)) { - DBUG_ASSERT(table->part_info); + assert(table->part_info); my_error(ER_FOREIGN_KEY_ON_PARTITIONED, MYF(0)); DBUG_RETURN(TRUE); } @@ -4989,7 +4989,7 @@ DBUG_RETURN(TRUE); /* ALTER_ADMIN_PARTITION is handled in mysql_admin_table */ - DBUG_ASSERT(!(alter_info->flags & Alter_info::ALTER_ADMIN_PARTITION)); + assert(!(alter_info->flags & Alter_info::ALTER_ADMIN_PARTITION)); if (alter_info->flags & (Alter_info::ALTER_ADD_PARTITION | @@ -5015,7 +5015,7 @@ } if (!part_handler) { - DBUG_ASSERT(0); + assert(0); my_error(ER_PARTITION_MGMT_ON_NONPARTITIONED, MYF(0)); DBUG_RETURN(true); } @@ -5026,9 +5026,9 @@ Open it as a copy of the original table, and modify its partition_info object to allow fast_alter_partition_table to perform the changes. */ - DBUG_ASSERT(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, - alter_ctx->db, alter_ctx->table_name, - MDL_INTENTION_EXCLUSIVE)); + assert(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, + alter_ctx->db, alter_ctx->table_name, + MDL_INTENTION_EXCLUSIVE)); /* We will operate on a cached instance of the original table, @@ -5152,7 +5152,7 @@ } else if (thd->work_part_info->part_type == LIST_PARTITION) { - DBUG_ASSERT(thd->work_part_info->part_type == LIST_PARTITION); + assert(thd->work_part_info->part_type == LIST_PARTITION); my_error(ER_PARTITION_WRONG_VALUES_ERROR, MYF(0), "LIST", "IN"); } @@ -5163,7 +5163,7 @@ } else { - DBUG_ASSERT(tab_part_info->part_type == LIST_PARTITION); + assert(tab_part_info->part_type == LIST_PARTITION); my_error(ER_PARTITION_REQUIRES_VALUES_ERROR, MYF(0), "LIST", "IN"); } @@ -5657,7 +5657,7 @@ alt_part_info->part_type= tab_part_info->part_type; alt_part_info->subpart_type= tab_part_info->subpart_type; alt_part_info->num_subparts= tab_part_info->num_subparts; - DBUG_ASSERT(!alt_part_info->use_default_partitions); + assert(!alt_part_info->use_default_partitions); /* We specified partitions explicitly so don't use defaults anymore. */ tab_part_info->use_default_partitions= FALSE; if (alt_part_info->set_up_defaults_for_partitioning(part_handler, @@ -5781,7 +5781,7 @@ } else { - DBUG_ASSERT(FALSE); + assert(FALSE); } *partition_changed= TRUE; thd->work_part_info= tab_part_info; @@ -5948,7 +5948,7 @@ else if (alter_info->flags == Alter_info::ALTER_UPGRADE_PARTITIONING) { DBUG_PRINT("info", ("Upgrade partitioning")); - DBUG_ASSERT(create_info->used_fields == 0); + assert(create_info->used_fields == 0); /* Fast alter allowed as meta-data only change. */ *new_part_info= thd->work_part_info; /* Force table re-open for consistency with the main case. */ @@ -6007,8 +6007,8 @@ else part_info->default_engine_type= create_info->db_type; } - DBUG_ASSERT(part_info->default_engine_type && - !is_ha_partition_handlerton(part_info->default_engine_type)); + assert(part_info->default_engine_type && + !is_ha_partition_handlerton(part_info->default_engine_type)); if (check_native_partitioned(create_info, &is_native_partitioned, part_info, thd)) { @@ -6016,7 +6016,7 @@ } if (!is_native_partitioned) { - DBUG_ASSERT(create_info->db_type); + assert(create_info->db_type); LEX_CSTRING name= { "partition", 9 }; plugin_ref plugin= ha_resolve_by_name_raw(thd, name); if (!plugin) @@ -6079,7 +6079,7 @@ if (!part_handler) { - DBUG_ASSERT(0); + assert(0); DBUG_RETURN(true); } @@ -6576,7 +6576,7 @@ uint next_entry= 0; DDL_LOG_MEMORY_ENTRY *old_first_log_entry= part_info->first_log_entry; /* write_log_drop_shadow_frm(lpt) must have been run first */ - DBUG_ASSERT(old_first_log_entry); + assert(old_first_log_entry); DBUG_ENTER("write_log_add_change_partition"); build_table_filename(path, sizeof(path) - 1, lpt->db, @@ -6697,7 +6697,7 @@ DDL_LOG_MEMORY_ENTRY *log_entry= part_info->exec_log_entry; DBUG_ENTER("write_log_completed"); - DBUG_ASSERT(log_entry); + assert(log_entry); mysql_mutex_lock(&LOCK_gdl); if (write_execute_ddl_log_entry(0UL, TRUE, &log_entry)) { @@ -6788,16 +6788,16 @@ THD *thd= lpt->thd; TABLE *table= lpt->table; DBUG_ENTER("handle_alter_part_end"); - DBUG_ASSERT(table->m_needs_reopen); + assert(table->m_needs_reopen); /* First clone the part_info to save the log entries. */ part_info= lpt->part_info->get_clone(); - DBUG_ASSERT(error || - thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, - lpt->db, - lpt->table_name, - MDL_EXCLUSIVE)); + assert(error || + thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, + lpt->db, + lpt->table_name, + MDL_EXCLUSIVE)); DEBUG_SYNC(thd, "before_handle_alter_part_end"); /* All instances of this table needs to be closed. @@ -6816,7 +6816,7 @@ } else { - DBUG_ASSERT(error); + assert(error); /* At least remove this instance! @@ -6827,7 +6827,7 @@ table->pos_in_locked_tables, false); /* Assert that the current table is the first in list of open tables */ - DBUG_ASSERT(thd->open_tables == table); + assert(thd->open_tables == table); /* Make sure that the table is unlocked, closed and removed from @@ -6865,7 +6865,7 @@ "The frm file is in an unknown state, and a backup", "is required.", "See error log for more info."); - DBUG_ASSERT(0); + assert(0); error= true; } } @@ -6931,7 +6931,7 @@ MDL_ticket *mdl_ticket= table->mdl_ticket; Partition_handler *part_handler= table->file->get_partition_handler(); DBUG_ENTER("fast_alter_partition_table"); - DBUG_ASSERT(table->m_needs_reopen); + assert(table->m_needs_reopen); part_info= new_part_info; lpt->thd= thd; @@ -6954,7 +6954,7 @@ if (!part_handler) { - DBUG_ASSERT(0); + assert(0); my_error(ER_PARTITION_MGMT_ON_NONPARTITIONED, MYF(0)); DBUG_RETURN(true); } @@ -6962,9 +6962,9 @@ if (alter_info->flags & (Alter_info::ALTER_PARTITION | Alter_info::ALTER_UPGRADE_PARTITIONING)) { - DBUG_ASSERT(alter_info->flags == Alter_info::ALTER_PARTITION || - alter_info->flags == Alter_info::ALTER_UPGRADE_PARTITIONING); - DBUG_ASSERT(create_info->used_fields == 0); + assert(alter_info->flags == Alter_info::ALTER_PARTITION || + alter_info->flags == Alter_info::ALTER_UPGRADE_PARTITIONING); + assert(create_info->used_fields == 0); /* Only metadata changes, i.e frm-only! @@ -7752,17 +7752,17 @@ loc_part_id= max_part_id; /* Given value must be LESS THAN the found partition. */ - DBUG_ASSERT(loc_part_id == part_info->num_parts || - (0 > cmp_rec_and_tuple_prune(range_col_array + - loc_part_id * num_columns, - nparts, is_left_endpoint, - include_endpoint))); + assert(loc_part_id == part_info->num_parts || + (0 > cmp_rec_and_tuple_prune(range_col_array + + loc_part_id * num_columns, + nparts, is_left_endpoint, + include_endpoint))); /* Given value must be GREATER THAN or EQUAL to the previous partition. */ - DBUG_ASSERT(loc_part_id == 0 || - (0 <= cmp_rec_and_tuple_prune(range_col_array + - (loc_part_id - 1) * num_columns, - nparts, is_left_endpoint, - include_endpoint))); + assert(loc_part_id == 0 || + (0 <= cmp_rec_and_tuple_prune(range_col_array + + (loc_part_id - 1) * num_columns, + nparts, is_left_endpoint, + include_endpoint))); if (!is_left_endpoint) { @@ -7783,7 +7783,7 @@ PARTITION_ITERATOR *part_iter) { uint32 nparts; - get_col_endpoint_func get_col_endpoint; + get_col_endpoint_func get_col_endpoint = NULL; DBUG_ENTER("get_part_iter_for_interval_cols_via_map"); if (part_info->part_type == RANGE_PARTITION) @@ -7796,7 +7796,7 @@ get_col_endpoint= get_partition_id_cols_list_for_endpoint; part_iter->get_next= get_next_partition_id_list; part_iter->part_info= part_info; - DBUG_ASSERT(part_info->num_list_values); + assert(part_info->num_list_values); } else assert(0); @@ -7820,7 +7820,7 @@ part_iter->part_nums.end= part_info->num_parts; else /* LIST_PARTITION */ { - DBUG_ASSERT(part_info->part_type == LIST_PARTITION); + assert(part_info->part_type == LIST_PARTITION); part_iter->part_nums.end= part_info->num_list_values; } } @@ -7892,7 +7892,7 @@ bool check_zero_dates= false; bool zero_in_start_date= true; DBUG_ENTER("get_part_iter_for_interval_via_mapping"); - DBUG_ASSERT(!is_subpart); + assert(!is_subpart); (void) store_length_array; (void)min_len; (void)max_len; @@ -8031,10 +8031,10 @@ DBUG_PRINT("info", ("zero end %u %04d-%02d-%02d", zero_in_end_date, end_date.year, end_date.month, end_date.day)); - DBUG_ASSERT(!memcmp(((Item_func*) part_info->part_expr)->func_name(), - "to_days", 7) || - !memcmp(((Item_func*) part_info->part_expr)->func_name(), - "to_seconds", 10)); + assert(!memcmp(((Item_func*) part_info->part_expr)->func_name(), + "to_days", 7) || + !memcmp(((Item_func*) part_info->part_expr)->func_name(), + "to_seconds", 10)); if (!zero_in_end_date && start_date.month == end_date.month && start_date.year == end_date.year) @@ -8452,7 +8452,7 @@ const char *partition_name; DBUG_ENTER("set_up_table_before_create"); - DBUG_ASSERT(part_elem); + assert(part_elem); if (!part_elem) DBUG_RETURN(true); diff -Nru mysql-5.7-5.7.33/sql/sql_partition.h mysql-5.7-5.7.34/sql/sql_partition.h --- mysql-5.7-5.7.33/sql/sql_partition.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_partition.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_PARTITION_INCLUDED #define SQL_PARTITION_INCLUDED -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_planner.cc mysql-5.7-5.7.34/sql/sql_planner.cc --- mysql-5.7-5.7.33/sql/sql_planner.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_planner.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -378,7 +378,7 @@ } else { /* Prefer longer keys */ - DBUG_ASSERT(table->s->max_key_length > 0); + assert(table->s->max_key_length > 0); cur_fanout= ((double) tab->records() / (double) distinct_keys_est * (1.0 + @@ -1253,7 +1253,7 @@ contribute to filtering effect. First, verify it's not used. */ - DBUG_ASSERT(bitmap_is_clear_all(&table->tmp_set)); + assert(bitmap_is_clear_all(&table->tmp_set)); float filter= COND_FILTER_ALLPASS; @@ -1331,7 +1331,7 @@ */ if (bitmap_is_subset(&table->cond_set, &table->tmp_set)) { - DBUG_ASSERT(filter == COND_FILTER_ALLPASS); + assert(filter == COND_FILTER_ALLPASS); goto cleanup; } /* @@ -1436,7 +1436,7 @@ cleanup: // Clear tmp_set so it can be used elsewhere bitmap_clear_all(&table->tmp_set); - DBUG_ASSERT(filter >= 0.0f && filter <= 1.0f); + assert(filter >= 0.0f && filter <= 1.0f); return filter; } @@ -1564,7 +1564,7 @@ Opt_trace_object trace_ls(trace, "searching_loose_scan_index"); TABLE *const table= tab->table(); - DBUG_ASSERT(remaining_tables & tab->table_ref->map()); + assert(remaining_tables & tab->table_ref->map()); const ulonglong bound_sj_equalities= get_bound_sj_equalities(tab, excluded_tables | remaining_tables); @@ -1628,7 +1628,7 @@ continue; handled_sj_equalities|= 1ULL << keyuse->sj_pred_no; handled_keyparts|= keyuse->keypart_map; - DBUG_ASSERT(max_keypart <= keypart); // see sort_keyuse() + assert(max_keypart <= keypart); // see sort_keyuse() max_keypart= keypart; } } @@ -2006,7 +2006,7 @@ const Cost_model_server *const cost_model= join->cost_model(); // resolve_subquery() disables semijoin if STRAIGHT_JOIN - DBUG_ASSERT(join->select_lex->sj_nests.is_empty()); + assert(join->select_lex->sj_nests.is_empty()); Opt_trace_context * const trace= &join->thd->opt_trace; for (JOIN_TAB **pos= join->best_ref + idx; *pos; idx++, pos++) @@ -2024,7 +2024,7 @@ based on them (join_tab_cmp*) guarantee that this order is compatible with execution, check it: */ - DBUG_ASSERT(!check_interleaving_with_nj(s)); + assert(!check_interleaving_with_nj(s)); /* Find the best access method from 's' to the current partial plan */ best_access_path(s, join_tables, idx, false, rowcount, position); @@ -2093,7 +2093,7 @@ table_map remaining_tables, const JOIN_TAB *tab, uint idx) { - DBUG_ASSERT(!(remaining_tables & tab->table_ref->map())); + assert(!(remaining_tables & tab->table_ref->map())); /* Check if 1. We're in a semi-join nest that can be run with SJ-materialization @@ -2236,7 +2236,7 @@ 'best_read < DBL_MAX' means that optimizer managed to find some plan and updated 'best_positions' array accordingly. */ - DBUG_ASSERT(join->best_read < DBL_MAX); + assert(join->best_read < DBL_MAX); if (size_remain <= search_depth) { @@ -2278,14 +2278,14 @@ bool is_interleave_error MY_ATTRIBUTE((unused))= check_interleaving_with_nj (best_table); /* This has been already checked by best_extension_by_limited_search */ - DBUG_ASSERT(!is_interleave_error); + assert(!is_interleave_error); /* find the position of 'best_table' in 'join->best_ref' */ best_idx= idx; JOIN_TAB *pos= join->best_ref[best_idx]; while (pos && best_table != pos) pos= join->best_ref[++best_idx]; - DBUG_ASSERT((pos != NULL)); // should always find 'best_table' + assert((pos != NULL)); // should always find 'best_table' /* Maintain '#rows-sorted' order of 'best_ref[]': - Shift 'best_ref[]' to make first position free. @@ -2635,7 +2635,7 @@ POSITION *const position= join->positions + idx; // If optimizing a sj-mat nest, tables in this plan must be in nest: - DBUG_ASSERT(emb_sjm_nest == NULL || emb_sjm_nest == s->emb_sj_nest); + assert(emb_sjm_nest == NULL || emb_sjm_nest == s->emb_sj_nest); /* Find the best access method from 's' to the current partial plan */ best_access_path(s, remaining_tables, idx, false, idx ? (position-1)->prefix_rowcount : 1.0, @@ -2785,9 +2785,9 @@ If plan is complete, there should be no "open" outer join nest, and all semi join nests should be handled by a strategy: */ - DBUG_ASSERT((remaining_tables_after != 0) || - ((cur_embedding_map == 0) && - (join->positions[idx].dups_producing_tables == 0))); + assert((remaining_tables_after != 0) || + ((cur_embedding_map == 0) && + (join->positions[idx].dups_producing_tables == 0))); } backout_nj_state(remaining_tables, s); } @@ -2989,7 +2989,7 @@ } POSITION *const position= join->positions + idx; - DBUG_ASSERT(emb_sjm_nest == NULL || emb_sjm_nest == s->emb_sj_nest); + assert(emb_sjm_nest == NULL || emb_sjm_nest == s->emb_sj_nest); /* Find the best access method from 's' to the current partial plan */ best_access_path(s, remaining_tables, idx, false, idx ? (position-1)->prefix_rowcount : 1.0, @@ -3072,9 +3072,9 @@ else { consider_plan(idx, &trace_one_table); - DBUG_ASSERT((remaining_tables_after != 0) || - ((cur_embedding_map == 0) && - (join->positions[idx].dups_producing_tables == 0))); + assert((remaining_tables_after != 0) || + ((cur_embedding_map == 0) && + (join->positions[idx].dups_producing_tables == 0))); } backout_nj_state(remaining_tables, s); memcpy(join->best_ref + idx, saved_refs, @@ -3092,7 +3092,7 @@ the query plan. We need to use the greedy search for finding the next table to be added. */ - DBUG_ASSERT(!eq_ref_ext); + assert(!eq_ref_ext); if (best_extension_by_limited_search(remaining_tables, idx, current_search_depth)) @@ -3307,8 +3307,8 @@ (join->best_positions + last_inner)->table->emb_sj_nest; const uint table_count= my_count_bits(sjm_nest->sj_inner_tables); first= last_inner - table_count + 1; - DBUG_ASSERT((join->best_positions + first)->table->emb_sj_nest == - sjm_nest); + assert((join->best_positions + first)->table->emb_sj_nest == + sjm_nest); memcpy(join->best_positions + first, // stale semijoin strategy here too sjm_nest->nested_join->sjm.positions, sizeof(POSITION) * table_count); @@ -3387,7 +3387,7 @@ remaining_tables|= pos->table->table_ref->map(); } - DBUG_ASSERT(remaining_tables == (join->all_table_map&~join->const_table_map)); + assert(remaining_tables == (join->all_table_map&~join->const_table_map)); DBUG_RETURN(FALSE); } @@ -3641,7 +3641,7 @@ so best_access_path() should fill bound_keyparts/read_cost/fanout for all keys => test_all_ref_keys==true. */ - DBUG_ASSERT(!test_all_ref_keys); + assert(!test_all_ref_keys); test_all_ref_keys= is_ls_driving_tab; best_access_path(tab, remaining_tables, i, i < no_jbuf_before, rowcount * inner_fanout * outer_fanout, @@ -3661,7 +3661,7 @@ } else { - DBUG_ASSERT(!final); + assert(!final); DBUG_RETURN(false); } } @@ -3676,7 +3676,7 @@ */ if (pos->read_cost == DBL_MAX) { - DBUG_ASSERT(loosescan && !final); + assert(loosescan && !final); DBUG_RETURN(false); } @@ -4041,10 +4041,10 @@ within a semi-join nest have emb_sj_nest != NULL, which triggers several of the actions inside this function. */ - DBUG_ASSERT(emb_sjm_nest == NULL); + assert(emb_sjm_nest == NULL); // remaining_tables include the current one: - DBUG_ASSERT(remaining_tables & new_join_tab->table_ref->map()); + assert(remaining_tables & new_join_tab->table_ref->map()); // Save it: const table_map remaining_tables_incl= remaining_tables; // And add the current table to the join prefix: @@ -4134,8 +4134,8 @@ pos->firstmatch_need_tables= 0; pos->first_firstmatch_rtbl= remaining_tables; // All inner tables should still be part of remaining_tables_inc - DBUG_ASSERT(sj_inner_tables == - (remaining_tables_incl & sj_inner_tables)); + assert(sj_inner_tables == + (remaining_tables_incl & sj_inner_tables)); } if (pos->first_firstmatch_table != MAX_TABLES) @@ -4212,7 +4212,7 @@ else { // Stage 3: Accept outer dependent and non-dependent tables: - DBUG_ASSERT(emb_sj_nest != first_emb_sj_nest); + assert(emb_sj_nest != first_emb_sj_nest); if (emb_sj_nest != NULL) pos->first_loosescan_table= MAX_TABLES; } @@ -4565,7 +4565,7 @@ void Optimize_table_order::backout_nj_state(const table_map remaining_tables, const JOIN_TAB *tab) { - DBUG_ASSERT(remaining_tables & tab->table_ref->map()); + assert(remaining_tables & tab->table_ref->map()); /* Restore the nested join state */ TABLE_LIST *last_emb= tab->table_ref->embedding; @@ -4578,7 +4578,7 @@ NESTED_JOIN *const nest= last_emb->nested_join; - DBUG_ASSERT(nest->nj_counter > 0); + assert(nest->nj_counter > 0); cur_embedding_map|= nest->nj_map; bool was_fully_covered= nest->nj_total == nest->nj_counter; diff -Nru mysql-5.7-5.7.33/sql/sql_planner.h mysql-5.7-5.7.34/sql/sql_planner.h --- mysql-5.7-5.7.33/sql/sql_planner.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_planner.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_PLANNER_INCLUDED #define SQL_PLANNER_INCLUDED -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_plist.h mysql-5.7-5.7.34/sql/sql_plist.h --- mysql-5.7-5.7.33/sql/sql_plist.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_plist.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef SQL_PLIST_H #define SQL_PLIST_H -/* Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_plugin.cc mysql-5.7-5.7.34/sql/sql_plugin.cc --- mysql-5.7-5.7.33/sql/sql_plugin.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_plugin.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -63,7 +63,7 @@ #define REPORT_TO_LOG 1 #define REPORT_TO_USER 2 -#ifndef DBUG_OFF +#ifndef NDEBUG static PSI_memory_key key_memory_plugin_ref; #endif @@ -585,7 +585,7 @@ */ #if !defined(_WIN32) errmsg= dlerror(); - DBUG_ASSERT(errmsg == NULL); + assert(errmsg == NULL); #endif DBUG_RETURN(NULL); } @@ -654,7 +654,7 @@ When the following assert starts failing, we'll have to call report_error(report, ER_CANT_FIND_DL_ENTRY, sizeof_st_plugin_sym); */ - DBUG_ASSERT(min_plugin_interface_version == 0); + assert(min_plugin_interface_version == 0); sizeof_st_plugin= (int)offsetof(st_mysql_plugin, version); } @@ -847,7 +847,7 @@ if (pi->state & (PLUGIN_IS_READY | PLUGIN_IS_UNINITIALIZED)) { plugin_ref plugin; -#ifdef DBUG_OFF +#ifdef NDEBUG /* built-in plugins don't need ref counting */ if (!pi->plugin_dl) DBUG_RETURN(pi); @@ -1138,7 +1138,7 @@ pi= plugin_ref_to_int(plugin); -#ifdef DBUG_OFF +#ifdef NDEBUG if (!pi->plugin_dl) DBUG_VOID_RETURN; #else @@ -1165,10 +1165,10 @@ break; } } - DBUG_ASSERT(found_it); + assert(found_it); } - DBUG_ASSERT(pi->ref_count); + assert(pi->ref_count); pi->ref_count--; if (pi->state == PLUGIN_IS_DELETED && !pi->ref_count) @@ -1184,7 +1184,7 @@ DBUG_ENTER("plugin_unlock"); if (!plugin) DBUG_VOID_RETURN; -#ifdef DBUG_OFF +#ifdef NDEBUG /* built-in plugins don't need ref counting */ if (!plugin_dlib(plugin)) DBUG_VOID_RETURN; @@ -1201,7 +1201,7 @@ { LEX *lex= thd ? thd->lex : 0; DBUG_ENTER("plugin_unlock_list"); - DBUG_ASSERT(list); + assert(list); /* In unit tests, LOCK_plugin may be uninitialized, so do not lock it. @@ -1225,7 +1225,7 @@ mysql_mutex_assert_owner(&LOCK_plugin); uint state= plugin->state; - DBUG_ASSERT(state == PLUGIN_IS_UNINITIALIZED); + assert(state == PLUGIN_IS_UNINITIALIZED); mysql_mutex_unlock(&LOCK_plugin); if (plugin_type_initialize[plugin->plugin->type]) @@ -1338,7 +1338,7 @@ static PSI_memory_info all_plugin_memory[]= { -#ifndef DBUG_OFF +#ifndef NDEBUG { &key_memory_plugin_ref, "plugin_ref", PSI_FLAG_GLOBAL}, #endif { &key_memory_plugin_mem_root, "plugin_mem_root", PSI_FLAG_GLOBAL}, @@ -1478,7 +1478,7 @@ DBUG_ENTER("plugin_register_early_plugins"); /* Don't allow initializing twice */ - DBUG_ASSERT(!initialized); + assert(!initialized); /* Make sure the internals are initialized */ if ((retval= plugin_init_internals())) @@ -1516,7 +1516,7 @@ DBUG_ENTER("plugin_register_builtin_and_init_core_se"); /* Don't allow initializing twice */ - DBUG_ASSERT(!initialized); + assert(!initialized); /* Allocate the temporary mem root, will be freed before returning */ MEM_ROOT tmp_root; @@ -1602,20 +1602,20 @@ */ if (is_myisam) { - DBUG_ASSERT(!global_system_variables.table_plugin); - DBUG_ASSERT(!global_system_variables.temp_table_plugin); + assert(!global_system_variables.table_plugin); + assert(!global_system_variables.temp_table_plugin); global_system_variables.table_plugin= my_intern_plugin_lock(NULL, plugin_int_to_ref(plugin_ptr)); global_system_variables.temp_table_plugin= my_intern_plugin_lock(NULL, plugin_int_to_ref(plugin_ptr)); - DBUG_ASSERT(plugin_ptr->ref_count == 2); + assert(plugin_ptr->ref_count == 2); } } } /* Should now be set to MyISAM storage engine */ - DBUG_ASSERT(global_system_variables.table_plugin); - DBUG_ASSERT(global_system_variables.temp_table_plugin); + assert(global_system_variables.table_plugin); + assert(global_system_variables.temp_table_plugin); mysql_mutex_unlock(&LOCK_plugin); @@ -2982,7 +2982,7 @@ size= sizeof(double); break; default: - DBUG_ASSERT(0); + assert(0); return NULL; }; @@ -3001,7 +3001,7 @@ result->name_len= length - 2; result->offset= -1; - DBUG_ASSERT(size && !(size & (size-1))); /* must be power of 2 */ + assert(size && !(size & (size-1))); /* must be power of 2 */ offset= global_system_variables.dynamic_variables_size; offset= (offset + size - 1) & ~(size - 1); @@ -3046,7 +3046,7 @@ if (my_hash_insert(&bookmark_hash, (uchar*) result)) { fprintf(stderr, "failed to add placeholder to hash"); - DBUG_ASSERT(0); + assert(0); } /* @@ -3059,7 +3059,7 @@ { fprintf(stderr, "failed to add placeholder to" " hash of malloced string type sysvars"); - DBUG_ASSERT(0); + assert(0); } } return result; @@ -3099,7 +3099,7 @@ MAINTAINER: The following assert is wrong on purpose, useful to debug when thd dynamic variables are expanded: - DBUG_ASSERT(thd->variables.dynamic_variables_ptr == NULL); + assert(thd->variables.dynamic_variables_ptr == NULL); */ thd->variables.dynamic_variables_ptr= (char*) @@ -3112,7 +3112,7 @@ Debug hook which allows tests to check that this code is not called for InnoDB after connection was created. */ - DBUG_EXECUTE_IF("verify_innodb_thdvars", DBUG_ASSERT(0);); + DBUG_EXECUTE_IF("verify_innodb_thdvars", assert(0);); memcpy(thd->variables.dynamic_variables_ptr + thd->variables.dynamic_variables_size, @@ -3172,8 +3172,8 @@ */ static uchar *intern_sys_var_ptr(THD* thd, int offset, bool global_lock) { - DBUG_ASSERT(offset >= 0); - DBUG_ASSERT((uint)offset <= global_system_variables.dynamic_variables_head); + assert(offset >= 0); + assert((uint)offset <= global_system_variables.dynamic_variables_head); if (!thd) return (uchar*) global_system_variables.dynamic_variables_ptr + offset; @@ -3312,8 +3312,8 @@ thd->variables.track_sysvars_ptr = NULL; thd->session_sysvar_res_mgr.deinit(); } - DBUG_ASSERT(vars->table_plugin == NULL); - DBUG_ASSERT(vars->temp_table_plugin == NULL); + assert(vars->table_plugin == NULL); + assert(vars->temp_table_plugin == NULL); my_free(vars->dynamic_variables_ptr); vars->dynamic_variables_ptr= NULL; @@ -3403,7 +3403,7 @@ case PLUGIN_VAR_DOUBLE: return SHOW_DOUBLE; default: - DBUG_ASSERT(0); + assert(0); return SHOW_UNDEF; } } @@ -3565,7 +3565,7 @@ uchar* sys_var_pluginvar::real_value_ptr(THD *thd, enum_var_type type) { - DBUG_ASSERT(thd || (type == OPT_GLOBAL)); + assert(thd || (type == OPT_GLOBAL)); if (plugin_var->flags & PLUGIN_VAR_THDLOCAL) { if (type == OPT_GLOBAL) @@ -3613,8 +3613,8 @@ bool sys_var_pluginvar::do_check(THD *thd, set_var *var) { st_item_value_holder value; - DBUG_ASSERT(!is_readonly()); - DBUG_ASSERT(plugin_var->check); + assert(!is_readonly()); + assert(plugin_var->check); value.value_type= item_value_type; value.val_str= item_val_str; @@ -3629,9 +3629,9 @@ bool sys_var_pluginvar::session_update(THD *thd, set_var *var) { bool rc= false; - DBUG_ASSERT(!is_readonly()); - DBUG_ASSERT(plugin_var->flags & PLUGIN_VAR_THDLOCAL); - DBUG_ASSERT(thd == current_thd); + assert(!is_readonly()); + assert(plugin_var->flags & PLUGIN_VAR_THDLOCAL); + assert(thd == current_thd); mysql_mutex_lock(&LOCK_global_system_variables); void *tgt= real_value_ptr(thd, var->type); @@ -3652,7 +3652,7 @@ bool sys_var_pluginvar::global_update(THD *thd, set_var *var) { bool rc= false; - DBUG_ASSERT(!is_readonly()); + assert(!is_readonly()); mysql_mutex_assert_owner(&LOCK_global_system_variables); void *tgt= real_value_ptr(thd, var->type); @@ -3710,7 +3710,7 @@ src= &((thdvar_double_t*) plugin_var)->def_val; break; default: - DBUG_ASSERT(0); + assert(0); } } @@ -3753,8 +3753,8 @@ bool sys_var_pluginvar::on_check_pluginvar(sys_var *self, THD *thd, set_var *var) { /* This handler is installed only if NO_DEFAULT is specified */ - DBUG_ASSERT(((sys_var_pluginvar *) self)->plugin_var->flags & - PLUGIN_VAR_NODEFAULT); + assert(((sys_var_pluginvar *) self)->plugin_var->flags & + PLUGIN_VAR_NODEFAULT); return (!var->value); } @@ -3874,7 +3874,7 @@ options->def_value= (intptr) ((thdvar_str_t*) opt)->def_val; break; default: - DBUG_ASSERT(0); + assert(0); } options->arg_type= REQUIRED_ARG; if (opt->flags & PLUGIN_VAR_NOCMDARG) @@ -4256,7 +4256,7 @@ size_t len; uint count= EXTRA_OPTIONS; DBUG_ENTER("test_plugin_options"); - DBUG_ASSERT(tmp->plugin && tmp->name.str); + assert(tmp->plugin && tmp->name.str); /* The 'federated' and 'ndbcluster' storage engines are always disabled by @@ -4350,7 +4350,7 @@ convert_dash_to_underscore(varname, len-1); v= new (mem_root) sys_var_pluginvar(&chain, varname, o); } - DBUG_ASSERT(v); /* check that an object was actually constructed */ + assert(v); /* check that an object was actually constructed */ } /* end for */ if (chain.first) { diff -Nru mysql-5.7-5.7.33/sql/sql_plugin_enum.h mysql-5.7-5.7.34/sql/sql_plugin_enum.h --- mysql-5.7-5.7.33/sql/sql_plugin_enum.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_plugin_enum.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_plugin.h mysql-5.7-5.7.34/sql/sql_plugin.h --- mysql-5.7-5.7.33/sql/sql_plugin.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_plugin.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -40,7 +40,7 @@ #include "sql_cmd.h" #include "sql_plugin_ref.h" -#ifdef DBUG_OFF +#ifdef NDEBUG #define plugin_ref_to_int(A) A #define plugin_int_to_ref(A) A #else diff -Nru mysql-5.7-5.7.33/sql/sql_plugin_ref.h mysql-5.7-5.7.34/sql/sql_plugin_ref.h --- mysql-5.7-5.7.33/sql/sql_plugin_ref.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_plugin_ref.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -60,7 +60,7 @@ conditionally defined plugin_ref type */ -#ifdef DBUG_OFF +#ifdef NDEBUG typedef struct st_plugin_int *plugin_ref; inline st_mysql_plugin *plugin_decl(st_plugin_int *ref) diff -Nru mysql-5.7-5.7.33/sql/sql_plugin_services.h mysql-5.7-5.7.34/sql/sql_plugin_services.h --- mysql-5.7-5.7.33/sql/sql_plugin_services.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_plugin_services.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_prepare.cc mysql-5.7-5.7.34/sql/sql_prepare.cc --- mysql-5.7-5.7.33/sql/sql_prepare.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_prepare.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -296,6 +296,7 @@ { LEX *m_lex; LEX_CSTRING m_query_string; + bool m_safe_to_display; public: LEX *lex() const { return m_lex; } @@ -316,6 +317,12 @@ m_query_string= thd->query(); thd->set_query(stmt->m_query_string); + m_safe_to_display = thd->safe_to_display(); + + /* Keep the current behaviour of displaying prepared statements always by + default. This can be changed in future if required. */ + thd->set_safe_display(true); + DBUG_VOID_RETURN; } @@ -333,6 +340,7 @@ thd->lex= m_lex; mysql_mutex_unlock(&thd->LOCK_thd_data); + thd->set_safe_display(m_safe_to_display); stmt->m_query_string= thd->query(); thd->set_query(m_query_string); @@ -781,7 +789,7 @@ param->value.cs_info.character_set_of_placeholder= &my_charset_bin; param->value.cs_info.character_set_client= thd->variables.character_set_client; - DBUG_ASSERT(thd->variables.character_set_client); + assert(thd->variables.character_set_client); param->value.cs_info.final_character_set_of_str_value= &my_charset_bin; param->item_type= Item::STRING_ITEM; param->item_result_type= STRING_RESULT; @@ -1159,7 +1167,7 @@ if (param->convert_str_value(thd)) goto error; - DBUG_ASSERT(param->pos_in_query > length); + assert(param->pos_in_query > length); size_t num_bytes = param->pos_in_query - length; if (query->length() + num_bytes + val->length() > std::numeric_limits::max()) @@ -1299,7 +1307,7 @@ if (table_list->is_multiple_tables()) { - DBUG_ASSERT(table_list->is_view()); + assert(table_list->is_view()); DBUG_PRINT("info", ("Switch to multi-update")); /* convert to multiupdate */ DBUG_RETURN(2); @@ -1334,8 +1342,8 @@ SELECT_LEX *const select= thd->lex->select_lex; - DBUG_ASSERT(thd->lex->query_tables == - thd->lex->select_lex->get_table_list()); + assert(thd->lex->query_tables == + thd->lex->select_lex->get_table_list()); TABLE_LIST *const table_list= select->get_table_list(); if (delete_precheck(thd, table_list)) @@ -1471,7 +1479,7 @@ THD *thd= stmt->thd; set_var_base *var; DBUG_ENTER("mysql_test_set_fields"); - DBUG_ASSERT(stmt->is_stmt_prepare()); + assert(stmt->is_stmt_prepare()); if (tables && check_table_access(thd, SELECT_ACL, tables, FALSE, UINT_MAX, FALSE)) @@ -1484,6 +1492,7 @@ { if (var->light_check(thd)) DBUG_RETURN(true); /* purecov: inspected */ + var->cleanup(); } DBUG_RETURN(false); @@ -1509,7 +1518,7 @@ THD *thd= stmt->thd; Item *item; DBUG_ENTER("mysql_test_call_fields"); - DBUG_ASSERT(stmt->is_stmt_prepare()); + assert(stmt->is_stmt_prepare()); if (tables && check_table_access(thd, SELECT_ACL, tables, FALSE, UINT_MAX, FALSE)) @@ -1667,7 +1676,7 @@ TABLE_LIST *create_table= lex->query_tables; TABLE_LIST *tables= lex->create_last_non_select_table->next_global; DBUG_ENTER("mysql_test_create_table"); - DBUG_ASSERT(stmt->is_stmt_prepare()); + assert(stmt->is_stmt_prepare()); if (create_table_precheck(thd, tables, create_table)) DBUG_RETURN(TRUE); @@ -1728,7 +1737,7 @@ TABLE_LIST *view= lex->unlink_first_table(&link_to_local); TABLE_LIST *tables= lex->query_tables; DBUG_ENTER("mysql_test_create_view"); - DBUG_ASSERT(stmt->is_stmt_prepare()); + assert(stmt->is_stmt_prepare()); if (create_view_precheck(thd, tables, view, lex->create_view_mode)) goto err; @@ -1843,7 +1852,7 @@ /* store it, because Sql_cmd_insert_select::prepare() change it */ first_local_table= lex->select_lex->table_list.first; - DBUG_ASSERT(first_local_table != 0); + assert(first_local_table != 0); res= select_like_stmt_cmd_test_with_open(thd, tables, @@ -1876,7 +1885,7 @@ { THD *thd= stmt->thd; LEX *lex= stmt->lex; - DBUG_ASSERT(lex == thd->lex); // set_n_backup_active_arena() guarantees that + assert(lex == thd->lex); // set_n_backup_active_arena() guarantees that SELECT_LEX *select_lex= lex->select_lex; enum enum_sql_command sql_command= lex->sql_command; int res= 0; @@ -1931,7 +1940,7 @@ case SQLCOM_UPDATE_MULTI: case SQLCOM_DELETE: case SQLCOM_DELETE_MULTI: - DBUG_ASSERT(thd->lex == stmt->lex); + assert(thd->lex == stmt->lex); res= static_cast(lex->m_sql_cmd)->prepared_statement_test(thd); break; @@ -2219,7 +2228,7 @@ NULL value of variable checked early as entry->value so here we can't get NULL in normal conditions */ - DBUG_ASSERT(!is_var_null); + assert(!is_var_null); if (!var_value) goto end; } @@ -2407,15 +2416,15 @@ if (sl->where_cond()) { - DBUG_ASSERT(sl->where_cond()->real_item()); // no dangling 'ref' + assert(sl->where_cond()->real_item()); // no dangling 'ref' sl->where_cond()->cleanup(); } if (sl->having_cond()) { - DBUG_ASSERT(sl->having_cond()->real_item()); + assert(sl->having_cond()->real_item()); sl->having_cond()->cleanup(); } - DBUG_ASSERT(sl->join == 0); + assert(sl->join == 0); ORDER *order; /* Fix GROUP list */ if (sl->group_list_ptrs && sl->group_list_ptrs->size() > 0) @@ -2506,7 +2515,7 @@ if (reprepare_observer && reprepare_observer->report_error(thd)) { - DBUG_ASSERT(thd->is_error()); + assert(thd->is_error()); DBUG_RETURN(true); } } @@ -2777,7 +2786,7 @@ The only way currently a statement can be deallocated when it's in use is from within Dynamic SQL. */ - DBUG_ASSERT(! stmt->is_in_use()); + assert(! stmt->is_in_use()); MYSQL_DESTROY_PS(stmt->m_prepared_stmt); stmt->deallocate(); query_logger.general_log_print(thd, thd->get_command(), NullS); @@ -3137,7 +3146,7 @@ free_items(); if (lex) { - DBUG_ASSERT(lex->sphead == NULL); + assert(lex->sphead == NULL); lex_end(lex); delete lex->result; delete (st_lex_local *) lex; // TRASH memory @@ -3340,7 +3349,7 @@ If called from a stored procedure, ensure that we won't rollback external changes when cleaning up after validation. */ - DBUG_ASSERT(thd->change_list.is_empty()); + assert(thd->change_list.is_empty()); /* Marker used to release metadata locks acquired while the prepared @@ -3362,13 +3371,13 @@ statements: ensure we have no memory leak here if by someone tries to PREPARE stmt FROM "CREATE PROCEDURE ..." */ - DBUG_ASSERT(lex->sphead == NULL || error != 0); + assert(lex->sphead == NULL || error != 0); /* The order is important */ lex->unit->cleanup(true); lex->clear_values_map(); /* No need to commit statement transaction, it's not started. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); close_thread_tables(thd); thd->mdl_context.rollback_to_savepoint(mdl_savepoint); @@ -3381,7 +3390,7 @@ Once dynamic SQL is allowed as substatements the below if-statement has to be adjusted to not do rollback in substatement. */ - DBUG_ASSERT(! thd->in_sub_stmt); + assert(! thd->in_sub_stmt); if (thd->transaction_rollback_request) { trans_rollback_implicit(thd); @@ -3565,7 +3574,7 @@ return TRUE; } - DBUG_ASSERT(!thd->get_stmt_da()->is_set()); + assert(!thd->get_stmt_da()->is_set()); if (set_parameters(expanded_query, packet, packet_end)) return TRUE; @@ -3583,7 +3592,7 @@ allocated items when cleaning up after validation of the prepared statement. */ - DBUG_ASSERT(thd->free_list == NULL); + assert(thd->free_list == NULL); /* Install the metadata observer. If some metadata version is @@ -3610,7 +3619,7 @@ reprepare_observer.is_invalidated() && reprepare_attempt++ < MAX_REPREPARE_ATTEMPTS) { - DBUG_ASSERT(thd->get_stmt_da()->mysql_errno() == ER_NEED_REPREPARE); + assert(thd->get_stmt_da()->mysql_errno() == ER_NEED_REPREPARE); thd->clear_error(); error= reprepare(); @@ -3706,7 +3715,7 @@ swap_prepared_statement(©); swap_parameter_array(param_array, copy.param_array, param_count); -#ifndef DBUG_OFF +#ifndef NDEBUG is_reprepared= TRUE; #endif /* @@ -3799,8 +3808,8 @@ /* Ditto */ swap_variables(LEX_CSTRING, m_db, copy->m_db); - DBUG_ASSERT(param_count == copy->param_count); - DBUG_ASSERT(thd == copy->thd); + assert(param_count == copy->param_count); + assert(thd == copy->thd); last_error[0]= '\0'; last_errno= 0; } @@ -3885,7 +3894,7 @@ If the free_list is not empty, we'll wrongly free some externally allocated items when cleaning up after execution of this statement. */ - DBUG_ASSERT(thd->change_list.is_empty()); + assert(thd->change_list.is_empty()); /* The only case where we should have items in the thd->free_list is @@ -4011,11 +4020,13 @@ mysql_change_db(thd, to_lex_cstring(saved_cur_db_name), true); /* Assert that if an error, no cursor is open */ - DBUG_ASSERT(! (error && cursor)); + assert(! (error && cursor)); if (! cursor) cleanup_stmt(); + thd->lex->release_plugins(); + /* Expanded query is needed for slow logging, so we want thd->query to point at it even after we restore from backup. This is ok, as @@ -4248,7 +4259,7 @@ { Ed_result_set *ed_result_set; - DBUG_ASSERT(m_current_rset); + assert(m_current_rset); if (m_current_rset == m_rsets) { @@ -4529,7 +4540,7 @@ { Ed_result_set *ed_result_set; - DBUG_ASSERT(m_rset); + assert(m_rset); opt_add_row_to_rset(); m_current_row= 0; @@ -4543,7 +4554,7 @@ return TRUE; /* In case of successful allocation memory ownership was transferred. */ - DBUG_ASSERT(!alloc_root_inited(&m_rset_root)); + assert(!alloc_root_inited(&m_rset_root)); /* Link the created Ed_result_set instance into the list of connection @@ -4610,7 +4621,7 @@ Protocol_local::start_row() { DBUG_ENTER("Protocol_local::start_row"); - DBUG_ASSERT(alloc_root_inited(&m_rset_root)); + assert(alloc_root_inited(&m_rset_root)); opt_add_row_to_rset(); /* Start a new row. */ diff -Nru mysql-5.7-5.7.33/sql/sql_prepare.h mysql-5.7-5.7.34/sql/sql_prepare.h --- mysql-5.7-5.7.33/sql/sql_prepare.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_prepare.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef SQL_PREPARE_H #define SQL_PREPARE_H -/* Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -358,7 +358,7 @@ } const Ed_column *get_column(const unsigned int column_index) const { - DBUG_ASSERT(column_index < size()); + assert(column_index < size()); return m_column_array + column_index; } size_t size() const { return m_column_count; } diff -Nru mysql-5.7-5.7.33/sql/sql_profile.cc mysql-5.7-5.7.34/sql/sql_profile.cc --- mysql-5.7-5.7.33/sql/sql_profile.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_profile.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -64,7 +64,7 @@ const char *old= thd->lex->sql_command == SQLCOM_SHOW_PROFILE ? "SHOW PROFILE" : "INFORMATION_SCHEMA.PROFILING"; - DBUG_ASSERT(thd->lex->sql_command != SQLCOM_SHOW_PROFILES); + assert(thd->lex->sql_command != SQLCOM_SHOW_PROFILES); push_deprecated_warn(thd, old, "Performance Schema"); return(thd->profiling.fill_statistics_info(thd, tables, cond)); @@ -214,7 +214,7 @@ allocated_status_memory= (char *) my_malloc(key_memory_PROFILE, sizes[0] + sizes[1] + sizes[2], MYF(0)); - DBUG_ASSERT(allocated_status_memory != NULL); + assert(allocated_status_memory != NULL); cursor= allocated_status_memory; @@ -299,7 +299,7 @@ /* Truncate to avoid DoS attacks. */ size_t length= min(MAX_QUERY_LENGTH, query_length_arg); - DBUG_ASSERT(m_query_source.str == NULL); /* we don't leak memory */ + assert(m_query_source.str == NULL); /* we don't leak memory */ if (query_source_arg != NULL) { m_query_source.str= my_strndup(key_memory_PROFILE, @@ -315,7 +315,7 @@ PROF_MEASUREMENT *prof; DBUG_ENTER("QUERY_PROFILE::status"); - DBUG_ASSERT(status_arg != NULL); + assert(status_arg != NULL); if ((function_arg != NULL) && (file_arg != NULL)) prof= new PROF_MEASUREMENT(this, status_arg, function_arg, base_name(file_arg), line_arg); @@ -399,7 +399,7 @@ if (! enabled) DBUG_VOID_RETURN; - DBUG_ASSERT(current == NULL); + assert(current == NULL); current= new QUERY_PROFILE(this, initial_state); DBUG_VOID_RETURN; diff -Nru mysql-5.7-5.7.33/sql/sql_profile.h mysql-5.7-5.7.34/sql/sql_profile.h --- mysql-5.7-5.7.33/sql/sql_profile.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_profile.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -115,7 +115,7 @@ first= new_item; if (last != NULL) { - DBUG_ASSERT(last->next == NULL); + assert(last->next == NULL); last->next= new_item; } new_item->previous= last; @@ -151,7 +151,7 @@ bool is_empty() { - DBUG_ASSERT(((elements > 0) && (first != NULL)) || ((elements == 0) || (first == NULL))); + assert(((elements > 0) && (first != NULL)) || ((elements == 0) || (first == NULL))); return (elements == 0); } diff -Nru mysql-5.7-5.7.33/sql/sql_query_rewrite.cc mysql-5.7-5.7.34/sql/sql_query_rewrite.cc --- mysql-5.7-5.7.33/sql/sql_query_rewrite.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_query_rewrite.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -69,8 +69,8 @@ { // It is a rewrite fulltext plugin and we need a rewrite we must have // generated a new query then. - DBUG_ASSERT(rewritten_query.str != NULL && - rewritten_query.length > 0); + assert(rewritten_query.str != NULL && + rewritten_query.length > 0); raise_query_rewritten_note(thd, thd->query().str, rewritten_query.str); alloc_query(thd, rewritten_query.str, rewritten_query.length); thd->m_parser_state->init(thd, thd->query().str, thd->query().length); @@ -118,19 +118,19 @@ We have to call a function in rules_table_service.cc, or the service won't be visible to plugins. */ -#ifndef DBUG_OFF +#ifndef NDEBUG int dummy= #endif rules_table_service:: dummy_function_to_ensure_we_are_linked_into_the_server(); - DBUG_ASSERT(dummy == 1); + assert(dummy == 1); -#ifndef DBUG_OFF +#ifndef NDEBUG dummy= #endif ssl_wrappe_service:: dummy_function_to_ensure_we_are_linked_into_the_server(); - DBUG_ASSERT(dummy == 1); + assert(dummy == 1); } mysql_event_parse_rewrite_plugin_flag flags= diff -Nru mysql-5.7-5.7.33/sql/sql_query_rewrite.h mysql-5.7-5.7.34/sql/sql_query_rewrite.h --- mysql-5.7-5.7.33/sql/sql_query_rewrite.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_query_rewrite.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_QUERY_REWRITE_INCLUDED #define SQL_QUERY_REWRITE_INCLUDED -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_reload.cc mysql-5.7-5.7.34/sql/sql_reload.cc --- mysql-5.7-5.7.33/sql/sql_reload.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_reload.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -71,7 +71,7 @@ select_errors=0; /* Write if more errors */ int tmp_write_to_binlog= *write_to_binlog= 1; - DBUG_ASSERT(!thd || !thd->in_sub_stmt); + assert(!thd || !thd->in_sub_stmt); #ifndef NO_EMBEDDED_ACCESS_CHECKS if (options & REFRESH_GRANT) @@ -196,12 +196,12 @@ query_cache.flush(); // RESET QUERY CACHE } - DBUG_ASSERT(!thd || thd->locked_tables_mode || - !thd->mdl_context.has_locks() || - thd->handler_tables_hash.records || - thd->mdl_context.has_locks(MDL_key::USER_LEVEL_LOCK) || - thd->mdl_context.has_locks(MDL_key::LOCKING_SERVICE) || - thd->global_read_lock.is_acquired()); + assert(!thd || thd->locked_tables_mode || + !thd->mdl_context.has_locks() || + thd->handler_tables_hash.records || + thd->mdl_context.has_locks(MDL_key::USER_LEVEL_LOCK) || + thd->mdl_context.has_locks(MDL_key::LOCKING_SERVICE) || + thd->global_read_lock.is_acquired()); /* Note that if REFRESH_READ_LOCK bit is set then REFRESH_TABLES is set too @@ -315,7 +315,7 @@ #ifdef HAVE_REPLICATION if (options & REFRESH_MASTER) { - DBUG_ASSERT(thd); + assert(thd); tmp_write_to_binlog= 0; if (reset_master(thd)) { diff -Nru mysql-5.7-5.7.33/sql/sql_reload.h mysql-5.7-5.7.34/sql/sql_reload.h --- mysql-5.7-5.7.33/sql/sql_reload.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_reload.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef SQL_RELOAD_INCLUDED #define SQL_RELOAD_INCLUDED -/* Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_rename.cc mysql-5.7-5.7.34/sql/sql_rename.cc --- mysql-5.7-5.7.33/sql/sql_rename.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_rename.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -261,7 +261,7 @@ old_alias= ren_table->table_name; new_alias= new_table_name; } - DBUG_ASSERT(new_alias); + assert(new_alias); build_table_filename(name, sizeof(name) - 1, new_db, new_alias, reg_ext, 0); @@ -317,7 +317,7 @@ rc= mysql_rename_view(thd, new_db, new_alias, ren_table); break; default: - DBUG_ASSERT(0); // should never happen + assert(0); // should never happen case FRMTYPE_ERROR: { char errbuf[MYSYS_STRERROR_SIZE]; diff -Nru mysql-5.7-5.7.33/sql/sql_rename.h mysql-5.7-5.7.34/sql/sql_rename.h --- mysql-5.7-5.7.33/sql/sql_rename.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_rename.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_resolver.cc mysql-5.7-5.7.34/sql/sql_resolver.cc --- mysql-5.7-5.7.33/sql/sql_resolver.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_resolver.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -106,8 +106,8 @@ // We may do subquery transformation, or Item substitution: Prepare_error_tracker tracker(thd); - DBUG_ASSERT(this == thd->lex->current_select()); - DBUG_ASSERT(join == NULL); + assert(this == thd->lex->current_select()); + assert(join == NULL); SELECT_LEX_UNIT *const unit= master_unit(); @@ -173,7 +173,7 @@ We are not parsing anymore: any new Items created now are due to query rewriting, so stop incrementing counters. */ - DBUG_ASSERT(parsing_place == CTX_NONE); + assert(parsing_place == CTX_NONE); parsing_place= CTX_NONE; resolve_place= RESOLVE_SELECT_LIST; @@ -404,7 +404,7 @@ DBUG_RETURN(true); } - DBUG_ASSERT(!thd->is_error()); + assert(!thd->is_error()); DBUG_RETURN(false); } @@ -541,8 +541,8 @@ { const uint elements= predicate->unit->first_select()->item_list.elements; DBUG_ENTER("subquery_allows_materialization"); - DBUG_ASSERT(elements >= 1); - DBUG_ASSERT(predicate->left_expr->cols() == elements); + assert(elements >= 1); + assert(predicate->left_expr->cols() == elements); OPT_TRACE_TRANSFORM(&thd->opt_trace, trace_wrapper, trace_mat, select_lex->select_number, @@ -601,7 +601,7 @@ This is a temporary fix for BUG#36752; see bug report for description of restrictions we need to put on the compared expressions. */ - DBUG_ASSERT(predicate->left_expr->fixed); + assert(predicate->left_expr->fixed); // @see comment in Item_subselect::element_index() bool has_nullables= predicate->left_expr->maybe_null; @@ -649,7 +649,7 @@ } } } - DBUG_ASSERT(cause != NULL); + assert(cause != NULL); trace_mat.add("possible", false).add_alnum("cause", cause); DBUG_RETURN(false); } @@ -669,10 +669,10 @@ for (TABLE_LIST *table= tables; table; table= table->next_local) { // A mergable view is not allowed to have a table pointer. - DBUG_ASSERT(!(table->is_view() && table->is_merged() && table->table)); + assert(!(table->is_view() && table->is_merged() && table->table)); if (table->merge_underlying_list) { - DBUG_ASSERT(table->is_merged()); + assert(table->is_merged()); list= make_leaf_tables(list, table->merge_underlying_list); } @@ -748,9 +748,9 @@ { DBUG_ENTER("st_select_lex::setup_tables"); - DBUG_ASSERT ((select_insert && !tables->next_name_resolution_table) || - !tables || - (context.table_list && context.first_name_resolution_table)); + assert ((select_insert && !tables->next_name_resolution_table) || + !tables || + (context.table_list && context.first_name_resolution_table)); make_leaf_tables(&leaf_tables, tables); @@ -872,7 +872,7 @@ { DBUG_ENTER("st_select_lex::resolve_derived"); - DBUG_ASSERT(derived_table_count); + assert(derived_table_count); // Prepare derived tables and views that belong to this query block. for (TABLE_LIST *tl= get_table_list(); tl; tl= tl->next_local) @@ -906,8 +906,8 @@ for (TABLE_LIST *tl= get_table_list(); tl; tl= tl->next_local) { // Ensure that any derived table is merged or materialized after prepare: - DBUG_ASSERT(first_execution || !tl->is_view_or_derived() || - tl->is_merged() || tl->uses_materialization()); + assert(first_execution || !tl->is_view_or_derived() || + tl->is_merged() || tl->uses_materialization()); if (!tl->is_view_or_derived() || tl->is_merged()) continue; if (tl->setup_materialized_derived(thd)) @@ -928,7 +928,7 @@ { if (!tl->is_view_or_derived() || tl->table != NULL) continue; - DBUG_ASSERT(!tl->is_merged()); + assert(!tl->is_merged()); if (tl->resolve_derived(thd, apply_semijoin)) DBUG_RETURN(true); /* purecov: inspected */ if (tl->setup_materialized_derived(thd)) @@ -980,7 +980,7 @@ EXEC_UNSPECIFIED. */ Item_subselect *subq_predicate= master_unit()->item; - DBUG_ASSERT(subq_predicate); + assert(subq_predicate); /** @note In this case: IN (SELECT ... UNION SELECT ...), SELECT_LEX::prepare() is @@ -1099,7 +1099,7 @@ { DBUG_ENTER("SELECT_LEX::setup_wild"); - DBUG_ASSERT(with_wild); + assert(with_wild); // PS/SP uses arena so that changes are made permanently. Prepared_stmt_arena_holder ps_arena_holder(thd); @@ -1114,7 +1114,7 @@ (item_field= down_cast(item)) && item_field->is_asterisk()) { - DBUG_ASSERT(item_field->field == NULL); + assert(item_field->field == NULL); const uint elem= fields_list.elements; const bool any_privileges= item_field->any_privileges; Item_subselect *subsel= master_unit()->item; @@ -1238,8 +1238,8 @@ is_item_list_lookup= save_is_item_list_lookup; - DBUG_ASSERT(thd->lex->current_select() == this); - DBUG_ASSERT(!thd->is_error()); + assert(thd->lex->current_select() == this); + assert(!thd->is_error()); DBUG_RETURN(false); } @@ -1458,7 +1458,7 @@ if (join_cond != table->join_cond()) { - DBUG_ASSERT(join_cond); + assert(join_cond); table->set_join_cond(join_cond); } } @@ -1509,7 +1509,7 @@ It is always a new item as both the upper-level condition and a join condition existed */ - DBUG_ASSERT(!new_cond->fixed); + assert(!new_cond->fixed); if (new_cond->fix_fields(thd, NULL)) DBUG_RETURN(true); @@ -1548,7 +1548,7 @@ table->dep_tables|= table->join_cond()->used_tables(); // At this point the joined tables always have an embedding join nest: - DBUG_ASSERT(table->embedding); + assert(table->embedding); table->dep_tables&= ~table->embedding->nested_join->used_tables; @@ -1699,8 +1699,8 @@ /* Remove this assert when we support semijoin on non-IN subqueries. */ - DBUG_ASSERT((*el1)->substype() == Item_subselect::IN_SUBS && - (*el2)->substype() == Item_subselect::IN_SUBS); + assert((*el1)->substype() == Item_subselect::IN_SUBS && + (*el2)->substype() == Item_subselect::IN_SUBS); return ((*el1)->sj_convert_priority < (*el2)->sj_convert_priority) ? 1 : ( ((*el1)->sj_convert_priority == (*el2)->sj_convert_priority)? 0 : -1); } @@ -1775,12 +1775,12 @@ transl < tr->field_translation_end; transl++) { - DBUG_ASSERT(transl->item->fixed); + assert(transl->item->fixed); transl->item->fix_after_pullout(parent_select, removed_select); } // Update used table info for the WHERE clause of the derived table - DBUG_ASSERT(!tr->derived_where_cond || - tr->derived_where_cond->fixed); + assert(!tr->derived_where_cond || + tr->derived_where_cond->fixed); if (tr->derived_where_cond) tr->derived_where_cond->fix_after_pullout(parent_select, removed_select); @@ -1867,7 +1867,7 @@ THD *const thd= subq_pred->unit->thd; DBUG_ENTER("convert_subquery_to_semijoin"); - DBUG_ASSERT(subq_pred->substype() == Item_subselect::IN_SUBS); + assert(subq_pred->substype() == Item_subselect::IN_SUBS); bool outer_join= false; // True if predicate is inner to an outer join @@ -2083,7 +2083,7 @@ { Item_in_subselect *in_subq_pred= (Item_in_subselect *)subq_pred; - DBUG_ASSERT(is_fixed_or_outer_ref(in_subq_pred->left_expr)); + assert(is_fixed_or_outer_ref(in_subq_pred->left_expr)); in_subq_pred->exec_method= Item_exists_subselect::EXEC_SEMI_JOIN; /* @@ -2275,7 +2275,7 @@ SELECT_LEX_UNIT *const derived_unit= derived_table->derived_unit(); // A derived table must be prepared before we can merge it - DBUG_ASSERT(derived_unit->is_prepared()); + assert(derived_unit->is_prepared()); LEX *const lex= parent_lex; @@ -2450,7 +2450,7 @@ the outer query contains only one table reference. */ // LIMIT currently blocks derived table merge - DBUG_ASSERT(!derived_select->has_limit()); + assert(!derived_select->has_limit()); if ((lex->sql_command == SQLCOM_SELECT || lex->sql_command == SQLCOM_UPDATE || @@ -2548,7 +2548,7 @@ } else // If we came here it means there were an error during prerequisites check. - DBUG_ASSERT(FALSE); + assert(FALSE); return TRUE; } @@ -2639,12 +2639,12 @@ /* Currently, we only support transformation of IN subqueries. */ - DBUG_ASSERT((*subq)->substype() == Item_subselect::IN_SUBS); + assert((*subq)->substype() == Item_subselect::IN_SUBS); st_select_lex *child_select= (*subq)->unit->first_select(); // Check that we proceeded bottom-up - DBUG_ASSERT(child_select->sj_candidates == NULL); + assert(child_select->sj_candidates == NULL); (*subq)->sj_convert_priority= (((*subq)->unit->uncacheable & UNCACHEABLE_DEPENDENT) ? MAX_TABLES : 0) + @@ -3022,10 +3022,10 @@ return; // A subquery that is not single row should be one of IN/ALL/ANY/EXISTS. - DBUG_ASSERT (subq_predicate->substype() == Item_subselect::EXISTS_SUBS || - subq_predicate->substype() == Item_subselect::IN_SUBS || - subq_predicate->substype() == Item_subselect::ALL_SUBS || - subq_predicate->substype() == Item_subselect::ANY_SUBS); + assert (subq_predicate->substype() == Item_subselect::EXISTS_SUBS || + subq_predicate->substype() == Item_subselect::IN_SUBS || + subq_predicate->substype() == Item_subselect::ALL_SUBS || + subq_predicate->substype() == Item_subselect::ANY_SUBS); enum change { @@ -3100,9 +3100,18 @@ { for (ORDER *o= order_list.first; o != NULL; o= o->next) { - if (*o->item == o->item_ptr) + /* + Do not remove the order by expression if it has a view + reference. There is possibility that this view reference could + be used elsewhere in the query + */ + if (*o->item == o->item_ptr && + (!o->item_ptr->has_subquery() || + !o->item_ptr->walk(&Item::is_direct_view_ref, + Item::WALK_SUBQUERY_PREFIX, NULL))) { (*o->item)->walk(&Item::clean_up_after_removal, walk_subquery, pointer_cast(sl)); + } } order_list.empty(); while (hidden_order_field_count-- > 0) @@ -3325,7 +3334,7 @@ item is removed from the query. In that case, we must call walk() with clean_up_after_removal() on the old order->item. */ - DBUG_ASSERT(order_item == *order->item); + assert(order_item == *order->item); order->item= &ref_pointer_array[el]; return FALSE; } @@ -3346,7 +3355,7 @@ bool setup_order(THD *thd, Ref_ptr_array ref_pointer_array, TABLE_LIST *tables, List &fields, List &all_fields, ORDER *order) { - DBUG_ASSERT(order); + assert(order); SELECT_LEX *const select= thd->lex->current_select(); @@ -3490,7 +3499,7 @@ bool SELECT_LEX::setup_group(THD *thd) { - DBUG_ASSERT(group_list.elements); + assert(group_list.elements); thd->where="group statement"; for (ORDER *group= group_list.first; group; group= group->next) @@ -3719,7 +3728,7 @@ { Item *const item= transl->item; - DBUG_ASSERT(item->fixed); + assert(item->fixed); if (!item->has_subquery()) continue; diff -Nru mysql-5.7-5.7.33/sql/sql_resolver.h mysql-5.7-5.7.34/sql/sql_resolver.h --- mysql-5.7-5.7.33/sql/sql_resolver.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_resolver.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_RESOLVER_INCLUDED #define SQL_RESOLVER_INCLUDED -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_rewrite.cc mysql-5.7-5.7.34/sql/sql_rewrite.cc --- mysql-5.7-5.7.33/sql/sql_rewrite.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_rewrite.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -820,7 +820,7 @@ String rlb; // We should not come through here twice for the same query. - DBUG_ASSERT(thd->rewritten_query().length() == 0); + assert(thd->rewritten_query().length() == 0); if (thd->lex->contains_plaintext_password) { diff -Nru mysql-5.7-5.7.33/sql/sql_rewrite.h mysql-5.7-5.7.34/sql/sql_rewrite.h --- mysql-5.7-5.7.33/sql/sql_rewrite.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_rewrite.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_select.cc mysql-5.7-5.7.34/sql/sql_select.cc --- mysql-5.7-5.7.33/sql/sql_select.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_select.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -110,10 +110,10 @@ SELECT_LEX *const select= unit->first_select(); bool res; - DBUG_ASSERT(thd == unit->thd); + assert(thd == unit->thd); - DBUG_ASSERT(!unit->is_prepared() && !unit->is_optimized() && - !unit->is_executed()); + assert(!unit->is_prepared() && !unit->is_optimized() && + !unit->is_executed()); if (lex->proc_analyse && lex->sql_command != SQLCOM_SELECT) { @@ -148,7 +148,7 @@ goto err; } - DBUG_ASSERT(!lex->is_query_tables_locked()); + assert(!lex->is_query_tables_locked()); /* Locking of tables is done after preparation but before optimization. This allows to do better partition pruning and avoid locking unused @@ -200,7 +200,7 @@ } } - DBUG_ASSERT(!thd->is_error()); + assert(!thd->is_error()); thd->update_previous_found_rows(); THD_STAGE_INFO(thd, stage_end); @@ -211,7 +211,7 @@ DBUG_RETURN(res); err: - DBUG_ASSERT(thd->is_error() || thd->killed); + assert(thd->is_error() || thd->killed); DBUG_PRINT("info",("report_error: %d", thd->is_error())); THD_STAGE_INFO(thd, stage_end); @@ -465,7 +465,7 @@ QEP_TAB *const qep_array= join->qep_tab; for (tableno= join->const_tables; tableno < join->primary_tables; ) { -#ifndef DBUG_OFF +#ifndef NDEBUG const bool tab_in_sj_nest= join->best_ref[tableno]->emb_sj_nest != NULL; #endif QEP_TAB *const tab= &qep_array[tableno]; @@ -480,13 +480,13 @@ switch (pos->sj_strategy) { case SJ_OPT_MATERIALIZE_LOOKUP: case SJ_OPT_MATERIALIZE_SCAN: - DBUG_ASSERT(false); // Should not occur among "primary" tables + assert(false); // Should not occur among "primary" tables // Do nothing tableno+= pos->n_sj_tables; break; case SJ_OPT_LOOSE_SCAN: { - DBUG_ASSERT(tab_in_sj_nest); // First table must be inner + assert(tab_in_sj_nest); // First table must be inner /* We jump from the last table to the first one */ tab->match_tab= last_sj_tab->idx(); @@ -501,12 +501,12 @@ */ if (tab->quick()) { - DBUG_ASSERT(tab->quick()->index == pos->loosescan_key); + assert(tab->quick()->index == pos->loosescan_key); tab->quick()->need_sorted_output(); } const uint keyno= pos->loosescan_key; - DBUG_ASSERT(tab->keys().is_set(keyno)); + assert(tab->keys().is_set(keyno)); tab->set_index(keyno); /* Calculate key length */ @@ -525,7 +525,7 @@ } case SJ_OPT_DUPS_WEEDOUT: { - DBUG_ASSERT(tab_in_sj_nest); // First table must be inner + assert(tab_in_sj_nest); // First table must be inner /* Consider a semijoin of one outer and one inner table, both with two rows. The inner table is assumed to be confluent @@ -703,7 +703,7 @@ this range of inner tables, etc. */ plan_idx jump_to= tab->idx() - 1; - DBUG_ASSERT(tab_in_sj_nest); // First table must be inner + assert(tab_in_sj_nest); // First table must be inner for (QEP_TAB *tab_in_range= tab; tab_in_range <= last_sj_tab; tab_in_range++) @@ -793,7 +793,7 @@ pick_table_access_method() which sets materialize_table, so the assertion is disabled in this case. */ - DBUG_ASSERT(join->zero_result_cause || tab->materialize_table); + assert(join->zero_result_cause || tab->materialize_table); tab->materialized= false; // The materialized table must be re-read on next evaluation: tab->table()->status= STATUS_GARBAGE | STATUS_NOT_FOUND; @@ -940,7 +940,7 @@ if (qep_tab) { - DBUG_ASSERT(!join_tab); + assert(!join_tab); for (uint i= 0; i < tables; i++) qep_tab[i].cleanup(); } @@ -1006,7 +1006,7 @@ { DBUG_ENTER("SELECT_LEX::optimize"); - DBUG_ASSERT(join == NULL); + assert(join == NULL); JOIN *const join_local= new JOIN(thd, this); if (!join_local) DBUG_RETURN(true); /* purecov: inspected */ @@ -1102,7 +1102,7 @@ if (tab->type() == JT_REF) // Here JT_REF means all kinds of ref access { - DBUG_ASSERT(tab->position() && tab->position()->key); + assert(tab->position() && tab->position()->key); if (create_ref_for_key(this, tab, tab->position()->key, tab->prefix_tables())) DBUG_RETURN(true); @@ -1171,7 +1171,7 @@ uint *length_out, uint *keyparts_out, table_map *dep_map, bool *maybe_null) { - DBUG_ASSERT(!dep_map || maybe_null); + assert(!dep_map || maybe_null); uint keyparts= 0, length= 0; uint found_part_ref_or_null= 0; KEY *const keyinfo= tab->table()->key_info + key; @@ -1191,7 +1191,7 @@ keyparts == keyuse->keypart && !(found_part_ref_or_null & keyuse->optimize)) { - DBUG_ASSERT(keyparts <= MAX_REF_PARTS); + assert(keyparts <= MAX_REF_PARTS); if (chosen_keyuses) chosen_keyuses[keyparts]= keyuse; keyparts++; @@ -1206,7 +1206,7 @@ } keyuse++; } while (keyuse->table_ref == tab->table_ref && keyuse->key == key); - DBUG_ASSERT(keyparts > 0); + assert(keyparts > 0); *length_out= length; *keyparts_out= keyparts; } @@ -1251,7 +1251,7 @@ KEY *const keyinfo= table->key_info+key; Key_use *chosen_keyuses[MAX_REF_PARTS]; - DBUG_ASSERT(j->keys().is_set(org_keyuse->key)); + assert(j->keys().is_set(org_keyuse->key)); /* Calculate the length of the used key. */ if (ftkey) @@ -1376,7 +1376,7 @@ */ if ((keyuse->optimize & KEY_OPTIMIZE_REF_OR_NULL) && maybe_null) { - DBUG_ASSERT(null_ref_key == NULL); // or we would overwrite it below + assert(null_ref_key == NULL); // or we would overwrite it below null_ref_key= key_buff; } key_buff+=keyinfo->key_part[part_no].store_length; @@ -1491,8 +1491,8 @@ bool and_conditions(Item **e1, Item *e2) { - DBUG_ASSERT(!(*e1) || (*e1)->fixed); - DBUG_ASSERT(!e2 || e2->fixed); + assert(!(*e1) || (*e1)->fixed); + assert(!e2 || e2->fixed); if (*e1) { if (!e2) @@ -1545,7 +1545,7 @@ static Item *make_cond_for_index(Item *cond, TABLE *table, uint keyno, bool other_tbls_ok) { - DBUG_ASSERT(cond != NULL); + assert(cond != NULL); if (cond->type() == Item::COND_ITEM) { @@ -1697,7 +1697,7 @@ DBUG_ENTER("push_index_cond"); ASSERT_BEST_REF_IN_JOIN_ORDER(join_); - DBUG_ASSERT(join_tab == join_->best_ref[idx()]); + assert(join_tab == join_->best_ref[idx()]); if (join_tab->reversed_access) // @todo: historical limitation, lift it! DBUG_VOID_RETURN; @@ -1797,9 +1797,9 @@ 3. The index condition contains an updatable user variable (test this by checking that the RAND_TABLE_BIT is set). */ - DBUG_ASSERT(other_tbls_ok || // 1 - idx_cond->const_item() || // 2 - (idx_cond->used_tables() & RAND_TABLE_BIT) ); // 3 + assert(other_tbls_ok || // 1 + idx_cond->const_item() || // 2 + (idx_cond->used_tables() & RAND_TABLE_BIT) ); // 3 DBUG_VOID_RETURN; } @@ -1893,8 +1893,8 @@ Semijoin_mat_exec *const sjm_exec= tab->sj_mat_exec(); const uint field_count= emb_sj_nest->nested_join->sj_inner_exprs.elements; - DBUG_ASSERT(inner_pos->sj_strategy == SJ_OPT_MATERIALIZE_LOOKUP || - inner_pos->sj_strategy == SJ_OPT_MATERIALIZE_SCAN); + assert(inner_pos->sj_strategy == SJ_OPT_MATERIALIZE_LOOKUP || + inner_pos->sj_strategy == SJ_OPT_MATERIALIZE_SCAN); /* Set up the table to write to, do as @@ -1937,9 +1937,9 @@ created for temporary table, semijoin_types_allow_materialization must assure that MATERIALIZE_LOOKUP can't be chosen. */ - DBUG_ASSERT((inner_pos->sj_strategy == SJ_OPT_MATERIALIZE_LOOKUP && - !table->hash_field) || - inner_pos->sj_strategy == SJ_OPT_MATERIALIZE_SCAN); + assert((inner_pos->sj_strategy == SJ_OPT_MATERIALIZE_LOOKUP && + !table->hash_field) || + inner_pos->sj_strategy == SJ_OPT_MATERIALIZE_SCAN); TABLE_LIST *tl; if (!(tl= (TABLE_LIST *) alloc_root(thd->mem_root, sizeof(TABLE_LIST)))) @@ -2032,9 +2032,9 @@ void QEP_TAB::init_join_cache(JOIN_TAB *join_tab) { JOIN *const join_= join(); - DBUG_ASSERT(idx() > 0); + assert(idx() > 0); ASSERT_BEST_REF_IN_JOIN_ORDER(join_); - DBUG_ASSERT(join_tab == join_->best_ref[idx()]); + assert(join_tab == join_->best_ref[idx()]); JOIN_CACHE *prev_cache= NULL; if ((uint)idx() > join_->const_tables) @@ -2067,7 +2067,7 @@ op= new JOIN_CACHE_BKA_UNIQUE(join_, this, join_tab->join_cache_flags, prev_cache); break; default: - DBUG_ASSERT(0); + assert(0); } DBUG_EXECUTE_IF("jb_alloc_with_prev_fail", @@ -2106,7 +2106,7 @@ delete q->op; q->op= NULL; } - DBUG_ASSERT(i > 0); + assert(i > 0); /* Make the immediately preceding QEP_TAB channel the work to the non-buffered nested loop algorithm: @@ -2175,7 +2175,7 @@ qep_tab->next_select=sub_select; /* normal select */ qep_tab->cache_idx_cond= NULL; table->status= STATUS_GARBAGE | STATUS_NOT_FOUND; - DBUG_ASSERT(!qep_tab->read_first_record); + assert(!qep_tab->read_first_record); qep_tab->read_record.read_record= NULL; qep_tab->read_record.unlock_row= rr_unlock_row; @@ -2262,7 +2262,7 @@ { if (table->covering_keys.is_set(qep_tab->quick()->index)) { - DBUG_ASSERT(qep_tab->quick()->index != MAX_KEY); + assert(qep_tab->quick()->index != MAX_KEY); table->set_keyread(TRUE); } if (!table->key_read) @@ -2293,7 +2293,7 @@ break; default: DBUG_PRINT("error",("Table type %d found",qep_tab->type())); /* purecov: deadcode */ - DBUG_ASSERT(0); + assert(0); break; /* purecov: deadcode */ } @@ -2452,7 +2452,7 @@ uint QEP_TAB::sjm_query_block_id() const { - DBUG_ASSERT(sj_is_materialize_strategy(get_sj_strategy())); + assert(sj_is_materialize_strategy(get_sj_strategy())); for (uint i= 0; i < join()->primary_tables; ++i) { // Find the sj-mat tmp table whose sj nest contains us: @@ -2462,7 +2462,7 @@ (uint)idx() < sjm->inner_table_index + sjm->table_count) return sjm->sj_nest->nested_join->query_block_id; } - DBUG_ASSERT(false); + assert(false); return 0; } @@ -2603,8 +2603,8 @@ { DBUG_ENTER("JOIN::cleanup"); - DBUG_ASSERT(const_tables <= primary_tables && - primary_tables <= tables); + assert(const_tables <= primary_tables && + primary_tables <= tables); if (qep_tab || join_tab || best_ref) { @@ -2615,7 +2615,7 @@ QEP_operation *op; if (qep_tab) { - DBUG_ASSERT(!join_tab); + assert(!join_tab); qtab= &qep_tab[i]; op= qtab->op; table= qtab->table(); @@ -2677,7 +2677,7 @@ ORDER *first= NULL, *prev= NULL; for (; order; order= order->next) { - DBUG_ASSERT(!order->item[0]->with_sum_func); // should never happen + assert(!order->item[0]->with_sum_func); // should never happen if (!const_expression_in_where(where, order->item[0])) { if (!first) @@ -2739,7 +2739,7 @@ static bool equal(Item *i1, Item *i2, Field *f2) { - DBUG_ASSERT((i2 == NULL) ^ (f2 == NULL)); + assert((i2 == NULL) ^ (f2 == NULL)); if (i2 != NULL) return i1->eq(i2, 1); @@ -2769,7 +2769,7 @@ const_expression_in_where(Item *cond, Item *comp_item, Field *comp_field, Item **const_item) { - DBUG_ASSERT((comp_item == NULL) ^ (comp_field == NULL)); + assert((comp_item == NULL) ^ (comp_field == NULL)); Item *intermediate= NULL; if (const_item == NULL) @@ -3015,7 +3015,7 @@ } default: /* This case should never be choosen */ - DBUG_ASSERT(0); + assert(0); my_error(ER_OUT_OF_RESOURCES, MYF(ME_FATALERROR)); } } @@ -3436,8 +3436,8 @@ items, which could thus still have other tables in their used_tables() information. */ - DBUG_ASSERT(having_cond->has_subquery() || - !(having_cond->used_tables() & ~(1 | PSEUDO_TABLE_BITS))); + assert(having_cond->has_subquery() || + !(having_cond->used_tables() & ~(1 | PSEUDO_TABLE_BITS))); used_tables= 1; } @@ -3517,7 +3517,7 @@ bool JOIN::make_tmp_tables_info() { - DBUG_ASSERT(!join_tab); + assert(!join_tab); List *curr_all_fields= &all_fields; List *curr_fields_list= &fields_list; bool materialize_join= false; @@ -3595,14 +3595,14 @@ Exception: LooseScan strategy for semijoin requires sorted access even if final result is not to be sorted. */ - DBUG_ASSERT( - !(ordered_index_usage == ordered_index_void && - !plan_is_const() && - qep_tab[const_tables].position()->sj_strategy != SJ_OPT_LOOSE_SCAN && - qep_tab[const_tables].use_order())); + assert( + !(ordered_index_usage == ordered_index_void && + !plan_is_const() && + qep_tab[const_tables].position()->sj_strategy != SJ_OPT_LOOSE_SCAN && + qep_tab[const_tables].use_order())); /* Change sum_fields reference to calculated fields in tmp_table */ - DBUG_ASSERT(items1.is_null()); + assert(items1.is_null()); items1= select_lex->ref_ptr_array_slice(2); if (sort_and_group || qep_tab[curr_tmp_table].table()->group || tmp_table_param.precomputed_group_by) @@ -3742,7 +3742,7 @@ DBUG_RETURN(true); } // No sum funcs anymore - DBUG_ASSERT(items2.is_null()); + assert(items2.is_null()); items2= select_lex->ref_ptr_array_slice(3); if (change_to_use_tmp_fields(thd, items2, @@ -3800,9 +3800,9 @@ or end_write_group()) if JOIN::group is set to false. */ // the temporary table was explicitly requested - DBUG_ASSERT(select_lex->active_options() & OPTION_BUFFER_RESULT); + assert(select_lex->active_options() & OPTION_BUFFER_RESULT); // the temporary table does not have a grouping expression - DBUG_ASSERT(!qep_tab[curr_tmp_table].table()->group); + assert(!qep_tab[curr_tmp_table].table()->group); } calc_group_buffer(this, group_list); count_field_types(select_lex, &tmp_table_param, *curr_all_fields, false, @@ -3814,7 +3814,7 @@ if (make_group_fields(this, this)) DBUG_RETURN(true); - DBUG_ASSERT(items3.is_null()); + assert(items3.is_null()); if (items0.is_null()) init_items_ref_array(); @@ -4121,7 +4121,7 @@ else refkey_rows_estimate= 1.0; // No index statistics } - DBUG_ASSERT(refkey_rows_estimate >= 1.0); + assert(refkey_rows_estimate >= 1.0); } for (nr=0; nr < table->s->keys ; nr++) @@ -4137,7 +4137,7 @@ key (where "ordering key" is a key that will return rows in the order required by ORDER BY). */ - DBUG_ASSERT (ref_key != (int) nr); + assert (ref_key != (int) nr); bool is_covering= table->covering_keys.is_set(nr) || (nr == table->s->primary_key && @@ -4372,7 +4372,7 @@ } } } - DBUG_ASSERT(0); + assert(0); } else if (limit != HA_POS_ERROR) { // check if some index scan & LIMIT is more efficient than filesort diff -Nru mysql-5.7-5.7.33/sql/sql_select.h mysql-5.7-5.7.34/sql/sql_select.h --- mysql-5.7-5.7.33/sql/sql_select.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_select.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_SELECT_INCLUDED #define SQL_SELECT_INCLUDED -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -541,8 +541,8 @@ cells, and best_ref may not even have been allocated. */ #define ASSERT_BEST_REF_IN_JOIN_ORDER(join) \ - do { DBUG_ASSERT(join->tables == 0 || \ - (join->best_ref && !join->join_tab)); } while(0) + do { assert(join->tables == 0 || \ + (join->best_ref && !join->join_tab)); } while(0) /** @@ -788,7 +788,7 @@ bool operator()(const JOIN_TAB *jt1, const JOIN_TAB *jt2) { // Sorting distinct tables, so a table should not be compared with itself - DBUG_ASSERT(jt1 != jt2); + assert(jt1 != jt2); if (jt1->dependent & jt2->table_ref->map()) return false; @@ -826,15 +826,15 @@ bool operator()(const JOIN_TAB *jt1, const JOIN_TAB *jt2) { // Sorting distinct tables, so a table should not be compared with itself - DBUG_ASSERT(jt1 != jt2); + assert(jt1 != jt2); /* We don't do subquery flattening if the parent or child select has STRAIGHT_JOIN modifier. It is complicated to implement and the semantics is hardly useful. */ - DBUG_ASSERT(!jt1->emb_sj_nest); - DBUG_ASSERT(!jt2->emb_sj_nest); + assert(!jt1->emb_sj_nest); + assert(!jt2->emb_sj_nest); if (jt1->dependent & jt2->table_ref->map()) return false; @@ -862,7 +862,7 @@ bool operator()(const JOIN_TAB *jt1, const JOIN_TAB *jt2) { // Sorting distinct tables, so a table should not be compared with itself - DBUG_ASSERT(jt1 != jt2); + assert(jt1 != jt2); if (jt1->emb_sj_nest == emb_nest && jt2->emb_sj_nest != emb_nest) return true; @@ -975,7 +975,7 @@ case TYPE_ERR_OOM: return store_key::STORE_KEY_FATAL; default: - DBUG_ASSERT(false); // not possible + assert(false); // not possible } return store_key::STORE_KEY_FATAL; diff -Nru mysql-5.7-5.7.33/sql/sql_servers.cc mysql-5.7-5.7.34/sql/sql_servers.cc --- mysql-5.7-5.7.33/sql/sql_servers.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_servers.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -371,7 +371,7 @@ TABLE_LIST tmp, *tables= NULL; bool result= FALSE; DBUG_ENTER("close_cached_connection_tables"); - DBUG_ASSERT(thd); + assert(thd); mysql_mutex_lock(&LOCK_open); diff -Nru mysql-5.7-5.7.33/sql/sql_servers.h mysql-5.7-5.7.34/sql/sql_servers.h --- mysql-5.7-5.7.33/sql/sql_servers.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_servers.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_SERVERS_INCLUDED #define SQL_SERVERS_INCLUDED -/* Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_show.cc mysql-5.7-5.7.34/sql/sql_show.cc --- mysql-5.7-5.7.33/sql/sql_show.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_show.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -190,7 +190,7 @@ table->field[2]->store(STRING_WITH_LEN("DISABLED"), cs); break; default: - DBUG_ASSERT(0); + assert(0); } table->field[3]->store(plugin_type_names[plug->type].str, @@ -487,7 +487,7 @@ size_t len; char *ptr; - DBUG_ASSERT(opt_ignore_db_dirs == NULL); + assert(opt_ignore_db_dirs == NULL); if (my_hash_init(&ignore_db_dirs_hash, lower_case_table_names ? @@ -557,10 +557,10 @@ if (ptr > opt_ignore_db_dirs) { ptr--; - DBUG_ASSERT(*ptr == ','); + assert(*ptr == ','); } /* make sure the string is terminated */ - DBUG_ASSERT(ptr - opt_ignore_db_dirs <= (ptrdiff_t) len); + assert(ptr - opt_ignore_db_dirs <= (ptrdiff_t) len); *ptr= 0; /* @@ -1363,7 +1363,7 @@ */ static bool print_on_update_clause(Field *field, String *val, bool lcase) { - DBUG_ASSERT(val->charset()->mbminlen == 1); + assert(val->charset()->mbminlen == 1); val->length(0); if (field->has_update_default_function()) { @@ -1640,7 +1640,7 @@ packet->append(STRING_WITH_LEN(" /*!50606 STORAGE MEMORY */")); break; default: - DBUG_ASSERT(0); + assert(0); break; } @@ -1654,7 +1654,7 @@ packet->append(STRING_WITH_LEN(" /*!50606 COLUMN_FORMAT DYNAMIC */")); break; default: - DBUG_ASSERT(0); + assert(0); break; } @@ -2021,8 +2021,8 @@ end= longlong10_to_str(key_info->block_size, buff, 10); packet->append(buff, (uint) (end - buff)); } - DBUG_ASSERT(MY_TEST(key_info->flags & HA_USES_COMMENT) == - (key_info->comment.length > 0)); + assert(MY_TEST(key_info->flags & HA_USES_COMMENT) == + (key_info->comment.length > 0)); if (key_info->flags & HA_USES_COMMENT) { packet->append(STRING_WITH_LEN(" COMMENT ")); @@ -2070,7 +2070,7 @@ buff->append(STRING_WITH_LEN("MERGE ")); break; default: - DBUG_ASSERT(0); // never should happen + assert(0); // never should happen } } @@ -2323,9 +2323,13 @@ query_str = inspect_thd->rewritten_query().ptr(); } /* - Otherwise, use the original query. + Otherwise, use the original query. If the query contains password in + plain text, we have the query re-written immediately after parsing and + password string is replaced. However, there is a unsafe window before + rewrite is done and in such case we should not display the plain text + password. */ - else { + else if (inspect_thd->safe_to_display()) { query_length = inspect_thd->query().length; query_str = inspect_thd->query().str; } @@ -2544,9 +2548,13 @@ query_str = inspect_thd->rewritten_query().ptr(); } /* - Otherwise, use the original query. + Otherwise, use the original query. If the query contains password in + plain text, we have the query re-written immediately after parsing and + password string is replaced. However, there is a unsafe window before + rewrite is done and in such case we should not display the plain text + password. */ - else { + else if (inspect_thd->safe_to_display()) { query_length = inspect_thd->query().length; query_str = inspect_thd->query().str; } @@ -3026,7 +3034,7 @@ case SHOW_SYS: /* Cannot happen */ default: - DBUG_ASSERT(0); + assert(0); break; } @@ -3034,7 +3042,7 @@ /* Some callers do not use the result. */ if (charset != NULL) { - DBUG_ASSERT(value_charset != NULL); + assert(value_charset != NULL); *charset= value_charset; } return pos; @@ -4082,7 +4090,7 @@ lex_end(thd->lex); // Free items, before restoring backup_arena below. - DBUG_ASSERT(i_s_arena.free_list == NULL); + assert(i_s_arena.free_list == NULL); thd->free_items(); /* @@ -4153,7 +4161,7 @@ system_charset_info); break; default: - DBUG_ASSERT(0); + assert(0); } if (thd->is_error() && thd->get_stmt_da()->mysql_errno() == ER_NO_SUCH_TABLE) @@ -4317,8 +4325,8 @@ size_t key_length; char db_name_buff[NAME_LEN + 1], table_name_buff[NAME_LEN + 1]; - DBUG_ASSERT(db_name->length <= NAME_LEN); - DBUG_ASSERT(table_name->length <= NAME_LEN); + assert(db_name->length <= NAME_LEN); + assert(table_name->length <= NAME_LEN); if (lower_case_table_names) { @@ -4362,7 +4370,7 @@ lock and deadlocks can occur due to waiting for it to go away. So instead of waiting skip this table with an appropriate warning. */ - DBUG_ASSERT(can_deadlock); + assert(can_deadlock); push_warning_printf(thd, Sql_condition::SL_WARNING, ER_WARN_I_S_SKIPPED_TABLE, @@ -4513,7 +4521,7 @@ We don't have any tables open since we took backup, so rolling back to savepoint is safe. */ - DBUG_ASSERT(thd->open_tables == NULL); + assert(thd->open_tables == NULL); thd->mdl_context.rollback_to_savepoint(open_tables_state_backup->mdl_system_tables_svp); thd->clear_error(); return res; @@ -4716,7 +4724,7 @@ it.rewind(); /* To get access to new elements in basis list */ while ((db_name= it++)) { - DBUG_ASSERT(db_name->length <= NAME_LEN); + assert(db_name->length <= NAME_LEN); #ifndef NO_EMBEDDED_ACCESS_CHECKS if (!(check_access(thd, SELECT_ACL, db_name->str, &thd->col_access, NULL, 0, 1) || @@ -4738,7 +4746,7 @@ List_iterator_fast it_files(table_names); while ((table_name= it_files++)) { - DBUG_ASSERT(table_name->length <= NAME_LEN); + assert(table_name->length <= NAME_LEN); restore_record(table, s->default_values); table->field[schema_table->idx_field1]-> store(db_name->str, db_name->length, system_charset_info); @@ -4909,7 +4917,7 @@ List_iterator_fast it(db_names); while ((db_name=it++)) { - DBUG_ASSERT(db_name->length <= NAME_LEN); + assert(db_name->length <= NAME_LEN); if (with_i_schema) // information schema name is always first in list { if (store_schema_shemata(thd, table, db_name, @@ -6191,8 +6199,8 @@ else table->field[14]->store("", 0, cs); table->field[14]->set_notnull(); - DBUG_ASSERT(MY_TEST(key_info->flags & HA_USES_COMMENT) == - (key_info->comment.length > 0)); + assert(MY_TEST(key_info->flags & HA_USES_COMMENT) == + (key_info->comment.length > 0)); if (key_info->flags & HA_USES_COMMENT) table->field[15]->store(key_info->comment.str, key_info->comment.length, cs); @@ -6938,7 +6946,7 @@ table->field[7]->store(tmp_res.ptr(), tmp_res.length(), cs); break; default: - DBUG_ASSERT(0); + assert(0); my_error(ER_OUT_OF_RESOURCES, MYF(ME_FATALERROR)); DBUG_RETURN(1); } @@ -7235,7 +7243,7 @@ sch_table->field[ISE_STATUS]->store(STRING_WITH_LEN("DISABLED"), scs); break; default: - DBUG_ASSERT(0); + assert(0); } sch_table->field[ISE_ORIGINATOR]->store(et.originator, TRUE); @@ -7248,11 +7256,11 @@ store(STRING_WITH_LEN("PRESERVE"), scs); number_to_datetime(et.created, &time, 0, ¬_used); - DBUG_ASSERT(not_used==0); + assert(not_used==0); sch_table->field[ISE_CREATED]->store_time(&time); number_to_datetime(et.modified, &time, 0, ¬_used); - DBUG_ASSERT(not_used==0); + assert(not_used==0); sch_table->field[ISE_LAST_ALTERED]->store_time(&time); if (et.last_executed) @@ -7381,7 +7389,7 @@ } else { - DBUG_ASSERT(schema_table_idx == SCH_SESSION_VARIABLES); + assert(schema_table_idx == SCH_SESSION_VARIABLES); option_type= OPT_SESSION; } @@ -7479,7 +7487,7 @@ } else { - DBUG_ASSERT(schema_table_idx == SCH_SESSION_STATUS); + assert(schema_table_idx == SCH_SESSION_STATUS); option_type= OPT_SESSION; status_var_ptr= &thd->status_var; } @@ -7785,7 +7793,7 @@ break; default: /* Don't let unimplemented types pass through. Could be a grave error. */ - DBUG_ASSERT(fields_info->field_type == MYSQL_TYPE_STRING); + assert(fields_info->field_type == MYSQL_TYPE_STRING); if (!(item= new Item_empty_string("", fields_info->field_length, cs))) { @@ -8219,7 +8227,7 @@ QEP_TAB::sort_table() (=filesort, for ORDER BY), so we can trust that condition() is complete, has not been zeroed by filesort: */ - DBUG_ASSERT(qep_tab->condition() == qep_tab->condition_optim()); + assert(qep_tab->condition() == qep_tab->condition_optim()); bool res= table_list->schema_table->fill_table( thd, table_list, qep_tab->condition()); diff -Nru mysql-5.7-5.7.33/sql/sql_show.h mysql-5.7-5.7.34/sql/sql_show.h --- mysql-5.7-5.7.33/sql/sql_show.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_show.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_show_status.cc mysql-5.7-5.7.34/sql/sql_show_status.cc --- mysql-5.7-5.7.33/sql/sql_show_status.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_show_status.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2020 Oracle and/or its affiliates. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_show_status.h mysql-5.7-5.7.34/sql/sql_show_status.h --- mysql-5.7-5.7.33/sql/sql_show_status.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_show_status.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_signal.cc mysql-5.7-5.7.34/sql/sql_signal.cc --- mysql-5.7-5.7.33/sql/sql_signal.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_signal.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -98,7 +98,7 @@ void Sql_cmd_common_signal::eval_defaults(THD *thd, Sql_condition *cond) { - DBUG_ASSERT(cond); + assert(cond); const char* sqlstate; bool set_defaults= (m_cond != 0); @@ -108,16 +108,16 @@ /* SIGNAL is restricted in sql_yacc.yy to only signal SQLSTATE conditions. */ - DBUG_ASSERT(m_cond->type == sp_condition_value::SQLSTATE); + assert(m_cond->type == sp_condition_value::SQLSTATE); sqlstate= m_cond->sql_state; cond->set_returned_sqlstate(sqlstate); } else sqlstate= cond->returned_sqlstate(); - DBUG_ASSERT(sqlstate); + assert(sqlstate); /* SQLSTATE class "00": illegal, rejected in the parser. */ - DBUG_ASSERT(!is_sqlstate_completion(sqlstate)); + assert(!is_sqlstate_completion(sqlstate)); if (is_sqlstate_warning(sqlstate)) { @@ -197,7 +197,7 @@ & well_formed_error_pos, & cannot_convert_error_pos, & from_end_pos); - DBUG_ASSERT(dst_copied <= dst_len); + assert(dst_copied <= dst_len); dst_len= dst_copied; /* In case the copy truncated the data */ dst_str[dst_copied]= '\0'; } @@ -425,15 +425,15 @@ thd->set_row_count_func(0); thd->get_stmt_da()->reset_condition_info(thd); - DBUG_ASSERT(thd->lex->query_tables == NULL); + assert(thd->lex->query_tables == NULL); eval_defaults(thd, &cond); if (eval_signal_informations(thd, &cond)) DBUG_RETURN(true); /* SIGNAL should not signal SL_NOTE */ - DBUG_ASSERT((cond.severity() == Sql_condition::SL_WARNING) || - (cond.severity() == Sql_condition::SL_ERROR)); + assert((cond.severity() == Sql_condition::SL_WARNING) || + (cond.severity() == Sql_condition::SL_ERROR)); Sql_condition *raised= thd->raise_condition(cond.mysql_errno(), cond.returned_sqlstate(), @@ -529,9 +529,9 @@ } // RESIGNAL should not resignal SL_NOTE - DBUG_ASSERT(!raised || - (raised->severity() == Sql_condition::SL_WARNING) || - (raised->severity() == Sql_condition::SL_ERROR)); + assert(!raised || + (raised->severity() == Sql_condition::SL_WARNING) || + (raised->severity() == Sql_condition::SL_ERROR)); /* We now have the following possibilities: diff -Nru mysql-5.7-5.7.33/sql/sql_signal.h mysql-5.7-5.7.34/sql/sql_signal.h --- mysql-5.7-5.7.33/sql/sql_signal.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_signal.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_sort.h mysql-5.7-5.7.34/sql/sql_sort.h --- mysql-5.7-5.7.33/sql/sql_sort.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_sort.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_SORT_INCLUDED #define SQL_SORT_INCLUDED -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -125,7 +125,7 @@ } void set_buffer_end(uchar *end) { - DBUG_ASSERT(m_buffer_end == NULL || end <= m_buffer_end); + assert(m_buffer_end == NULL || end <= m_buffer_end); m_buffer_end= end; } @@ -199,7 +199,7 @@ m_addon_buf_length(0), m_using_packed_addons(false) { - DBUG_ASSERT(!arr.is_null()); + assert(!arr.is_null()); } Sort_addon_field *begin() { return m_field_descriptors.begin(); } @@ -211,7 +211,7 @@ { if (m_addon_buf != NULL) { - DBUG_ASSERT(m_addon_buf_length == sz); + assert(m_addon_buf_length == sz); return m_addon_buf; } m_addon_buf= static_cast(sql_alloc(sz)); @@ -350,8 +350,8 @@ /// Are we packing the "addon fields"? bool using_packed_addons() const { - DBUG_ASSERT(m_using_packed_addons == - (addon_fields != NULL && addon_fields->using_packed_addons())); + assert(m_using_packed_addons == + (addon_fields != NULL && addon_fields->using_packed_addons())); return m_using_packed_addons; } @@ -391,7 +391,7 @@ } uchar *plen= record_start + sort_length; *resl= Addon_fields::read_addon_length(plen); - DBUG_ASSERT(*resl <= res_length); + assert(*resl <= res_length); const uchar *record_end= plen + *resl; *recl= static_cast(record_end - record_start); } @@ -560,7 +560,7 @@ if (old_top->merge_freed_buff(*it)) return; } - DBUG_ASSERT(0); + assert(0); } #endif /* SQL_SORT_INCLUDED */ diff -Nru mysql-5.7-5.7.33/sql/sql_state.c mysql-5.7-5.7.34/sql/sql_state.c --- mysql-5.7-5.7.33/sql/sql_state.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_state.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2003 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql/sql_table.cc mysql-5.7-5.7.34/sql/sql_table.cc --- mysql-5.7-5.7.33/sql/sql_table.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_table.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -395,9 +395,9 @@ */ size_t filename_to_tablename(const char *from, char *to, size_t to_length -#ifndef DBUG_OFF +#ifndef NDEBUG , bool stay_quiet -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ ) { uint errors; @@ -419,13 +419,13 @@ { res= (strxnmov(to, to_length, MYSQL50_TABLE_NAME_PREFIX, from, NullS) - to); -#ifndef DBUG_OFF +#ifndef NDEBUG if (!stay_quiet) { -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ sql_print_error("Invalid (old?) table or database name '%s'", from); -#ifndef DBUG_OFF +#ifndef NDEBUG } -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ /* TODO: add a stored procedure for fix table and database names, and mention its name in error log. @@ -627,7 +627,7 @@ DBUG_ENTER("build_tmptable_filename"); char *p= my_stpnmov(buff, mysql_tmpdir, bufflen); - DBUG_ASSERT(sizeof(my_thread_id) == 4); + assert(sizeof(my_thread_id) == 4); my_snprintf(p, bufflen - (p - buff), "/%s%lx_%lx_%x", tmp_file_prefix, current_pid, thd->thread_id(), thd->tmp_table++); @@ -851,8 +851,8 @@ entry_no= uint4korr(&file_entry_buf[DDL_LOG_NUM_ENTRY_POS]); global_ddl_log.name_len= uint4korr(&file_entry_buf[DDL_LOG_NAME_LEN_POS]); global_ddl_log.io_size= uint4korr(&file_entry_buf[DDL_LOG_IO_SIZE_POS]); - DBUG_ASSERT(global_ddl_log.io_size <= - sizeof(global_ddl_log.file_entry_buf)); + assert(global_ddl_log.io_size <= + sizeof(global_ddl_log.file_entry_buf)); } else { @@ -883,25 +883,25 @@ global_ddl_log.file_entry_buf[DDL_LOG_PHASE_POS]= 0; int4store(&global_ddl_log.file_entry_buf[DDL_LOG_NEXT_ENTRY_POS], ddl_log_entry->next_entry); - DBUG_ASSERT(strlen(ddl_log_entry->name) < FN_REFLEN); + assert(strlen(ddl_log_entry->name) < FN_REFLEN); strmake(&global_ddl_log.file_entry_buf[DDL_LOG_NAME_POS], ddl_log_entry->name, FN_REFLEN - 1); if (ddl_log_entry->action_type == DDL_LOG_RENAME_ACTION || ddl_log_entry->action_type == DDL_LOG_REPLACE_ACTION || ddl_log_entry->action_type == DDL_LOG_EXCHANGE_ACTION) { - DBUG_ASSERT(strlen(ddl_log_entry->from_name) < FN_REFLEN); + assert(strlen(ddl_log_entry->from_name) < FN_REFLEN); strmake(&global_ddl_log.file_entry_buf[DDL_LOG_NAME_POS + FN_REFLEN], ddl_log_entry->from_name, FN_REFLEN - 1); } else global_ddl_log.file_entry_buf[DDL_LOG_NAME_POS + FN_REFLEN]= 0; - DBUG_ASSERT(strlen(ddl_log_entry->handler_name) < FN_REFLEN); + assert(strlen(ddl_log_entry->handler_name) < FN_REFLEN); strmake(&global_ddl_log.file_entry_buf[DDL_LOG_NAME_POS + (2*FN_REFLEN)], ddl_log_entry->handler_name, FN_REFLEN - 1); if (ddl_log_entry->action_type == DDL_LOG_EXCHANGE_ACTION) { - DBUG_ASSERT(strlen(ddl_log_entry->tmp_name) < FN_REFLEN); + assert(strlen(ddl_log_entry->tmp_name) < FN_REFLEN); strmake(&global_ddl_log.file_entry_buf[DDL_LOG_NAME_POS + (3*FN_REFLEN)], ddl_log_entry->tmp_name, FN_REFLEN - 1); } @@ -1091,18 +1091,18 @@ file_entry_buf[DDL_LOG_ENTRY_TYPE_POS]= DDL_IGNORE_LOG_ENTRY_CODE; else if (file_entry_buf[DDL_LOG_ACTION_TYPE_POS] == DDL_LOG_REPLACE_ACTION) { - DBUG_ASSERT(file_entry_buf[DDL_LOG_PHASE_POS] == 0); + assert(file_entry_buf[DDL_LOG_PHASE_POS] == 0); file_entry_buf[DDL_LOG_PHASE_POS]= 1; } else if (file_entry_buf[DDL_LOG_ACTION_TYPE_POS] == DDL_LOG_EXCHANGE_ACTION) { - DBUG_ASSERT(file_entry_buf[DDL_LOG_PHASE_POS] <= - EXCH_PHASE_FROM_TO_NAME); + assert(file_entry_buf[DDL_LOG_PHASE_POS] <= + EXCH_PHASE_FROM_TO_NAME); file_entry_buf[DDL_LOG_PHASE_POS]++; } else { - DBUG_ASSERT(0); + assert(0); } if (write_ddl_log_file_entry(entry_no)) { @@ -1194,7 +1194,7 @@ if (my_errno() != ENOENT) break; } - DBUG_ASSERT(strcmp("partition", ddl_log_entry->handler_name)); + assert(strcmp("partition", ddl_log_entry->handler_name)); strxmov(to_path, ddl_log_entry->name, par_ext, NullS); if (access(to_path, F_OK) == 0) { @@ -1218,7 +1218,7 @@ if (ddl_log_entry->action_type == DDL_LOG_DELETE_ACTION) break; } - DBUG_ASSERT(ddl_log_entry->action_type == DDL_LOG_REPLACE_ACTION); + assert(ddl_log_entry->action_type == DDL_LOG_REPLACE_ACTION); /* Fall through and perform the rename action of the replace action. We have already indicated the success of the delete @@ -1235,7 +1235,7 @@ strxmov(from_path, ddl_log_entry->from_name, reg_ext, NullS); if (mysql_file_rename(key_file_frm, from_path, to_path, MYF(MY_WME))) break; - DBUG_ASSERT(strcmp("partition", ddl_log_entry->handler_name)); + assert(strcmp("partition", ddl_log_entry->handler_name)); strxmov(to_path, ddl_log_entry->name, par_ext, NullS); strxmov(from_path, ddl_log_entry->from_name, par_ext, NullS); if (access(from_path, F_OK) == 0) @@ -1263,7 +1263,7 @@ /* We hold LOCK_gdl, so we can alter global_ddl_log.file_entry_buf */ char *file_entry_buf= (char*)&global_ddl_log.file_entry_buf; /* not yet implemented for frm */ - DBUG_ASSERT(!frm_action); + assert(!frm_action); /* Using a case-switch here to revert all currently done phases, since it will fall through until the first phase is undone. @@ -1304,14 +1304,14 @@ error= FALSE; break; default: - DBUG_ASSERT(0); + assert(0); break; } break; } default: - DBUG_ASSERT(0); + assert(0); break; } delete file; @@ -1401,8 +1401,8 @@ error= true; break; } - DBUG_ASSERT(ddl_log_entry.entry_type == DDL_LOG_ENTRY_CODE || - ddl_log_entry.entry_type == DDL_IGNORE_LOG_ENTRY_CODE); + assert(ddl_log_entry.entry_type == DDL_LOG_ENTRY_CODE || + ddl_log_entry.entry_type == DDL_IGNORE_LOG_ENTRY_CODE); if ((error= execute_ddl_log_action(thd, &ddl_log_entry))) { @@ -1863,7 +1863,7 @@ } if (lpt->table->file->ht != lpt->create_info->db_type) { - DBUG_ASSERT(lpt->create_info->db_type->partition_flags != NULL); + assert(lpt->create_info->db_type->partition_flags != NULL); new_handler= get_new_handler(NULL, lpt->thd->mem_root, lpt->create_info->db_type); if (new_handler == NULL) @@ -2156,7 +2156,7 @@ table locked with LOCK TABLES as a side effect of temporary table drop. */ - DBUG_ASSERT(table->mdl_request.ticket == NULL); + assert(table->mdl_request.ticket == NULL); } else { @@ -2360,10 +2360,10 @@ the ticket should be NULL to ensure that we don't release a lock on a base table later. */ - DBUG_ASSERT(!(thd->locked_tables_mode && - table->open_type != OT_BASE_ONLY && - find_temporary_table(thd, table) && - table->mdl_request.ticket != NULL)); + assert(!(thd->locked_tables_mode && + table->open_type != OT_BASE_ONLY && + find_temporary_table(thd, table) && + table->mdl_request.ticket != NULL)); thd->add_to_binlog_accessed_dbs(table->db); @@ -2377,7 +2377,7 @@ error= 1; else if ((error= drop_temporary_table(thd, table, &is_trans)) == -1) { - DBUG_ASSERT(thd->in_sub_stmt); + assert(thd->in_sub_stmt); goto err; } @@ -2449,9 +2449,9 @@ } /* Check that we have an exclusive lock on the table to be dropped. */ - DBUG_ASSERT(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, - table->db, table->table_name, - MDL_EXCLUSIVE)); + assert(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, + table->db, table->table_name, + MDL_EXCLUSIVE)); if (thd->killed) { error= -1; @@ -3039,7 +3039,7 @@ This code came from mysql_prepare_create_table. Indent preserved to make patching easier */ - DBUG_ASSERT(sql_field->charset); + assert(sql_field->charset); switch (sql_field->sql_type) { case MYSQL_TYPE_BLOB: @@ -3415,7 +3415,7 @@ Key_part_spec *c1= key_column_iterator++; Key_part_spec *c2= k_column_iterator++; - DBUG_ASSERT(c1 && c2); + assert(c1 && c2); if (my_strcasecmp(system_charset_info, c1->field_name.str, c2->field_name.str) || @@ -3610,7 +3610,7 @@ int comma_length= cs->cset->wc_mb(cs, ',', (uchar*) comma_buf, (uchar*) comma_buf + sizeof(comma_buf)); - DBUG_ASSERT(comma_length > 0); + assert(comma_length > 0); for (uint i= 0; (tmp= int_it++); i++) { size_t lengthsp; @@ -3684,7 +3684,7 @@ else /* MYSQL_TYPE_ENUM */ { size_t field_length; - DBUG_ASSERT(sql_field->sql_type == MYSQL_TYPE_ENUM); + assert(sql_field->sql_type == MYSQL_TYPE_ENUM); if (sql_field->def != NULL) { String str, *def= sql_field->def->val_str(&str); @@ -3822,7 +3822,7 @@ it.rewind(); while ((sql_field=it++)) { - DBUG_ASSERT(sql_field->charset != 0); + assert(sql_field->charset != 0); if (prepare_create_field(sql_field, &blob_columns, file->ha_table_flags())) @@ -4794,7 +4794,7 @@ FIELDFLAG_TREAT_BIT_AS_CHAR; } sql_field->create_length_to_internal_length(); - DBUG_ASSERT(sql_field->def == 0); + assert(sql_field->def == 0); /* Can't go wrong as sql_field->def is not defined */ (void) prepare_blob_field(thd, sql_field); } @@ -4937,7 +4937,7 @@ (create_info->db_type->partition_flags() & HA_USE_AUTO_PARTITION)) { Partition_handler *part_handler= file->get_partition_handler(); - DBUG_ASSERT(part_handler != NULL); + assert(part_handler != NULL); /* Table is not defined as a partitioned table but the engine handles @@ -5080,7 +5080,7 @@ goto no_partitioning; } create_info->db_type= plugin_data(plugin); - DBUG_ASSERT(create_info->db_type->flags & HTON_NOT_USER_SELECTABLE); + assert(create_info->db_type->flags & HTON_NOT_USER_SELECTABLE); delete file; if (!(file= get_new_handler(NULL, thd->mem_root, create_info->db_type))) { @@ -5089,13 +5089,13 @@ } if (file->ht != create_info->db_type) { - DBUG_ASSERT(0); + assert(0); goto no_partitioning; } Partition_handler *part_handler= file->get_partition_handler(); if (!part_handler) { - DBUG_ASSERT(0); + assert(0); goto no_partitioning; } part_handler->set_part_info(part_info, false); @@ -5123,7 +5123,7 @@ uint i; List_iterator part_it(part_info->partitions); part_it++; - DBUG_ASSERT(thd->lex->sql_command != SQLCOM_CREATE_TABLE); + assert(thd->lex->sql_command != SQLCOM_CREATE_TABLE); for (i= 1; i < part_info->partitions.elements; i++) (part_it++)->part_state= PART_TO_BE_DROPPED; } @@ -5133,7 +5133,7 @@ (int)part_info->num_subparts != part_handler->get_default_num_partitions(create_info)) { - DBUG_ASSERT(thd->lex->sql_command != SQLCOM_CREATE_TABLE); + assert(thd->lex->sql_command != SQLCOM_CREATE_TABLE); part_info->num_subparts= part_handler->get_default_num_partitions(create_info); } @@ -5397,7 +5397,7 @@ needs to modify item tree. May need call THD::rollback_item_tree_changes later before calling closefrm if the change list is not empty. */ - DBUG_ASSERT(thd->change_list.is_empty()); + assert(thd->change_list.is_empty()); if (!result) (void) closefrm(&table, 0); @@ -5790,8 +5790,8 @@ if (src_table->table->s->tablespace && strlen(src_table->table->s->tablespace) > 0) { - DBUG_ASSERT(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, - src_table->db, src_table->table_name, MDL_SHARED)); + assert(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, + src_table->db, src_table->table_name, MDL_SHARED)); if (tablespace_set.insert( const_cast(src_table->table->s->tablespace))) @@ -5859,17 +5859,17 @@ LOCK TABLE a non-existing table). And the only way we then can end up here is if IF EXISTS was used. */ - DBUG_ASSERT(table->table || table->is_view() || - (create_info->options & HA_LEX_CREATE_TMP_TABLE) || - (thd->locked_tables_mode != LTM_LOCK_TABLES && - thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, - table->db, table->table_name, - MDL_EXCLUSIVE)) || - (thd->locked_tables_mode == LTM_LOCK_TABLES && - (create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS) && - thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, - table->db, table->table_name, - MDL_SHARED_NO_WRITE))); + assert(table->table || table->is_view() || + (create_info->options & HA_LEX_CREATE_TMP_TABLE) || + (thd->locked_tables_mode != LTM_LOCK_TABLES && + thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, + table->db, table->table_name, + MDL_EXCLUSIVE)) || + (thd->locked_tables_mode == LTM_LOCK_TABLES && + (create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS) && + thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, + table->db, table->table_name, + MDL_SHARED_NO_WRITE))); DEBUG_SYNC(thd, "create_table_like_before_binlog"); @@ -5953,13 +5953,13 @@ store_create_info(thd, table, &query, create_info, TRUE /* show_database */); - DBUG_ASSERT(result == 0); // store_create_info() always return 0 + assert(result == 0); // store_create_info() always return 0 if (write_bin_log(thd, TRUE, query.ptr(), query.length())) goto err; if (new_table) { - DBUG_ASSERT(thd->open_tables == table->table); + assert(thd->open_tables == table->table); /* When opening the table, we ignored the locked tables (MYSQL_OPEN_GET_NEW_TABLE). Now we can close the table @@ -6281,7 +6281,7 @@ Alter_info *alter_info= ha_alter_info->alter_info; DBUG_EXECUTE_IF("assert_index_def_has_no_pack_flag", - DBUG_ASSERT(!(table_key->flags & (HA_PACK_KEY | HA_BINARY_PACK_KEY)));); + assert(!(table_key->flags & (HA_PACK_KEY | HA_BINARY_PACK_KEY)));); /* Check that the key types are compatible between old and new tables. */ if ((table_key->algorithm != new_key->algorithm) || @@ -6602,14 +6602,14 @@ ALTER_COLUMN_EQUAL_PACK_LENGTH; break; default: - DBUG_ASSERT(0); + assert(0); } // Conversion to and from generated column is supported if stored: if (field->is_gcol() != new_field->is_gcol()) { - DBUG_ASSERT((field->is_gcol() && !field->is_virtual_gcol()) || - (new_field->is_gcol() && !new_field->is_virtual_gcol())); + assert((field->is_gcol() && !field->is_virtual_gcol()) || + (new_field->is_gcol() && !new_field->is_virtual_gcol())); ha_alter_info->handler_flags|= Alter_inplace_info::ALTER_STORED_COLUMN_TYPE; } @@ -6618,7 +6618,7 @@ if (field->is_gcol() && new_field->is_gcol()) { // Modification of storage attribute is not supported - DBUG_ASSERT(field->is_virtual_gcol() == new_field->is_virtual_gcol()); + assert(field->is_virtual_gcol() == new_field->is_virtual_gcol()); if (!field->gcol_expr_is_equal(new_field)) { if (field->is_virtual_gcol()) @@ -6714,7 +6714,7 @@ /* Field is not present in new version of table and therefore was dropped. */ - DBUG_ASSERT(alter_info->flags & Alter_info::ALTER_DROP_COLUMN); + assert(alter_info->flags & Alter_info::ALTER_DROP_COLUMN); if (field->is_virtual_gcol()) ha_alter_info->handler_flags|= Alter_inplace_info::DROP_VIRTUAL_COLUMN; @@ -6749,10 +6749,10 @@ } } /* One of these should be set since Alter_info::ALTER_ADD_COLUMN was set. */ - DBUG_ASSERT(ha_alter_info->handler_flags & - (Alter_inplace_info::ADD_VIRTUAL_COLUMN | - Alter_inplace_info::ADD_STORED_BASE_COLUMN | - Alter_inplace_info::ADD_STORED_GENERATED_COLUMN)); + assert(ha_alter_info->handler_flags & + (Alter_inplace_info::ADD_VIRTUAL_COLUMN | + Alter_inplace_info::ADD_STORED_BASE_COLUMN | + Alter_inplace_info::ADD_STORED_GENERATED_COLUMN)); } /* @@ -7203,7 +7203,7 @@ t_type= MYSQL_TIMESTAMP_DATETIME; break; default: - DBUG_ASSERT(false); // Should not get here. + assert(false); // Should not get here. } make_truncated_value_warning(thd, Sql_condition::SL_WARNING, ErrConvString(my_zero_datetime6, f_length), @@ -7486,7 +7486,7 @@ if (alter_ctx->error_if_not_empty) { bool has_records= true; - DBUG_ASSERT(table->mdl_ticket->get_type() == MDL_EXCLUSIVE); + assert(table->mdl_ticket->get_type() == MDL_EXCLUSIVE); if (table_list->table->file->ha_table_flags() & HA_HAS_RECORDS) { ha_rows tmp= 0; @@ -7534,7 +7534,7 @@ switch (inplace_supported) { case HA_ALTER_ERROR: case HA_ALTER_INPLACE_NOT_SUPPORTED: - DBUG_ASSERT(0); + assert(0); // fall through case HA_ALTER_INPLACE_NO_LOCK: case HA_ALTER_INPLACE_NO_LOCK_AFTER_PREPARE: @@ -7577,7 +7577,7 @@ table->mdl_ticket->downgrade_lock(MDL_SHARED_NO_WRITE); else { - DBUG_ASSERT(inplace_supported == HA_ALTER_INPLACE_NO_LOCK_AFTER_PREPARE); + assert(inplace_supported == HA_ALTER_INPLACE_NO_LOCK_AFTER_PREPARE); table->mdl_ticket->downgrade_lock(MDL_SHARED_UPGRADABLE); } } @@ -7756,7 +7756,7 @@ case MYSQL_TYPE_LONG_BLOB: return 4294967295U; default: - DBUG_ASSERT(0); // we should never go here + assert(0); // we should never go here return 0; } } @@ -7858,10 +7858,10 @@ continue; } - DBUG_ASSERT(!def->gcol_info || - (def->gcol_info && - (def->sql_type != MYSQL_TYPE_DATETIME - || def->sql_type != MYSQL_TYPE_TIMESTAMP))); + assert(!def->gcol_info || + (def->gcol_info && + (def->sql_type != MYSQL_TYPE_DATETIME + || def->sql_type != MYSQL_TYPE_TIMESTAMP))); // Replace the old temporal field with the new temporal field. Create_field *temporal_field= NULL; if (!(temporal_field= new (thd->mem_root) Create_field()) || @@ -8464,7 +8464,7 @@ case Alter_drop::FOREIGN_KEY: break; default: - DBUG_ASSERT(false); + assert(false); break; } } @@ -8637,10 +8637,10 @@ return FK_COLUMN_DATA_CHANGE; } } - DBUG_ASSERT(old_field->is_gcol() == new_field->is_gcol() && - old_field->is_virtual_gcol() == new_field->is_virtual_gcol()); - DBUG_ASSERT(!old_field->is_gcol() || - old_field->gcol_expr_is_equal(new_field)); + assert(old_field->is_gcol() == new_field->is_gcol() && + old_field->is_virtual_gcol() == new_field->is_virtual_gcol()); + assert(!old_field->is_gcol() || + old_field->gcol_expr_is_equal(new_field)); } else { @@ -8769,7 +8769,7 @@ DBUG_RETURN(true); } default: - DBUG_ASSERT(0); + assert(0); } } @@ -8830,7 +8830,7 @@ f_key->foreign_id->str); DBUG_RETURN(true); default: - DBUG_ASSERT(0); + assert(0); } } @@ -9275,8 +9275,8 @@ Global intention exclusive lock must have been already acquired when table to be altered was open, so there is no need to do it here. */ - DBUG_ASSERT(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::GLOBAL, - "", "", MDL_INTENTION_EXCLUSIVE)); + assert(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::GLOBAL, + "", "", MDL_INTENTION_EXCLUSIVE)); if (thd->mdl_context.acquire_locks(&mdl_requests, thd->variables.lock_wait_timeout)) @@ -9693,7 +9693,7 @@ };); // We assume that the table is non-temporary. - DBUG_ASSERT(!table->s->tmp_table); + assert(!table->s->tmp_table); if (!(altered_table= open_table_uncached(thd, alter_ctx.get_tmp_path(), alter_ctx.new_db, @@ -9952,7 +9952,7 @@ else { /* Should be MERGE only */ - DBUG_ASSERT(new_table->file->ht->db_type == DB_TYPE_MRG_MYISAM); + assert(new_table->file->ht->db_type == DB_TYPE_MRG_MYISAM); if (!table->s->tmp_table && wait_while_table_is_used(thd, table, HA_EXTRA_FORCE_REOPEN)) goto err_new_table_cleanup; @@ -10046,7 +10046,7 @@ anything goes wrong while renaming the new table. */ char backup_name[32]; - DBUG_ASSERT(sizeof(my_thread_id) == 4); + assert(sizeof(my_thread_id) == 4); my_snprintf(backup_name, sizeof(backup_name), "%s2-%lx-%lx", tmp_file_prefix, current_pid, thd->thread_id()); if (lower_case_table_names) @@ -10130,9 +10130,9 @@ thd->query().str, thd->query().length, alter_ctx.db, alter_ctx.table_name); - DBUG_ASSERT(!(mysql_bin_log.is_open() && - thd->is_current_stmt_binlog_format_row() && - (create_info->options & HA_LEX_CREATE_TMP_TABLE))); + assert(!(mysql_bin_log.is_open() && + thd->is_current_stmt_binlog_format_row() && + (create_info->options & HA_LEX_CREATE_TMP_TABLE))); if (write_bin_log(thd, true, thd->query().str, thd->query().length)) DBUG_RETURN(true); @@ -10521,7 +10521,7 @@ Alter_info alter_info; DBUG_ENTER("mysql_recreate_table"); - DBUG_ASSERT(!table_list->next_global); + assert(!table_list->next_global); /* Set lock type which is appropriate for ALTER TABLE. */ table_list->lock_type= TL_READ_NO_INSERT; /* Same applies to MDL request. */ @@ -10555,7 +10555,7 @@ CHECKSUM TABLE returns results and rollbacks statement transaction, so it should not be used in stored function or trigger. */ - DBUG_ASSERT(! thd->in_sub_stmt); + assert(! thd->in_sub_stmt); field_list.push_back(item = new Item_empty_string("Table", NAME_LEN*2)); item->maybe_null= 1; diff -Nru mysql-5.7-5.7.33/sql/sql_table.h mysql-5.7-5.7.34/sql/sql_table.h --- mysql-5.7-5.7.33/sql/sql_table.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_table.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -153,9 +153,9 @@ static const uint NO_FK_CHECKS= 1 << 5; size_t filename_to_tablename(const char *from, char *to, size_t to_length -#ifndef DBUG_OFF +#ifndef NDEBUG , bool stay_quiet = false -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ ); size_t tablename_to_filename(const char *from, char *to, size_t to_length); size_t check_n_cut_mysql50_prefix(const char *from, char *to, size_t to_length); diff -Nru mysql-5.7-5.7.33/sql/sql_tablespace.cc mysql-5.7-5.7.34/sql/sql_tablespace.cc --- mysql-5.7-5.7.33/sql/sql_tablespace.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_tablespace.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -129,7 +129,7 @@ DBUG_ENTER("mysql_alter_tablespace"); - DBUG_ASSERT(ts_info); + assert(ts_info); handlerton *hton= ts_info->storage_engine; /* diff -Nru mysql-5.7-5.7.33/sql/sql_tablespace.h mysql-5.7-5.7.34/sql/sql_tablespace.h --- mysql-5.7-5.7.33/sql/sql_tablespace.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_tablespace.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_test.cc mysql-5.7-5.7.34/sql/sql_test.cc --- mysql-5.7-5.7.33/sql/sql_test.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_test.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -65,7 +65,7 @@ }; -#ifndef DBUG_OFF +#ifndef NDEBUG void print_where(Item *cond,const char *info, enum_query_type query_type) @@ -108,7 +108,7 @@ { uint i,ref; DBUG_ENTER("TEST_join"); - DBUG_ASSERT(!join->join_tab); + assert(!join->join_tab); /* Assemble results of all the calls to full_name() first, in order not to garble the tabular output below. @@ -163,12 +163,12 @@ DBUG_VOID_RETURN; } -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ void print_keyuse_array(Opt_trace_context *trace, const Key_use_array *keyuse_array) { -#if !defined(DBUG_OFF) || defined(OPTIMIZER_TRACE) +#if !defined(NDEBUG) || defined(OPTIMIZER_TRACE) if (unlikely(!trace->is_started())) return; Opt_trace_object wrapper(trace); @@ -190,10 +190,10 @@ add("equals", keyuse.val). add("null_rejecting", keyuse.null_rejecting); } -#endif /* !DBUG_OFF || OPTIMIZER_TRACE */ +#endif /* !NDEBUG || OPTIMIZER_TRACE */ } -#ifndef DBUG_OFF +#ifndef NDEBUG /* purecov: begin inspected */ /** @@ -294,7 +294,7 @@ DBUG_UNLOCK_FILE; } -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ C_MODE_START static int print_key_cache_status(const char *name, KEY_CACHE *key_cache); @@ -472,7 +472,7 @@ Global_THD_manager::get_instance()->get_thd_count(), (long) my_thread_stack_size); thr_print_locks(); // Write some debug info -#ifndef DBUG_OFF +#ifndef NDEBUG print_cached_tables(); #endif /* Print key cache status */ @@ -519,7 +519,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG #ifdef EXTRA_DEBUG_DUMP_TABLE_LISTS diff -Nru mysql-5.7-5.7.33/sql/sql_test.h mysql-5.7-5.7.34/sql/sql_test.h --- mysql-5.7-5.7.33/sql/sql_test.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_test.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -37,7 +37,7 @@ extern const char *lock_descriptions[TL_WRITE_ONLY + 1]; -#ifndef DBUG_OFF +#ifndef NDEBUG void print_where(Item *cond,const char *info, enum_query_type query_type); void TEST_join(JOIN *join); void print_plan(JOIN* join,uint idx, double record_count, double read_time, diff -Nru mysql-5.7-5.7.33/sql/sql_thd_internal_api.cc mysql-5.7-5.7.34/sql/sql_thd_internal_api.cc --- mysql-5.7-5.7.33/sql/sql_thd_internal_api.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_thd_internal_api.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -122,8 +122,8 @@ int mysql_tmpfile_path(const char *path, const char *prefix) { - DBUG_ASSERT(path != NULL); - DBUG_ASSERT((strlen(path) + strlen(prefix)) <= FN_REFLEN); + assert(path != NULL); + assert((strlen(path) + strlen(prefix)) <= FN_REFLEN); char filename[FN_REFLEN]; File fd = create_temp_file(filename, path, prefix, diff -Nru mysql-5.7-5.7.33/sql/sql_thd_internal_api.h mysql-5.7-5.7.34/sql/sql_thd_internal_api.h --- mysql-5.7-5.7.33/sql/sql_thd_internal_api.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_thd_internal_api.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_time.cc mysql-5.7-5.7.34/sql/sql_time.cc --- mysql-5.7-5.7.33/sql/sql_time.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_time.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -304,8 +304,8 @@ uint nanoseconds, int *warnings) { /* We expect correct input data */ - DBUG_ASSERT(nanoseconds < 1000000000); - DBUG_ASSERT(!check_time_mmssff_range(ltime)); + assert(nanoseconds < 1000000000); + assert(!check_time_mmssff_range(ltime)); if (nanoseconds < 500) return false; @@ -353,7 +353,7 @@ bool datetime_add_nanoseconds_with_round(MYSQL_TIME *ltime, uint nanoseconds, int *warnings) { - DBUG_ASSERT(nanoseconds < 1000000000); + assert(nanoseconds < 1000000000); if (nanoseconds < 500) return false; @@ -675,7 +675,7 @@ { if (!ltime->month) /* Zero date */ { - DBUG_ASSERT(!ltime->year && !ltime->day); + assert(!ltime->year && !ltime->day); if (non_zero_time(ltime)) { /* @@ -809,7 +809,7 @@ to->year= 0; to->month= 0; to->day= 0; - DBUG_ASSERT(seconds < (0xFFFFFFFFLL * 3600LL)); + assert(seconds < (0xFFFFFFFFLL * 3600LL)); to->hour= (long) (seconds / 3600L); t_seconds= (long) (seconds % 3600L); to->minute= t_seconds/60L; @@ -1045,7 +1045,7 @@ return 0; break; default: - DBUG_ASSERT(1); + assert(1); break; } return 1; // Error @@ -1122,7 +1122,7 @@ case MYSQL_TIMESTAMP_TIME: return format->time_format; default: - DBUG_ASSERT(0); // Impossible + assert(0); // Impossible return 0; } } @@ -1492,7 +1492,7 @@ bool my_time_round(MYSQL_TIME *ltime, uint dec) { int warnings= 0; - DBUG_ASSERT(dec <= DATETIME_MAX_DECIMALS); + assert(dec <= DATETIME_MAX_DECIMALS); /* Add half away from zero */ bool rc= time_add_nanoseconds_with_round(ltime, msec_round_add[dec], &warnings); @@ -1511,7 +1511,7 @@ */ bool my_datetime_round(MYSQL_TIME *ltime, uint dec, int *warnings) { - DBUG_ASSERT(dec <= DATETIME_MAX_DECIMALS); + assert(dec <= DATETIME_MAX_DECIMALS); /* Add half away from zero */ bool rc= datetime_add_nanoseconds_with_round(ltime, msec_round_add[dec], warnings); @@ -1530,7 +1530,7 @@ */ bool my_timeval_round(struct timeval *tv, uint decimals) { - DBUG_ASSERT(decimals <= DATETIME_MAX_DECIMALS); + assert(decimals <= DATETIME_MAX_DECIMALS); uint nanoseconds= msec_round_add[decimals]; tv->tv_usec+= (nanoseconds + 500) / 1000; if (tv->tv_usec < 1000000) @@ -1558,8 +1558,8 @@ */ void mix_date_and_time(MYSQL_TIME *ldate, const MYSQL_TIME *ltime) { - DBUG_ASSERT(ldate->time_type == MYSQL_TIMESTAMP_DATE || - ldate->time_type == MYSQL_TIMESTAMP_DATETIME); + assert(ldate->time_type == MYSQL_TIMESTAMP_DATE || + ldate->time_type == MYSQL_TIMESTAMP_DATETIME); if (!ltime->neg && ltime->hour < 24) { @@ -1579,14 +1579,14 @@ long days, useconds; int sign= ltime->neg ? 1 : -1; ldate->neg= calc_time_diff(ldate, ltime, sign, &seconds, &useconds); - DBUG_ASSERT(!ldate->neg); + assert(!ldate->neg); /* We pass current date to mix_date_and_time. If we want to use this function with arbitrary dates, this code will need to cover cases when ltime is negative and "ldate < -ltime". */ - DBUG_ASSERT(ldate->year > 0); + assert(ldate->year > 0); days= (long) (seconds / SECONDS_IN_24H); calc_time_from_sec(ldate, seconds % SECONDS_IN_24H, useconds); @@ -1645,7 +1645,7 @@ TIME_from_longlong_datetime_packed(ltime, packed_value); break; default: - DBUG_ASSERT(0); + assert(0); set_zero_time(ltime, MYSQL_TIMESTAMP_ERROR); break; } @@ -1681,7 +1681,7 @@ TIME_from_longlong_datetime_packed(<ime, packed_value); return date2my_decimal(<ime, dec); default: - DBUG_ASSERT(0); + assert(0); ulonglong2decimal(0, dec); return dec; } @@ -1713,7 +1713,7 @@ TIME_from_longlong_datetime_packed(<ime, packed_value); return TIME_to_ulonglong_datetime(<ime); default: - DBUG_ASSERT(0); + assert(0); return 0; } } diff -Nru mysql-5.7-5.7.33/sql/sql_time.h mysql-5.7-5.7.34/sql/sql_time.h --- mysql-5.7-5.7.33/sql/sql_time.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_time.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -171,7 +171,7 @@ /* Date/time rounding and truncation functions */ inline long my_time_fraction_remainder(long nr, uint decimals) { - DBUG_ASSERT(decimals <= DATETIME_MAX_DECIMALS); + assert(decimals <= DATETIME_MAX_DECIMALS); return nr % (long) log_10_int[DATETIME_MAX_DECIMALS - decimals]; } inline void my_time_trunc(MYSQL_TIME *ltime, uint decimals) @@ -230,7 +230,7 @@ case MYSQL_TIMESTAMP_DATE: return TIME_to_ulonglong_date(ltime); default: - DBUG_ASSERT(0); + assert(0); return 0; } } diff -Nru mysql-5.7-5.7.33/sql/sql_timer.cc mysql-5.7-5.7.34/sql/sql_timer.cc --- mysql-5.7-5.7.33/sql/sql_timer.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_timer.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -88,7 +88,7 @@ Find_thd_with_id find_thd_with_id(thd_timer->thread_id); THD *thd= Global_THD_manager::get_instance()->find_thd(&find_thd_with_id); - DBUG_ASSERT(!thd_timer->destroy || !thd_timer->thread_id); + assert(!thd_timer->destroy || !thd_timer->thread_id); /* Statement might have finished while the timer notification was being delivered. If this is the case, the timer object @@ -156,7 +156,7 @@ if (thd_timer == NULL && (thd_timer= thd_timer_create()) == NULL) DBUG_RETURN(NULL); - DBUG_ASSERT(!thd_timer->destroy && !thd_timer->thread_id); + assert(!thd_timer->destroy && !thd_timer->thread_id); /* Mark the notification as pending. */ thd_timer->thread_id= thd->thread_id(); @@ -185,10 +185,10 @@ reap_timer(THD_timer_info *thd_timer, bool pending) { /* Cannot be tagged for destruction. */ - DBUG_ASSERT(!thd_timer->destroy); + assert(!thd_timer->destroy); /* If not pending, timer hasn't fired. */ - DBUG_ASSERT(pending || thd_timer->thread_id); + assert(pending || thd_timer->thread_id); /* The timer object can be reused if the timer was stopped before diff -Nru mysql-5.7-5.7.33/sql/sql_timer.h mysql-5.7-5.7.34/sql/sql_timer.h --- mysql-5.7-5.7.33/sql/sql_timer.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_timer.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_tmp_table.cc mysql-5.7-5.7.34/sql/sql_tmp_table.cc --- mysql-5.7-5.7.33/sql/sql_tmp_table.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_tmp_table.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -147,7 +147,7 @@ item->item_name.ptr(), item->unsigned_flag); break; case STRING_RESULT: - DBUG_ASSERT(item->collation.collation); + assert(item->collation.collation); /* DATE/TIME, GEOMETRY and JSON fields have STRING_RESULT result type. @@ -171,7 +171,7 @@ case ROW_RESULT: default: // This case should never be choosen - DBUG_ASSERT(0); + assert(0); new_field= 0; break; } @@ -352,7 +352,7 @@ if (make_copy_field) { - DBUG_ASSERT(item_func_sp->result_field); + assert(item_func_sp->result_field); *from_field= item_func_sp->result_field; } else @@ -390,7 +390,7 @@ case Item::PARAM_ITEM: if (make_copy_field) { - DBUG_ASSERT(((Item_result_field*)item)->result_field); + assert(((Item_result_field*)item)->result_field); *from_field= ((Item_result_field*)item)->result_field; } result= create_tmp_field_from_item(thd, item, table, @@ -405,7 +405,7 @@ result->set_derivation(item->collation.derivation); break; default: // Dosen't have to be stored - DBUG_ASSERT(false); + assert(false); break; } return result; @@ -513,7 +513,7 @@ void init_cache_tmp_engine_properties() { - DBUG_ASSERT(!current_thd); + assert(!current_thd); THD *thd= new THD(); thd->thread_stack= pointer_cast(&thd); thd->store_globals(); @@ -533,7 +533,7 @@ uint *max_key_part_length) { // Make sure these cached properties are initialized. - DBUG_ASSERT(Cache_temp_engine_properties::HEAP_MAX_KEY_LENGTH); + assert(Cache_temp_engine_properties::HEAP_MAX_KEY_LENGTH); switch (internal_tmp_disk_storage_engine) { @@ -549,8 +549,8 @@ It is correct as long as HEAP'S not bigger than on-disk temp table engine's, which we check here. */ - DBUG_ASSERT(Cache_temp_engine_properties::HEAP_MAX_KEY_PARTS <= - Cache_temp_engine_properties::MYISAM_MAX_KEY_PARTS); + assert(Cache_temp_engine_properties::HEAP_MAX_KEY_PARTS <= + Cache_temp_engine_properties::MYISAM_MAX_KEY_PARTS); break; case TMP_TABLE_INNODB: default: @@ -560,8 +560,8 @@ *max_key_part_length= std::min(Cache_temp_engine_properties::HEAP_MAX_KEY_PART_LENGTH, Cache_temp_engine_properties::INNODB_MAX_KEY_PART_LENGTH); - DBUG_ASSERT(Cache_temp_engine_properties::HEAP_MAX_KEY_PARTS <= - Cache_temp_engine_properties::INNODB_MAX_KEY_PARTS); + assert(Cache_temp_engine_properties::HEAP_MAX_KEY_PARTS <= + Cache_temp_engine_properties::INNODB_MAX_KEY_PARTS); break; } } @@ -718,7 +718,7 @@ else { /* if we run out of slots or we are not using tempool */ - DBUG_ASSERT(sizeof(my_thread_id) == 4); + assert(sizeof(my_thread_id) == 4); sprintf(path,"%s%lx_%x_%x", tmp_file_prefix, current_pid, thd->thread_id(), thd->tmp_table++); } @@ -975,7 +975,7 @@ if (!new_field) { - DBUG_ASSERT(thd->is_fatal_error); + assert(thd->is_fatal_error); goto err; // Got OOM } if (type == Item::SUM_FUNC_ITEM) @@ -1052,8 +1052,8 @@ total_uneven_bit_length= 0; } } - DBUG_ASSERT(fieldnr == (uint) (reg_field - table->field)); - DBUG_ASSERT(field_count >= (uint) (reg_field - table->field)); + assert(fieldnr == (uint) (reg_field - table->field)); + assert(field_count >= (uint) (reg_field - table->field)); field_count= fieldnr; *reg_field= 0; *blob_field= 0; // End marker @@ -1083,7 +1083,7 @@ share->db_plugin= ha_lock_engine(0, innodb_hton); break; default: - DBUG_ASSERT(0); + assert(0); share->db_plugin= ha_lock_engine(0, innodb_hton); } @@ -1143,7 +1143,7 @@ for (; cur_group ; cur_group= cur_group->next, key_part_info++) { Field *field= (*cur_group->item)->get_tmp_table_field(); - DBUG_ASSERT(field->table == table); + assert(field->table == table); key_part_info->init_from_field(field); /* In GROUP BY 'a' and 'a ' are equal for VARCHAR fields */ @@ -1220,7 +1220,7 @@ Field_longlong(sizeof(ulonglong), false, "", true); if (!field) { - DBUG_ASSERT(thd->is_fatal_error); + assert(thd->is_fatal_error); goto err; // Got OOM } @@ -1292,7 +1292,7 @@ share->default_values= table->record[1]+alloc_length; } param->func_count= copy_func->size(); - DBUG_ASSERT(param->func_count <= copy_func_count); // Used <= allocated + assert(param->func_count <= copy_func_count); // Used <= allocated setup_tmp_table_column_bitmaps(table, bitmaps); @@ -1313,7 +1313,7 @@ } null_count= (blob_count == 0) ? 1 : 0; hidden_field_count=param->hidden_field_count; - DBUG_ASSERT((uint)hidden_field_count <= field_count); + assert((uint)hidden_field_count <= field_count); for (i=0,reg_field=table->field; i < field_count; i++,reg_field++,recinfo++) { Field *field= *reg_field; @@ -1442,7 +1442,7 @@ for (; cur_group ; cur_group= cur_group->next, key_part_info++) { Field *field= (*cur_group->item)->get_tmp_table_field(); - DBUG_ASSERT(field->table == table); + assert(field->table == table); bool maybe_null= (*cur_group->item)->maybe_null; key_part_info->init_from_field(key_part_info->field); keyinfo->key_length+= key_part_info->store_length; @@ -1602,7 +1602,7 @@ uint i; DBUG_ENTER("create_duplicate_weedout_tmp_table"); - DBUG_ASSERT(!sjtbl->is_confluent); + assert(!sjtbl->is_confluent); /* STEP 1: Get temporary table name */ @@ -1616,7 +1616,7 @@ else { /* if we run out of slots or we are not using tempool */ - DBUG_ASSERT(sizeof(my_thread_id) == 4); + assert(sizeof(my_thread_id) == 4); sprintf(path,"%s%lx_%x_%x", tmp_file_prefix,current_pid, thd->thread_id(), thd->tmp_table++); } @@ -1688,7 +1688,7 @@ Field_longlong(sizeof(ulonglong), false, "", true); if (!field) { - DBUG_ASSERT(thd->is_fatal_error); + assert(thd->is_fatal_error); goto err; // Got OOM } // Mark hash_field as NOT NULL @@ -1738,7 +1738,7 @@ share->db_plugin= ha_lock_engine(0, innodb_hton); break; default: - DBUG_ASSERT(0); + assert(0); share->db_plugin= ha_lock_engine(0, innodb_hton); } table->file= get_new_handler(share, &table->mem_root, @@ -1885,7 +1885,7 @@ keyinfo->key_length=0; { key_part_info->init_from_field(field); - DBUG_ASSERT(key_part_info->key_type == FIELDFLAG_BINARY); + assert(key_part_info->key_type == FIELDFLAG_BINARY); key_field= field->new_key_field(thd->mem_root, table, group_buff); if (!key_field) @@ -2129,7 +2129,7 @@ { // Get keys for ni_create if (share->keys > 1) { - DBUG_ASSERT(0); // This code can't handle more than 1 key + assert(0); // This code can't handle more than 1 key share->keys= 1; } HA_KEYSEG *seg= (HA_KEYSEG*) alloc_root(&table->mem_root, @@ -2333,7 +2333,7 @@ } else { - DBUG_ASSERT(table->s->db_type() == heap_hton); + assert(table->s->db_type() == heap_hton); trace_tmp.add_alnum("location", "memory (heap)"). add("row_limit_estimate", table->s->max_rows); } @@ -2365,9 +2365,9 @@ ulonglong options, my_bool big_tables, Opt_trace_context *trace) { -#ifndef DBUG_OFF +#ifndef NDEBUG for (uint i= 0; i < table->s->fields; i++) - DBUG_ASSERT(table->field[i]->gcol_info== NULL && table->field[i]->stored_in_db); + assert(table->field[i]->gcol_info== NULL && table->field[i]->stored_in_db); #endif if (table->s->db_type() == innodb_hton) @@ -2518,7 +2518,7 @@ new_table.s->db_plugin= ha_lock_engine(thd, innodb_hton); break; default: - DBUG_ASSERT(0); + assert(0); new_table.s->db_plugin= ha_lock_engine(thd, innodb_hton); } @@ -2556,7 +2556,7 @@ Opt_trace_context * trace= &thd->opt_trace; Opt_trace_object wrapper(trace); Opt_trace_object convert(trace, "converting_tmp_table_to_ondisk"); - DBUG_ASSERT(error == HA_ERR_RECORD_FILE_FULL); + assert(error == HA_ERR_RECORD_FILE_FULL); convert.add_alnum("cause", "memory_table_size_exceeded"); trace_tmp_table(trace, &new_table); } @@ -2620,14 +2620,14 @@ /* Update quick select, if any. */ { QEP_TAB *tab= table->reginfo.qep_tab; - DBUG_ASSERT(tab || !table->reginfo.join_tab); + assert(tab || !table->reginfo.join_tab); if (tab && tab->quick()) { /* This could happen only with result of derived table/view materialization. */ - DBUG_ASSERT(tab->table_ref && tab->table_ref->uses_materialization()); + assert(tab->table_ref && tab->table_ref->uses_materialization()); tab->quick()->set_handler(table->file); } } diff -Nru mysql-5.7-5.7.33/sql/sql_tmp_table.h mysql-5.7-5.7.34/sql/sql_tmp_table.h --- mysql-5.7-5.7.33/sql/sql_tmp_table.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_tmp_table.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_TMP_TABLE_INCLUDED #define SQL_TMP_TABLE_INCLUDED -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_trigger.cc mysql-5.7-5.7.34/sql/sql_trigger.cc --- mysql-5.7-5.7.33/sql/sql_trigger.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_trigger.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -155,7 +155,7 @@ if (!tables) { - DBUG_ASSERT(if_exists); + assert(if_exists); /* Since the trigger does not exist, there is no associated table, and therefore : @@ -188,7 +188,7 @@ } /* We should have only one table in table list. */ - DBUG_ASSERT(tables->next_global == 0); + assert(tables->next_global == 0); /* We do not allow creation of triggers on temporary tables. */ if (create && find_temporary_table(thd, tables)) @@ -444,13 +444,13 @@ This method interfaces the mysql server code protected by an exclusive metadata lock. */ - DBUG_ASSERT(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, - db_name, - table_name, - MDL_EXCLUSIVE)); + assert(thd->mdl_context.owns_equal_or_stronger_lock(MDL_key::TABLE, + db_name, + table_name, + MDL_EXCLUSIVE)); - DBUG_ASSERT(my_strcasecmp(table_alias_charset, db_name, new_db_name) || - my_strcasecmp(table_alias_charset, table_alias, new_table_name)); + assert(my_strcasecmp(table_alias_charset, db_name, new_db_name) || + my_strcasecmp(table_alias_charset, table_alias, new_table_name)); Table_trigger_dispatcher d(db_name, table_name); diff -Nru mysql-5.7-5.7.33/sql/sql_trigger.h mysql-5.7-5.7.34/sql/sql_trigger.h --- mysql-5.7-5.7.33/sql/sql_trigger.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_trigger.h 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ #define SQL_TRIGGER_INCLUDED /* - Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_truncate.cc mysql-5.7-5.7.34/sql/sql_truncate.cc --- mysql-5.7-5.7.33/sql/sql_truncate.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_truncate.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -156,13 +156,13 @@ /* Loop over the set of foreign keys for which this table is a parent. */ while ((fk_info= it++)) { - DBUG_ASSERT(!my_strcasecmp(system_charset_info, - fk_info->referenced_db->str, - table->s->db.str)); - - DBUG_ASSERT(!my_strcasecmp(system_charset_info, - fk_info->referenced_table->str, - table->s->table_name.str)); + assert(!my_strcasecmp(system_charset_info, + fk_info->referenced_db->str, + table->s->db.str)); + + assert(!my_strcasecmp(system_charset_info, + fk_info->referenced_table->str, + table->s->table_name.str)); if (my_strcasecmp(system_charset_info, fk_info->foreign_db->str, table->s->db.str) || @@ -216,7 +216,7 @@ if (!is_tmp_table) { /* We don't need to load triggers. */ - DBUG_ASSERT(table_ref->trg_event_map == 0); + assert(table_ref->trg_event_map == 0); /* Our metadata lock guarantees that no transaction is reading or writing into the table. Yet, to open a write cursor we need @@ -343,9 +343,9 @@ DBUG_ENTER("Sql_cmd_truncate_table::lock_table"); /* Lock types are set in the parser. */ - DBUG_ASSERT(table_ref->lock_type == TL_WRITE); + assert(table_ref->lock_type == TL_WRITE); /* The handler truncate protocol dictates a exclusive lock. */ - DBUG_ASSERT(table_ref->mdl_request.type == MDL_EXCLUSIVE); + assert(table_ref->mdl_request.type == MDL_EXCLUSIVE); /* Before doing anything else, acquire a metadata lock on the table, @@ -373,7 +373,7 @@ else { /* Acquire an exclusive lock. */ - DBUG_ASSERT(table_ref->next_global == NULL); + assert(table_ref->next_global == NULL); if (lock_table_names(thd, table_ref, NULL, thd->variables.lock_wait_timeout, 0)) DBUG_RETURN(TRUE); @@ -430,8 +430,8 @@ bool binlog_stmt; DBUG_ENTER("Sql_cmd_truncate_table::truncate_table"); - DBUG_ASSERT((!table_ref->table) || - (table_ref->table && table_ref->table->s)); + assert((!table_ref->table) || + (table_ref->table && table_ref->table->s)); /* Initialize, or reinitialize in case of reexecution (SP). */ m_ticket_downgrade= NULL; @@ -450,8 +450,8 @@ if ((error= recreate_temporary_table(thd, tmp_table))) binlog_stmt= FALSE; /* No need to binlog failed truncate-by-recreate. */ - DBUG_ASSERT(! thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(! thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT)); } else { diff -Nru mysql-5.7-5.7.33/sql/sql_truncate.h mysql-5.7-5.7.34/sql/sql_truncate.h --- mysql-5.7-5.7.33/sql/sql_truncate.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_truncate.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef SQL_TRUNCATE_INCLUDED #define SQL_TRUNCATE_INCLUDED -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_udf.cc mysql-5.7-5.7.34/sql/sql_udf.cc --- mysql-5.7-5.7.33/sql/sql_udf.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_udf.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -199,8 +199,22 @@ DBUG_PRINT("info",("init udf record")); LEX_STRING name; name.str=get_field(&mem, table->field[0]); + + // Check the name.str is NULL or not. + if (name.str == NULL) + { + sql_print_error("Invalid row in mysql.func table for column 'name'"); + continue; + } + name.length = strlen(name.str); char *dl_name= get_field(&mem, table->field[2]); + if (dl_name == NULL) + { + sql_print_error("Invalid row in mysql.func table for function '%.64s'", + name.str); + continue; + } bool new_dl=0; Item_udftype udftype=UDFTYPE_FUNCTION; if (table->s->fields >= 4) // New func table @@ -554,13 +568,13 @@ if (write_bin_log(thd, true, thd->query().str, thd->query().length)) { /* Restore the state of binlog format */ - DBUG_ASSERT(!thd->is_current_stmt_binlog_format_row()); + assert(!thd->is_current_stmt_binlog_format_row()); if (save_binlog_row_based) thd->set_current_stmt_binlog_format_row(); DBUG_RETURN(1); } /* Restore the state of binlog format */ - DBUG_ASSERT(!thd->is_current_stmt_binlog_format_row()); + assert(!thd->is_current_stmt_binlog_format_row()); if (save_binlog_row_based) thd->set_current_stmt_binlog_format_row(); DBUG_RETURN(0); @@ -570,7 +584,7 @@ dlclose(dl); mysql_rwlock_unlock(&THR_LOCK_udf); /* Restore the state of binlog format */ - DBUG_ASSERT(!thd->is_current_stmt_binlog_format_row()); + assert(!thd->is_current_stmt_binlog_format_row()); if (save_binlog_row_based) thd->set_current_stmt_binlog_format_row(); DBUG_RETURN(1); @@ -647,7 +661,7 @@ error= 0; exit: /* Restore the state of binlog format */ - DBUG_ASSERT(!thd->is_current_stmt_binlog_format_row()); + assert(!thd->is_current_stmt_binlog_format_row()); if (save_binlog_row_based) thd->set_current_stmt_binlog_format_row(); DBUG_RETURN(error); diff -Nru mysql-5.7-5.7.33/sql/sql_udf.h mysql-5.7-5.7.34/sql/sql_udf.h --- mysql-5.7-5.7.33/sql/sql_udf.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_udf.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SQL_UDF_INCLUDED #define SQL_UDF_INCLUDED -/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_union.cc mysql-5.7-5.7.34/sql/sql_union.cc --- mysql-5.7-5.7.33/sql/sql_union.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_union.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -126,7 +126,7 @@ bool bit_fields_as_long, bool create_table) { - DBUG_ASSERT(table == NULL); + assert(table == NULL); tmp_table_param= Temp_table_param(); count_field_types(thd_arg->lex->current_select(), &tmp_table_param, *column_types, false, true); @@ -212,7 +212,7 @@ uint field_count(List &fields) const { // Only called for top-level Query_results, usually Query_result_send - DBUG_ASSERT(false); /* purecov: inspected */ + assert(false); /* purecov: inspected */ return 0; /* purecov: inspected */ } bool postponed_prepare(List &types); @@ -228,7 +228,7 @@ bool check_simple_select() const { // Only called for top-level Query_results, usually Query_result_send - DBUG_ASSERT(false); /* purecov: inspected */ + assert(false); /* purecov: inspected */ return false; /* purecov: inspected */ } void abort_result_set() @@ -243,12 +243,12 @@ and for the results of subquery engines (select__subselect). */ - DBUG_ASSERT(false); /* purecov: inspected */ + assert(false); /* purecov: inspected */ } void begin_dataset() { // Only called for sp_cursor::Select_fetch_into_spvars - DBUG_ASSERT(false); /* purecov: inspected */ + assert(false); /* purecov: inspected */ } }; @@ -383,7 +383,7 @@ { DBUG_ENTER("st_select_lex_unit::prepare_fake_select_lex"); - DBUG_ASSERT(thd_arg->lex->current_select() == fake_select_lex); + assert(thd_arg->lex->current_select() == fake_select_lex); // The UNION result table is input table for this query block fake_select_lex->table_list.link_in_list(&result_table_list, @@ -432,11 +432,11 @@ if (fake_select_lex->ref_pointer_array.is_null()) fake_select_lex->n_child_sum_items+= fake_select_lex->n_sum_items; - DBUG_ASSERT(fake_select_lex->with_wild == 0 && - fake_select_lex->master_unit() == this && - !fake_select_lex->group_list.elements && - fake_select_lex->where_cond() == NULL && - fake_select_lex->having_cond() == NULL); + assert(fake_select_lex->with_wild == 0 && + fake_select_lex->master_unit() == this && + !fake_select_lex->group_list.elements && + fake_select_lex->where_cond() == NULL && + fake_select_lex->having_cond() == NULL); if (fake_select_lex->prepare(thd_arg)) DBUG_RETURN(true); @@ -461,7 +461,7 @@ { DBUG_ENTER("st_select_lex_unit::prepare"); - DBUG_ASSERT(!is_prepared()); + assert(!is_prepared()); SELECT_LEX *lex_select_save= thd_arg->lex->current_select(); @@ -557,10 +557,10 @@ been fixed yet. An Item_type_holder must be created based on a fixed Item, so use the inner Item instead. */ - DBUG_ASSERT(item_tmp->fixed || - (item_tmp->type() == Item::REF_ITEM && - down_cast(item_tmp)->ref_type() == - Item_ref::OUTER_REF)); + assert(item_tmp->fixed || + (item_tmp->type() == Item::REF_ITEM && + down_cast(item_tmp)->ref_type() == + Item_ref::OUTER_REF)); if (!item_tmp->fixed) item_tmp= item_tmp->real_item(); @@ -696,7 +696,7 @@ { DBUG_ENTER("st_select_lex_unit::optimize"); - DBUG_ASSERT(is_prepared() && !is_optimized()); + assert(is_prepared() && !is_optimized()); SELECT_LEX *save_select= thd->lex->current_select(); @@ -738,12 +738,12 @@ subquery execution rather than EXPLAIN line production. In order to reset them back, we re-do all of the actions (yes it is ugly). */ - DBUG_ASSERT(fake_select_lex->with_wild == 0 && - fake_select_lex->master_unit() == this && - !fake_select_lex->group_list.elements && - fake_select_lex->get_table_list() == &result_table_list && - fake_select_lex->where_cond() == NULL && - fake_select_lex->having_cond() == NULL); + assert(fake_select_lex->with_wild == 0 && + fake_select_lex->master_unit() == this && + !fake_select_lex->group_list.elements && + fake_select_lex->get_table_list() == &result_table_list && + fake_select_lex->where_cond() == NULL && + fake_select_lex->having_cond() == NULL); if (fake_select_lex->optimize(thd)) DBUG_RETURN(true); @@ -767,7 +767,7 @@ { DBUG_ENTER("st_select_lex_unit::explain"); -#ifndef DBUG_OFF +#ifndef NDEBUG SELECT_LEX *lex_select_save= thd->lex->current_select(); #endif Explain_format *fmt= ethd->lex->explain_format; @@ -776,7 +776,7 @@ if (!other) { - DBUG_ASSERT(!is_simple() && is_optimized()); + assert(!is_simple() && is_optimized()); set_executed(); } @@ -798,7 +798,7 @@ ret= explain_query_specification(ethd, fake_select_lex, CTX_UNION_RESULT); } if (!other) - DBUG_ASSERT(thd->lex->current_select() == lex_select_save); + assert(thd->lex->current_select() == lex_select_save); if (ret) DBUG_RETURN(true); @@ -819,7 +819,7 @@ bool st_select_lex_unit::execute(THD *thd) { DBUG_ENTER("st_select_lex_unit::exec"); - DBUG_ASSERT(!is_simple() && is_optimized()); + assert(!is_simple() && is_optimized()); if (is_executed() && !uncacheable) DBUG_RETURN(false); @@ -867,7 +867,7 @@ if (sl == union_distinct) { // This is UNION DISTINCT, so there should be a fake_select_lex - DBUG_ASSERT(fake_select_lex != NULL); + assert(fake_select_lex != NULL); if (table->file->ha_disable_indexes(HA_KEY_SWITCH_ALL)) DBUG_RETURN(true); /* purecov: inspected */ table->no_keyread= 1; @@ -918,7 +918,7 @@ { DBUG_ENTER("st_select_lex_unit::cleanup"); - DBUG_ASSERT(thd == current_thd); + assert(thd == current_thd); if (cleaned >= (full ? UC_CLEAN : UC_PART_CLEAN)) DBUG_RETURN(false); @@ -952,10 +952,10 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG void st_select_lex_unit::assert_not_fully_clean() { - DBUG_ASSERT(cleaned < UC_CLEAN); + assert(cleaned < UC_CLEAN); SELECT_LEX *sl= first_select(); for (;;) { @@ -980,7 +980,7 @@ void st_select_lex_unit::reinit_exec_mechanism() { prepared= optimized= executed= false; -#ifndef DBUG_OFF +#ifndef NDEBUG if (is_union()) { List_iterator_fast it(item_list); @@ -1042,7 +1042,7 @@ List *st_select_lex_unit::get_unit_column_types() { - DBUG_ASSERT(is_prepared()); + assert(is_prepared()); return is_union() ? &types : &first_select()->item_list; } @@ -1060,7 +1060,7 @@ List *st_select_lex_unit::get_field_list() { - DBUG_ASSERT(is_optimized()); + assert(is_optimized()); return is_union() ? &types : first_select()->join->fields; } @@ -1081,7 +1081,7 @@ { if (full) { - DBUG_ASSERT(join->select_lex == this); + assert(join->select_lex == this); error= join->destroy(); delete join; join= NULL; diff -Nru mysql-5.7-5.7.33/sql/sql_union.h mysql-5.7-5.7.34/sql/sql_union.h --- mysql-5.7-5.7.33/sql/sql_union.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_union.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_update.cc mysql-5.7-5.7.34/sql/sql_update.cc --- mysql-5.7-5.7.33/sql/sql_update.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_update.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -75,7 +75,7 @@ */ bool compare_records(const TABLE *table) { - DBUG_ASSERT(records_are_comparable(table)); + assert(records_are_comparable(table)); if ((table->file->ha_table_flags() & HA_PARTIAL_COLUMN_READ) != 0) { @@ -158,7 +158,7 @@ result_field on Item_ref which refer on this field */ Item_field *const base_table_field= item->field_for_view_update(); - DBUG_ASSERT(base_table_field != NULL); + assert(base_table_field != NULL); Item_field *const cloned_field= new Item_field(thd, base_table_field); if (!cloned_field) @@ -595,7 +595,7 @@ rows= limit; else { - DBUG_ASSERT(table->pos_in_table_list == update_table_ref); + assert(table->pos_in_table_list == update_table_ref); update_table_ref->fetch_number_of_rows(); rows= table->file->stats.records; } @@ -634,7 +634,7 @@ ha_rows examined_rows, found_rows, returned_rows; Filesort fsort(&qep_tab, order, limit); - DBUG_ASSERT(table->sort.io_cache == NULL); + assert(table->sort.io_cache == NULL); table->sort.io_cache= (IO_CACHE*) my_malloc(key_memory_TABLE_sort_io_cache, sizeof(IO_CACHE), MYF(MY_FAE | MY_ZEROFILL)); @@ -748,7 +748,7 @@ if (reinit_io_cache(tempfile, READ_CACHE, 0L, 0, 0)) error=1; /* purecov: inspected */ - DBUG_ASSERT(table->sort.io_cache == NULL); + assert(table->sort.io_cache == NULL); /* After this assignment, init_read_record() will run, and decide to read from sort.io_cache. This cache will be freed when qep_tab is @@ -1092,9 +1092,9 @@ } } } - DBUG_ASSERT(transactional_table || !updated || - thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(transactional_table || !updated || + thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT)); free_underlaid_joins(thd, select_lex); /* If LAST_INSERT_ID(X) was used, report X */ @@ -1142,7 +1142,7 @@ TABLE_LIST *const table_list= select->get_table_list(); DBUG_ENTER("mysql_prepare_update"); - DBUG_ASSERT(select->item_list.elements == update_value_list.elements); + assert(select->item_list.elements == update_value_list.elements); lex->allow_sum_func= 0; @@ -1384,9 +1384,9 @@ updated. If it is a non-mergeable view or a derived table then it can't be updated. */ - DBUG_ASSERT(table->merge_underlying_list || - (!table->is_updatable() && - !(table->map() & tables_for_update))); + assert(table->merge_underlying_list || + (!table->is_updatable() && + !(table->map() & tables_for_update))); Internal_error_handler_holder view_handler(thd, true, table->merge_underlying_list); @@ -1445,7 +1445,7 @@ bool original_multiupdate= (thd->lex->sql_command == SQLCOM_UPDATE_MULTI); DBUG_ENTER("mysql_multi_update_prepare"); - DBUG_ASSERT(select->item_list.elements == update_value_list.elements); + assert(select->item_list.elements == update_value_list.elements); Prepare_error_tracker tracker(thd); @@ -1547,7 +1547,7 @@ Last argument routine_modifies_data for read_lock_type_for_table() is ignored, as prelocking placeholder will never be set here. */ - DBUG_ASSERT(tl->prelocking_placeholder == false); + assert(tl->prelocking_placeholder == false); tl->lock_type= read_lock_type_for_table(thd, lex, tl, true); /* Update TABLE::lock_type accordingly. */ if (!tl->is_placeholder() && !using_lock_tables) @@ -1631,7 +1631,7 @@ { if (tl->is_merged()) { - DBUG_ASSERT(tl->is_view_or_derived()); + assert(tl->is_view_or_derived()); TABLE_LIST *for_update= NULL; if (tl->check_single_table(&for_update, tables_for_update)) { @@ -1689,10 +1689,10 @@ handle_duplicates))) DBUG_RETURN(true); /* purecov: inspected */ - DBUG_ASSERT(select_lex->having_cond() == NULL && - !select_lex->order_list.elements && - !select_lex->group_list.elements && - !select_lex->select_limit); + assert(select_lex->having_cond() == NULL && + !select_lex->order_list.elements && + !select_lex->group_list.elements && + !select_lex->select_limit); res= handle_query(thd, thd->lex, *result, SELECT_NO_JOIN_CACHE | SELECT_NO_UNLOCK | @@ -1760,7 +1760,7 @@ if (tables_to_update & tr->map()) { TABLE *const table= tr->table; - DBUG_ASSERT(table->read_set == &table->def_read_set); + assert(table->read_set == &table->def_read_set); table->read_set= &table->tmp_set; bitmap_clear_all(table->read_set); } @@ -1865,7 +1865,7 @@ values_for_table= (List_item **) thd->alloc(sizeof(List_item *) * table_count); - DBUG_ASSERT(update_operations == NULL); + assert(update_operations == NULL); update_operations= (COPY_INFO**) thd->mem_calloc(sizeof(COPY_INFO*) * table_count); @@ -2032,7 +2032,7 @@ table_to_update= 0; /* Any update has at least one pair (field, value) */ - DBUG_ASSERT(fields->elements); + assert(fields->elements); /* Only one table may be modified by UPDATE of an updatable view. For an updatable view first_table_for_update indicates this @@ -2266,9 +2266,9 @@ if (copy_field) delete [] copy_field; thd->count_cuted_fields= CHECK_FIELD_IGNORE; // Restore this setting - DBUG_ASSERT(trans_safe || !updated || - thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(trans_safe || !updated || + thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT)); if (update_operations != NULL) for (uint i= 0; i < table_count; i++) @@ -2487,8 +2487,8 @@ if (! trans_safe) { - DBUG_ASSERT(thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT)); if (do_update && table_count > 1) { /* Add warning here */ @@ -2519,9 +2519,9 @@ transactional_tables, false, false, errcode); } } - DBUG_ASSERT(trans_safe || !updated || - thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(trans_safe || !updated || + thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT)); } @@ -2839,9 +2839,9 @@ } } } - DBUG_ASSERT(trans_safe || !updated || - thd->get_transaction()->cannot_safely_rollback( - Transaction_ctx::STMT)); + assert(trans_safe || !updated || + thd->get_transaction()->cannot_safely_rollback( + Transaction_ctx::STMT)); if (local_error != 0) error_handled= TRUE; // to force early leave from ::send_error() @@ -2903,7 +2903,7 @@ if (lex->is_ignore()) lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_UPDATE_IGNORE); - DBUG_ASSERT(select_lex->offset_limit == 0); + assert(select_lex->offset_limit == 0); unit->set_limit(select_lex); MYSQL_UPDATE_START(const_cast(thd->query().str)); @@ -2944,7 +2944,7 @@ } else { - DBUG_ASSERT(all_tables->is_view()); + assert(all_tables->is_view()); DBUG_PRINT("info", ("Switch to multi-update")); if (!thd->in_sub_stmt) thd->query_plan.set_query_plan(SQLCOM_UPDATE_MULTI, lex, @@ -3068,7 +3068,7 @@ bool Sql_cmd_update::prepared_statement_test(THD *thd) { - DBUG_ASSERT(thd->lex->query_tables == thd->lex->select_lex->get_table_list()); + assert(thd->lex->query_tables == thd->lex->select_lex->get_table_list()); if (thd->lex->sql_command == SQLCOM_UPDATE) { int res= mysql_test_update(thd); diff -Nru mysql-5.7-5.7.33/sql/sql_update.h mysql-5.7-5.7.34/sql/sql_update.h --- mysql-5.7-5.7.33/sql/sql_update.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_update.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_view.cc mysql-5.7-5.7.34/sql/sql_view.cc --- mysql-5.7-5.7.33/sql/sql_view.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_view.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2020, Oracle and/or its affiliates. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -423,8 +423,8 @@ DBUG_ENTER("mysql_create_view"); /* This is ensured in the parser. */ - DBUG_ASSERT(!lex->proc_analyse && !lex->result && - !lex->param_list.elements); + assert(!lex->proc_analyse && !lex->result && + !lex->param_list.elements); /* We can't allow taking exclusive meta-data locks of unlocked view under @@ -576,7 +576,7 @@ (they were not copied at derived tables processing) */ tbl->table->grant.privilege= tbl->grant.privilege; -#ifndef DBUG_OFF +#ifndef NDEBUG tbl->table->grant.want_privilege= tbl->grant.want_privilege; #endif } @@ -667,7 +667,7 @@ for (sl= select_lex; sl; sl= sl->next_select()) { - DBUG_ASSERT(view->db); /* Must be set in the parser */ + assert(view->db); /* Must be set in the parser */ List_iterator_fast it(sl->item_list); Item *item; while ((item= it++)) @@ -1219,7 +1219,7 @@ view_ref->definer.user.str= view_ref->definer.host.str= 0; view_ref->definer.user.length= view_ref->definer.host.length= 0; - DBUG_ASSERT(share->view_def != NULL); + assert(share->view_def != NULL); if (share->view_def->parse((uchar*)view_ref, thd->mem_root, view_parameters, required_view_parameters, &file_parser_dummy_hook)) @@ -1228,9 +1228,9 @@ // Check old format view .frm file if (!view_ref->definer.user.str) { - DBUG_ASSERT(!view_ref->definer.host.str && - !view_ref->definer.user.length && - !view_ref->definer.host.length); + assert(!view_ref->definer.host.str && + !view_ref->definer.user.length && + !view_ref->definer.host.length); push_warning_printf(thd, Sql_condition::SL_WARNING, ER_VIEW_FRM_NO_USER, ER(ER_VIEW_FRM_NO_USER), view_ref->db, view_ref->table_name); @@ -1439,7 +1439,7 @@ view_no_suid.db= view_ref->db; view_no_suid.table_name= view_ref->table_name; - DBUG_ASSERT(view_tables == NULL || view_tables->security_ctx == NULL); + assert(view_tables == NULL || view_tables->security_ctx == NULL); if (check_table_access(thd, SELECT_ACL, view_tables, false, UINT_MAX, true) || @@ -1665,7 +1665,7 @@ // Assign the context to the tables referenced in the view if (view_tables) { - DBUG_ASSERT(view_tables_tail); + assert(view_tables_tail); for (TABLE_LIST *tbl= view_tables; tbl != view_tables_tail->next_global; tbl= tbl->next_global) @@ -1695,7 +1695,7 @@ view_select->linkage= DERIVED_TABLE_TYPE; // Updatability is not decided yet - DBUG_ASSERT(!view_ref->is_updatable()); + assert(!view_ref->is_updatable()); // Link query expression of view into the outer query view_lex->unit->include_down(old_lex, view_ref->select_lex); @@ -1708,7 +1708,7 @@ view_ref->derived_key_list.empty(); - DBUG_ASSERT(view_lex == thd->lex); + assert(view_lex == thd->lex); thd->lex= old_lex; // Needed for prepare_security result= view_ref->prepare_security(thd); @@ -1723,7 +1723,7 @@ tables at view creation time. And these privileges might have been revoked from user since then in any case. */ - DBUG_ASSERT(view_tables_tail); + assert(view_tables_tail); for (TABLE_LIST *tbl= view_tables; tbl != view_tables_tail->next_global; tbl= tbl->next_global) { @@ -1747,7 +1747,7 @@ populated by special hook, so we do not acquire metadata locks or do normal open for them at all. */ - DBUG_ASSERT(belongs_to_p_s(tbl) || tbl->schema_table); + assert(belongs_to_p_s(tbl) || tbl->schema_table); tbl->mdl_request.set_type(MDL_SHARED_READ); /* We must override thr_lock_type (which can be a write type) as diff -Nru mysql-5.7-5.7.33/sql/sql_view.h mysql-5.7-5.7.34/sql/sql_view.h --- mysql-5.7-5.7.33/sql/sql_view.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_view.h 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ #define SQL_VIEW_INCLUDED /* -*- C++ -*- */ -/* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sql_yacc.cc mysql-5.7-5.7.34/sql/sql_yacc.cc --- mysql-5.7-5.7.33/sql/sql_yacc.cc 2020-12-10 03:13:46.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_yacc.cc 2021-03-26 07:08:30.000000000 +0000 @@ -68,7 +68,7 @@ /* Copy the first part of user declarations. */ -#line 31 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:339 */ +#line 31 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:339 */ /* Note: YYTHD is passed as an argument to yyparse(), and subsequently to yylex(). @@ -217,7 +217,7 @@ } while(0) -#ifndef DBUG_OFF +#ifndef NDEBUG #define YYDEBUG 1 #else #define YYDEBUG 0 @@ -260,7 +260,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG void turn_parser_debug_on() { /* @@ -496,7 +496,7 @@ #include "parse_tree_items.h" -#line 500 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:339 */ +#line 500 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -516,8 +516,8 @@ /* In a future release of Bison, this section will be replaced by #include "sql_yacc.h". */ -#ifndef YY_MYSQL_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_YACC_H_INCLUDED -# define YY_MYSQL_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_YACC_H_INCLUDED +#ifndef YY_MYSQL_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_YACC_H_INCLUDED +# define YY_MYSQL_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_YACC_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -1859,11 +1859,11 @@ int MYSQLparse (class THD *YYTHD); -#endif /* !YY_MYSQL_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_YACC_H_INCLUDED */ +#endif /* !YY_MYSQL_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_YACC_H_INCLUDED */ /* Copy the second part of user declarations. */ -#line 1867 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:358 */ +#line 1867 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:358 */ #ifdef short # undef short @@ -2252,200 +2252,196 @@ 2717, 2719, 2721, 2727, 2728, 2729, 2733, 2737, 2745, 2744, 2757, 2759, 2762, 2764, 2768, 2774, 2783, 2785, 2789, 2790, 2795, 2814, 2844, 2846, 2850, 2851, 2855, 2884, 2885, 2886, - 2887, 2891, 2892, 2896, 2897, 2902, 2905, 2933, 2931, 3016, - 3034, 3033, 3113, 3109, 3187, 3188, 3193, 3195, 3200, 3223, - 3234, 3238, 3260, 3261, 3265, 3269, 3282, 3288, 3294, 3303, - 3316, 3342, 3348, 3349, 3355, 3356, 3361, 3367, 3380, 3382, - 3402, 3408, 3410, 3412, 3414, 3416, 3418, 3420, 3422, 3424, - 3426, 3428, 3430, 3435, 3449, 3466, 3467, 3469, 3474, 3480, - 3489, 3495, 3504, 3512, 3540, 3548, 3550, 3559, 3564, 3570, - 3579, 3587, 3589, 3591, 3593, 3595, 3597, 3599, 3601, 3603, - 3605, 3607, 3609, 3611, 3616, 3636, 3660, 3662, 3661, 3672, - 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, 3681, 3682, - 3683, 3684, 3689, 3688, 3699, 3699, 3755, 3754, 3813, 3813, - 3835, 3894, 3944, 3969, 3968, 3994, 4017, 4019, 4020, 4024, - 4042, 4063, 4072, 4111, 4063, 4140, 4142, 4143, 4147, 4148, - 4153, 4164, 4152, 4217, 4216, 4230, 4231, 4235, 4236, 4241, - 4250, 4240, 4301, 4310, 4300, 4356, 4369, 4374, 4373, 4411, - 4412, 4417, 4416, 4450, 4450, 4469, 4468, 4518, 4535, 4544, - 4534, 4603, 4612, 4600, 4655, 4657, 4662, 4664, 4666, 4683, - 4688, 4694, 4701, 4702, 4710, 4716, 4725, 4731, 4737, 4738, - 4742, 4742, 4747, 4748, 4749, 4753, 4754, 4755, 4758, 4760, - 4764, 4765, 4766, 4770, 4771, 4772, 4773, 4774, 4775, 4776, - 4777, 4778, 4781, 4783, 4787, 4788, 4789, 4793, 4794, 4795, - 4796, 4797, 4800, 4802, 4806, 4807, 4808, 4812, 4813, 4814, - 4815, 4816, 4817, 4818, 4821, 4823, 4827, 4828, 4829, 4833, - 4834, 4835, 4840, 4848, 4856, 4864, 4876, 4888, 4893, 4898, - 4906, 4914, 4922, 4930, 4938, 4946, 4954, 4967, 4980, 4994, - 5008, 5013, 5026, 5027, 5080, 5081, 5084, 5099, 5117, 5122, - 5120, 5134, 5136, 5135, 5146, 5145, 5158, 5195, 5196, 5201, - 5200, 5219, 5218, 5235, 5239, 5247, 5246, 5249, 5251, 5253, - 5255, 5260, 5261, 5267, 5268, 5285, 5286, 5290, 5291, 5295, - 5314, 5324, 5340, 5354, 5355, 5371, 5373, 5372, 5377, 5375, - 5386, 5387, 5391, 5409, 5427, 5428, 5444, 5459, 5481, 5482, - 5487, 5486, 5510, 5526, 5545, 5544, 5559, 5558, 5575, 5597, - 5601, 5630, 5642, 5643, 5648, 5659, 5647, 5684, 5685, 5689, - 5702, 5725, 5738, 5764, 5765, 5770, 5769, 5806, 5819, 5820, - 5824, 5825, 5829, 5831, 5837, 5839, 5841, 5843, 5845, 5847, - 5856, 5863, 5864, 5868, 5869, 5873, 5874, 5878, 5879, 5883, - 5884, 5888, 5889, 5893, 5897, 5898, 5901, 5903, 5907, 5908, - 5912, 5913, 5914, 5918, 5923, 5928, 5933, 5938, 5943, 5948, - 5953, 5958, 5963, 5978, 5984, 5999, 6004, 6019, 6025, 6043, - 6048, 6053, 6058, 6063, 6069, 6068, 6094, 6095, 6096, 6101, - 6106, 6111, 6116, 6118, 6120, 6126, 6134, 6152, 6169, 6195, - 6213, 6214, 6215, 6216, 6217, 6218, 6222, 6223, 6224, 6228, - 6229, 6230, 6231, 6236, 6243, 6244, 6248, 6249, 6253, 6254, - 6261, 6266, 6272, 6278, 6284, 6303, 6309, 6311, 6315, 6323, - 6324, 6328, 6333, 6332, 6357, 6358, 6375, 6377, 6380, 6382, - 6386, 6387, 6391, 6397, 6403, 6404, 6405, 6406, 6414, 6416, - 6417, 6424, 6440, 6469, 6474, 6480, 6486, 6491, 6496, 6501, - 6506, 6513, 6520, 6527, 6534, 6540, 6546, 6553, 6560, 6566, - 6582, 6584, 6589, 6618, 6623, 6628, 6634, 6640, 6645, 6650, - 6655, 6661, 6667, 6674, 6680, 6686, 6692, 6698, 6705, 6704, - 6713, 6712, 6720, 6726, 6732, 6740, 6741, 6742, 6748, 6749, - 6750, 6751, 6752, 6756, 6760, 6761, 6765, 6766, 6770, 6771, - 6772, 6773, 6774, 6778, 6779, 6780, 6781, 6782, 6786, 6791, - 6793, 6799, 6803, 6808, 6812, 6821, 6822, 6826, 6827, 6828, - 6836, 6837, 6841, 6842, 6846, 6847, 6848, 6852, 6853, 6854, - 6855, 6858, 6859, 6864, 6868, 6872, 6873, 6877, 6878, 6882, - 6887, 6888, 6889, 6897, 6898, 6904, 6910, 6916, 6922, 6923, - 6936, 6942, 6948, 6954, 6959, 6964, 6973, 6994, 7000, 7007, - 7012, 7013, 7017, 7025, 7029, 7030, 7034, 7035, 7039, 7048, - 7052, 7053, 7057, 7065, 7066, 7070, 7071, 7075, 7076, 7080, - 7081, 7086, 7087, 7088, 7092, 7100, 7105, 7114, 7118, 7123, - 7128, 7133, 7138, 7143, 7151, 7152, 7157, 7156, 7169, 7170, - 7174, 7177, 7178, 7179, 7180, 7184, 7192, 7199, 7200, 7204, - 7214, 7215, 7219, 7220, 7223, 7225, 7229, 7241, 7242, 7246, - 7253, 7266, 7267, 7269, 7271, 7277, 7282, 7288, 7294, 7301, - 7311, 7312, 7313, 7314, 7315, 7319, 7323, 7324, 7328, 7329, - 7333, 7334, 7338, 7339, 7340, 7344, 7345, 7349, 7353, 7360, - 7372, 7373, 7377, 7378, 7382, 7383, 7387, 7388, 7392, 7393, - 7397, 7398, 7402, 7403, 7407, 7408, 7412, 7414, 7418, 7419, - 7423, 7427, 7428, 7442, 7443, 7444, 7448, 7452, 7459, 7465, - 7479, 7480, 7484, 7485, 7489, 7490, 7498, 7497, 7537, 7536, - 7550, 7564, 7563, 7582, 7581, 7600, 7599, 7618, 7612, 7632, - 7631, 7664, 7669, 7674, 7679, 7684, 7692, 7694, 7701, 7705, - 7714, 7715, 7719, 7720, 7724, 7730, 7736, 7742, 7756, 7762, - 7769, 7773, 7774, 7778, 7779, 7783, 7789, 7795, 7801, 7810, - 7824, 7825, 7826, 7827, 7831, 7832, 7844, 7845, 7849, 7850, - 7854, 7855, 7856, 7857, 7858, 7861, 7863, 7864, 7865, 7869, - 7877, 7892, 7893, 7897, 7906, 7904, 7918, 7932, 7931, 7945, - 7943, 7957, 7964, 7975, 7976, 8002, 8011, 8022, 8024, 8028, - 8032, 8040, 8047, 8051, 8056, 8055, 8071, 8073, 8078, 8086, - 8085, 8101, 8105, 8104, 8116, 8117, 8121, 8141, 8142, 8143, - 8147, 8148, 8152, 8161, 8165, 8170, 8172, 8171, 8182, 8192, - 8181, 8208, 8217, 8226, 8235, 8244, 8250, 8256, 8265, 8274, - 8304, 8314, 8335, 8345, 8349, 8354, 8361, 8362, 8363, 8366, - 8368, 8369, 8370, 8371, 8374, 8379, 8390, 8395, 8406, 8407, - 8411, 8412, 8416, 8417, 8418, 8422, 8423, 8428, 8436, 8437, - 8438, 8439, 8443, 8448, 8456, 8457, 8467, 8483, 8481, 8503, - 8520, 8523, 8530, 8534, 8541, 8545, 8549, 8556, 8561, 8564, - 8571, 8574, 8581, 8584, 8591, 8594, 8602, 8605, 8612, 8616, - 8623, 8627, 8635, 8639, 8665, 8666, 8667, 8672, 8677, 8685, - 8684, 8696, 8697, 8698, 8703, 8702, 8724, 8725, 8729, 8730, - 8734, 8735, 8736, 8741, 8740, 8762, 8771, 8770, 8797, 8798, - 8802, 8803, 8807, 8808, 8809, 8810, 8811, 8812, 8817, 8816, - 8838, 8839, 8840, 8845, 8844, 8850, 8857, 8862, 8870, 8871, - 8875, 8889, 8888, 8901, 8902, 8906, 8907, 8911, 8921, 8931, - 8932, 8937, 8936, 8947, 8948, 8952, 8953, 8957, 8967, 8978, - 8977, 8985, 8989, 8990, 9001, 9002, 9011, 9019, 9023, 9030, - 9034, 9039, 9043, 9052, 9060, 9065, 9095, 9095, 9109, 9123, - 9127, 9128, 9132, 9136, 9145, 9149, 9153, 9158, 9162, 9167, - 9177, 9190, 9191, 9197, 9206, 9212, 9218, 9228, 9229, 9237, - 9238, 9239, 9240, 9241, 9245, 9246, 9251, 9257, 9262, 9268, - 9272, 9276, 9280, 9284, 9288, 9292, 9296, 9300, 9304, 9308, - 9312, 9325, 9329, 9333, 9338, 9342, 9349, 9353, 9360, 9364, - 9368, 9376, 9380, 9387, 9391, 9396, 9400, 9404, 9408, 9412, - 9416, 9420, 9424, 9428, 9432, 9436, 9440, 9444, 9448, 9452, - 9456, 9460, 9461, 9465, 9466, 9470, 9471, 9475, 9476, 9480, - 9481, 9482, 9483, 9484, 9485, 9486, 9490, 9491, 9495, 9496, - 9497, 9498, 9499, 9500, 9504, 9505, 9506, 9507, 9508, 9512, - 9516, 9520, 9524, 9528, 9532, 9534, 9538, 9542, 9546, 9550, - 9554, 9558, 9562, 9566, 9570, 9574, 9578, 9582, 9587, 9594, - 9611, 9615, 9619, 9623, 9627, 9631, 9635, 9639, 9643, 9647, - 9651, 9655, 9659, 9663, 9667, 9671, 9675, 9679, 9684, 9689, - 9694, 9698, 9702, 9706, 9710, 9715, 9719, 9738, 9742, 9746, - 9750, 9754, 9759, 9764, 9768, 9772, 9777, 9781, 9785, 9789, - 9793, 9797, 9801, 9805, 9810, 9814, 9818, 9822, 9826, 9838, - 9842, 9846, 9850, 9854, 9858, 9862, 9866, 9870, 9874, 9878, + 2887, 2891, 2892, 2896, 2897, 2902, 2905, 2933, 2931, 3056, + 3074, 3073, 3153, 3149, 3227, 3228, 3233, 3235, 3240, 3263, + 3274, 3278, 3300, 3301, 3305, 3309, 3322, 3328, 3334, 3343, + 3356, 3382, 3388, 3389, 3395, 3396, 3401, 3407, 3420, 3422, + 3442, 3448, 3450, 3452, 3454, 3456, 3458, 3460, 3462, 3464, + 3466, 3468, 3470, 3475, 3489, 3506, 3507, 3509, 3514, 3520, + 3529, 3535, 3544, 3552, 3580, 3588, 3590, 3599, 3604, 3610, + 3619, 3627, 3629, 3631, 3633, 3635, 3637, 3639, 3641, 3643, + 3645, 3647, 3649, 3651, 3656, 3676, 3700, 3702, 3701, 3712, + 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, + 3723, 3724, 3729, 3728, 3739, 3739, 3795, 3794, 3853, 3853, + 3875, 3934, 3984, 4009, 4008, 4034, 4057, 4059, 4060, 4064, + 4082, 4103, 4112, 4151, 4103, 4180, 4182, 4183, 4187, 4188, + 4193, 4204, 4192, 4257, 4256, 4270, 4271, 4275, 4276, 4281, + 4290, 4280, 4341, 4350, 4340, 4396, 4409, 4414, 4413, 4451, + 4452, 4457, 4456, 4490, 4490, 4509, 4508, 4558, 4575, 4584, + 4574, 4643, 4652, 4640, 4695, 4697, 4702, 4704, 4706, 4723, + 4728, 4734, 4741, 4742, 4750, 4756, 4765, 4771, 4777, 4778, + 4782, 4782, 4787, 4788, 4789, 4793, 4794, 4795, 4798, 4800, + 4804, 4805, 4806, 4810, 4811, 4812, 4813, 4814, 4815, 4816, + 4817, 4818, 4821, 4823, 4827, 4828, 4829, 4833, 4834, 4835, + 4836, 4837, 4840, 4842, 4846, 4847, 4848, 4852, 4853, 4854, + 4855, 4856, 4857, 4858, 4861, 4863, 4867, 4868, 4869, 4873, + 4874, 4875, 4880, 4888, 4896, 4904, 4916, 4928, 4933, 4938, + 4946, 4954, 4962, 4970, 4978, 4986, 4994, 5007, 5020, 5034, + 5048, 5053, 5066, 5067, 5120, 5121, 5124, 5139, 5157, 5162, + 5160, 5174, 5176, 5175, 5186, 5185, 5198, 5235, 5236, 5241, + 5240, 5259, 5258, 5275, 5279, 5287, 5286, 5289, 5291, 5293, + 5295, 5300, 5301, 5307, 5308, 5325, 5326, 5330, 5331, 5335, + 5354, 5364, 5380, 5394, 5395, 5411, 5413, 5412, 5417, 5415, + 5426, 5427, 5431, 5449, 5467, 5468, 5484, 5499, 5521, 5522, + 5527, 5526, 5550, 5566, 5585, 5584, 5599, 5598, 5615, 5637, + 5641, 5670, 5682, 5683, 5688, 5699, 5687, 5724, 5725, 5729, + 5742, 5765, 5778, 5804, 5805, 5810, 5809, 5846, 5859, 5860, + 5864, 5865, 5869, 5871, 5877, 5879, 5881, 5883, 5885, 5887, + 5896, 5903, 5904, 5908, 5909, 5913, 5914, 5918, 5919, 5923, + 5924, 5928, 5929, 5933, 5937, 5938, 5941, 5943, 5947, 5948, + 5952, 5953, 5954, 5958, 5963, 5968, 5973, 5978, 5983, 5988, + 5993, 5998, 6003, 6018, 6024, 6039, 6044, 6059, 6065, 6083, + 6088, 6093, 6098, 6103, 6109, 6108, 6134, 6135, 6136, 6141, + 6146, 6151, 6156, 6158, 6160, 6166, 6174, 6192, 6209, 6235, + 6253, 6254, 6255, 6256, 6257, 6258, 6262, 6263, 6264, 6268, + 6269, 6270, 6271, 6276, 6283, 6284, 6288, 6289, 6293, 6294, + 6301, 6306, 6312, 6318, 6324, 6343, 6349, 6351, 6355, 6363, + 6364, 6368, 6373, 6372, 6397, 6398, 6415, 6417, 6420, 6422, + 6426, 6427, 6431, 6437, 6443, 6444, 6445, 6446, 6454, 6456, + 6457, 6464, 6480, 6509, 6514, 6520, 6526, 6531, 6536, 6541, + 6546, 6553, 6560, 6567, 6574, 6580, 6586, 6593, 6600, 6606, + 6622, 6624, 6629, 6658, 6663, 6668, 6674, 6680, 6685, 6690, + 6695, 6701, 6707, 6714, 6720, 6726, 6732, 6738, 6745, 6744, + 6753, 6752, 6760, 6766, 6772, 6780, 6781, 6782, 6788, 6789, + 6790, 6791, 6792, 6796, 6800, 6801, 6805, 6806, 6810, 6811, + 6812, 6813, 6814, 6818, 6819, 6820, 6821, 6822, 6826, 6831, + 6833, 6839, 6843, 6848, 6852, 6861, 6862, 6866, 6867, 6868, + 6876, 6877, 6881, 6882, 6886, 6887, 6888, 6892, 6893, 6894, + 6895, 6898, 6899, 6904, 6908, 6912, 6913, 6917, 6918, 6922, + 6927, 6928, 6929, 6937, 6938, 6944, 6950, 6956, 6962, 6963, + 6976, 6982, 6988, 6994, 6999, 7004, 7013, 7034, 7040, 7047, + 7052, 7053, 7057, 7065, 7069, 7070, 7074, 7075, 7079, 7088, + 7092, 7093, 7097, 7105, 7106, 7110, 7111, 7115, 7116, 7120, + 7121, 7126, 7127, 7128, 7132, 7140, 7145, 7154, 7158, 7163, + 7168, 7173, 7178, 7183, 7191, 7192, 7197, 7196, 7209, 7210, + 7214, 7217, 7218, 7219, 7220, 7224, 7232, 7239, 7240, 7244, + 7254, 7255, 7259, 7260, 7263, 7265, 7269, 7281, 7282, 7286, + 7293, 7306, 7307, 7309, 7311, 7317, 7322, 7328, 7334, 7341, + 7351, 7352, 7353, 7354, 7355, 7359, 7363, 7364, 7368, 7369, + 7373, 7374, 7378, 7379, 7380, 7384, 7385, 7389, 7393, 7400, + 7412, 7413, 7417, 7418, 7422, 7423, 7427, 7428, 7432, 7433, + 7437, 7438, 7442, 7443, 7447, 7448, 7452, 7454, 7458, 7459, + 7463, 7467, 7468, 7482, 7483, 7484, 7488, 7492, 7499, 7505, + 7519, 7520, 7524, 7525, 7529, 7530, 7538, 7537, 7577, 7576, + 7590, 7604, 7603, 7622, 7621, 7640, 7639, 7658, 7652, 7672, + 7671, 7704, 7709, 7714, 7719, 7724, 7732, 7734, 7741, 7745, + 7754, 7755, 7759, 7760, 7764, 7770, 7776, 7782, 7796, 7802, + 7809, 7813, 7814, 7818, 7819, 7823, 7829, 7835, 7841, 7850, + 7864, 7865, 7866, 7867, 7871, 7872, 7884, 7885, 7889, 7890, + 7894, 7895, 7896, 7897, 7898, 7901, 7903, 7904, 7905, 7909, + 7917, 7932, 7933, 7937, 7946, 7944, 7958, 7972, 7971, 7985, + 7983, 7997, 8004, 8015, 8016, 8042, 8051, 8062, 8064, 8068, + 8072, 8080, 8087, 8091, 8096, 8095, 8111, 8113, 8118, 8126, + 8125, 8141, 8145, 8144, 8156, 8157, 8161, 8181, 8182, 8183, + 8187, 8188, 8192, 8201, 8205, 8210, 8212, 8211, 8222, 8232, + 8221, 8248, 8257, 8266, 8275, 8284, 8290, 8296, 8305, 8314, + 8344, 8354, 8375, 8385, 8389, 8394, 8401, 8402, 8403, 8406, + 8408, 8409, 8410, 8411, 8414, 8419, 8430, 8435, 8446, 8447, + 8451, 8452, 8456, 8457, 8458, 8462, 8463, 8468, 8476, 8477, + 8478, 8479, 8483, 8488, 8496, 8497, 8507, 8523, 8521, 8543, + 8560, 8563, 8570, 8574, 8581, 8585, 8589, 8596, 8601, 8604, + 8611, 8614, 8621, 8624, 8631, 8634, 8642, 8645, 8652, 8656, + 8663, 8667, 8675, 8679, 8705, 8706, 8707, 8712, 8717, 8725, + 8724, 8736, 8737, 8738, 8743, 8742, 8764, 8765, 8769, 8770, + 8774, 8775, 8776, 8781, 8780, 8802, 8811, 8810, 8837, 8838, + 8842, 8843, 8847, 8848, 8849, 8850, 8851, 8852, 8857, 8856, + 8878, 8879, 8880, 8885, 8884, 8890, 8897, 8902, 8910, 8911, + 8915, 8929, 8928, 8941, 8942, 8946, 8947, 8951, 8961, 8971, + 8972, 8977, 8976, 8987, 8988, 8992, 8993, 8997, 9007, 9018, + 9017, 9025, 9029, 9030, 9041, 9042, 9051, 9059, 9063, 9070, + 9074, 9079, 9083, 9092, 9100, 9105, 9135, 9135, 9149, 9163, + 9167, 9168, 9172, 9176, 9185, 9189, 9193, 9198, 9202, 9207, + 9217, 9230, 9231, 9237, 9246, 9252, 9258, 9268, 9269, 9277, + 9278, 9279, 9280, 9281, 9285, 9286, 9291, 9297, 9302, 9308, + 9312, 9316, 9320, 9324, 9328, 9332, 9336, 9340, 9344, 9348, + 9352, 9365, 9369, 9373, 9378, 9382, 9389, 9393, 9400, 9404, + 9408, 9416, 9420, 9427, 9431, 9436, 9440, 9444, 9448, 9452, + 9456, 9460, 9464, 9468, 9472, 9476, 9480, 9484, 9488, 9492, + 9496, 9500, 9501, 9505, 9506, 9510, 9511, 9515, 9516, 9520, + 9521, 9522, 9523, 9524, 9525, 9526, 9530, 9531, 9535, 9536, + 9537, 9538, 9539, 9540, 9544, 9545, 9546, 9547, 9548, 9552, + 9556, 9560, 9564, 9568, 9572, 9574, 9578, 9582, 9586, 9590, + 9594, 9598, 9602, 9606, 9610, 9614, 9618, 9622, 9627, 9634, + 9651, 9655, 9659, 9663, 9667, 9671, 9675, 9679, 9683, 9687, + 9691, 9695, 9699, 9703, 9707, 9711, 9715, 9719, 9724, 9729, + 9734, 9738, 9742, 9746, 9750, 9755, 9759, 9778, 9782, 9786, + 9790, 9794, 9799, 9804, 9808, 9812, 9817, 9821, 9825, 9829, + 9833, 9837, 9841, 9845, 9850, 9854, 9858, 9862, 9866, 9878, 9882, 9886, 9890, 9894, 9898, 9902, 9906, 9910, 9914, 9918, - 9923, 9928, 9932, 9936, 9942, 9948, 9954, 9960, 9966, 9972, - 9976, 9994, 9998, 10005, 10007, 10020, 10021, 10025, 10026, 10030, - 10031, 10035, 10041, 10050, 10057, 10061, 10065, 10069, 10073, 10077, - 10081, 10085, 10089, 10093, 10097, 10106, 10110, 10114, 10118, 10122, - 10126, 10130, 10134, 10138, 10142, 10152, 10156, 10160, 10164, 10171, - 10172, 10177, 10182, 10186, 10187, 10191, 10196, 10206, 10213, 10221, - 10229, 10237, 10245, 10253, 10261, 10269, 10277, 10285, 10293, 10301, - 10312, 10313, 10317, 10323, 10332, 10333, 10337, 10343, 10352, 10353, - 10357, 10358, 10362, 10370, 10381, 10382, 10389, 10403, 10404, 10410, - 10411, 10431, 10435, 10439, 10445, 10451, 10457, 10463, 10469, 10474, - 10480, 10486, 10491, 10498, 10499, 10500, 10508, 10509, 10513, 10528, - 10532, 10554, 10581, 10585, 10593, 10593, 10607, 10614, 10615, 10620, - 10623, 10624, 10625, 10629, 10630, 10634, 10640, 10649, 10650, 10658, - 10659, 10663, 10668, 10674, 10678, 10684, 10693, 10699, 10707, 10718, - 10731, 10732, 10733, 10734, 10735, 10736, 10737, 10738, 10739, 10740, - 10741, 10742, 10746, 10747, 10748, 10749, 10750, 10751, 10752, 10753, - 10754, 10758, 10759, 10760, 10761, 10764, 10766, 10767, 10771, 10772, - 10780, 10782, 10786, 10787, 10794, 10795, 10802, 10803, 10811, 10812, - 10819, 10824, 10834, 10835, 10843, 10858, 10862, 10863, 10867, 10887, - 10888, 10892, 10899, 10904, 10914, 10915, 10919, 10920, 10924, 10925, - 10929, 10936, 10942, 10948, 10957, 10961, 10965, 10969, 10973, 10980, - 10981, 10985, 10986, 10987, 10988, 10989, 10990, 10994, 10995, 10996, - 10997, 10998, 11002, 11003, 11004, 11005, 11006, 11010, 11011, 11012, - 11013, 11017, 11022, 11023, 11027, 11028, 11038, 11042, 11047, 11055, - 11068, 11074, 11083, 11087, 11094, 11095, 11099, 11106, 11112, 11116, - 11124, 11136, 11148, 11147, 11158, 11159, 11158, 11175, 11182, 11205, - 11237, 11249, 11256, 11255, 11265, 11271, 11278, 11283, 11288, 11297, - 11298, 11302, 11313, 11319, 11328, 11329, 11333, 11334, 11337, 11339, - 11342, 11343, 11344, 11348, 11349, 11356, 11370, 11388, 11405, 11417, - 11433, 11448, 11449, 11450, 11459, 11463, 11464, 11475, 11477, 11481, - 11486, 11491, 11499, 11504, 11509, 11517, 11523, 11532, 11539, 11543, - 11550, 11551, 11555, 11560, 11570, 11571, 11575, 11576, 11580, 11585, - 11590, 11594, 11600, 11609, 11610, 11618, 11622, 11631, 11647, 11654, - 11666, 11674, 11675, 11681, 11692, 11701, 11713, 11715, 11719, 11720, - 11724, 11725, 11726, 11731, 11730, 11749, 11751, 11754, 11756, 11759, - 11760, 11763, 11767, 11771, 11775, 11779, 11783, 11787, 11791, 11795, - 11803, 11806, 11819, 11818, 11827, 11834, 11842, 11850, 11858, 11866, - 11874, 11881, 11883, 11885, 11894, 11898, 11903, 11902, 11913, 11912, - 11922, 11939, 11946, 11951, 11957, 11963, 11971, 11979, 11987, 11997, - 12028, 12030, 12061, 12068, 12075, 12085, 12092, 12098, 12107, 12115, - 12119, 12123, 12130, 12137, 12143, 12150, 12157, 12162, 12167, 12172, - 12181, 12183, 12185, 12190, 12191, 12194, 12196, 12200, 12201, 12205, - 12206, 12210, 12211, 12215, 12216, 12220, 12221, 12224, 12226, 12233, - 12243, 12245, 12252, 12280, 12279, 12296, 12295, 12303, 12304, 12305, - 12306, 12307, 12308, 12322, 12323, 12328, 12332, 12338, 12344, 12365, - 12366, 12367, 12382, 12381, 12394, 12403, 12393, 12405, 12409, 12410, - 12422, 12421, 12443, 12444, 12449, 12451, 12453, 12455, 12457, 12459, - 12461, 12466, 12468, 12470, 12472, 12474, 12476, 12478, 12483, 12484, - 12489, 12488, 12498, 12499, 12503, 12503, 12505, 12506, 12514, 12515, - 12520, 12519, 12530, 12534, 12538, 12552, 12564, 12565, 12566, 12572, - 12584, 12596, 12606, 12624, 12583, 12635, 12636, 12640, 12641, 12645, - 12646, 12647, 12651, 12652, 12653, 12657, 12658, 12662, 12667, 12671, - 12676, 12682, 12687, 12695, 12696, 12700, 12705, 12709, 12714, 12722, - 12723, 12726, 12728, 12736, 12738, 12742, 12743, 12744, 12748, 12750, - 12755, 12756, 12765, 12766, 12770, 12771, 12775, 12798, 12803, 12808, - 12813, 12821, 12829, 12836, 12846, 12855, 12856, 12857, 12868, 12869, - 12870, 12871, 12884, 12888, 12892, 12896, 12900, 12904, 12911, 12915, - 12919, 12923, 12927, 12935, 12939, 12943, 12957, 12958, 12962, 12966, - 12974, 12981, 12985, 12994, 12998, 13002, 13006, 13010, 13014, 13020, - 13027, 13028, 13044, 13054, 13062, 13068, 13076, 13087, 13093, 13103, - 13113, 13114, 13144, 13157, 13170, 13186, 13202, 13219, 13220, 13231, - 13232, 13243, 13244, 13245, 13249, 13277, 13314, 13329, 13330, 13331, - 13332, 13333, 13334, 13335, 13336, 13337, 13338, 13339, 13340, 13341, - 13342, 13343, 13344, 13345, 13346, 13347, 13348, 13349, 13350, 13351, - 13352, 13353, 13354, 13355, 13356, 13357, 13358, 13359, 13360, 13361, - 13362, 13363, 13364, 13365, 13366, 13367, 13368, 13369, 13370, 13371, + 9922, 9926, 9930, 9934, 9938, 9942, 9946, 9950, 9954, 9958, + 9963, 9968, 9972, 9976, 9982, 9988, 9994, 10000, 10006, 10012, + 10016, 10034, 10038, 10045, 10047, 10060, 10061, 10065, 10066, 10070, + 10071, 10075, 10081, 10090, 10097, 10101, 10105, 10109, 10113, 10117, + 10121, 10125, 10129, 10133, 10137, 10146, 10150, 10154, 10158, 10162, + 10166, 10170, 10174, 10178, 10182, 10192, 10196, 10200, 10204, 10211, + 10212, 10217, 10222, 10226, 10227, 10231, 10236, 10246, 10253, 10261, + 10269, 10277, 10285, 10293, 10301, 10309, 10317, 10325, 10333, 10341, + 10352, 10353, 10357, 10363, 10372, 10373, 10377, 10383, 10392, 10393, + 10397, 10398, 10402, 10410, 10421, 10422, 10429, 10443, 10444, 10450, + 10451, 10471, 10475, 10479, 10485, 10491, 10497, 10503, 10509, 10514, + 10520, 10526, 10531, 10538, 10539, 10540, 10548, 10549, 10553, 10568, + 10572, 10594, 10621, 10625, 10633, 10633, 10647, 10654, 10655, 10660, + 10663, 10664, 10665, 10669, 10670, 10674, 10680, 10689, 10690, 10698, + 10699, 10703, 10708, 10714, 10718, 10724, 10733, 10739, 10747, 10758, + 10771, 10772, 10773, 10774, 10775, 10776, 10777, 10778, 10779, 10780, + 10781, 10782, 10786, 10787, 10788, 10789, 10790, 10791, 10792, 10793, + 10794, 10798, 10799, 10800, 10801, 10804, 10806, 10807, 10811, 10812, + 10820, 10822, 10826, 10827, 10834, 10835, 10842, 10843, 10851, 10852, + 10859, 10864, 10874, 10875, 10883, 10898, 10902, 10903, 10907, 10927, + 10928, 10932, 10939, 10944, 10954, 10955, 10959, 10960, 10964, 10965, + 10969, 10976, 10982, 10988, 10997, 11001, 11005, 11009, 11013, 11020, + 11021, 11025, 11026, 11027, 11028, 11029, 11030, 11034, 11035, 11036, + 11037, 11038, 11042, 11043, 11044, 11045, 11046, 11050, 11051, 11052, + 11053, 11057, 11062, 11063, 11067, 11068, 11078, 11082, 11087, 11095, + 11108, 11114, 11123, 11127, 11134, 11135, 11139, 11146, 11152, 11156, + 11164, 11176, 11188, 11187, 11198, 11199, 11198, 11215, 11222, 11245, + 11277, 11289, 11296, 11295, 11305, 11311, 11318, 11323, 11328, 11337, + 11338, 11342, 11353, 11359, 11368, 11369, 11373, 11374, 11377, 11379, + 11382, 11383, 11384, 11388, 11389, 11396, 11410, 11428, 11445, 11457, + 11473, 11488, 11489, 11490, 11499, 11503, 11504, 11515, 11517, 11521, + 11526, 11531, 11539, 11544, 11549, 11557, 11563, 11572, 11579, 11583, + 11590, 11591, 11595, 11600, 11610, 11611, 11615, 11616, 11620, 11625, + 11630, 11634, 11640, 11649, 11650, 11658, 11662, 11671, 11687, 11694, + 11706, 11714, 11715, 11721, 11732, 11741, 11753, 11755, 11759, 11760, + 11764, 11765, 11766, 11771, 11770, 11789, 11791, 11794, 11796, 11799, + 11800, 11803, 11807, 11811, 11815, 11819, 11823, 11827, 11831, 11835, + 11843, 11846, 11859, 11858, 11867, 11874, 11882, 11890, 11898, 11906, + 11914, 11921, 11923, 11925, 11934, 11938, 11943, 11942, 11953, 11952, + 11962, 11979, 11986, 11991, 11997, 12003, 12011, 12019, 12027, 12037, + 12068, 12070, 12101, 12108, 12115, 12125, 12132, 12138, 12147, 12155, + 12159, 12163, 12170, 12177, 12183, 12190, 12197, 12202, 12207, 12212, + 12221, 12223, 12225, 12230, 12231, 12234, 12236, 12240, 12241, 12245, + 12246, 12250, 12251, 12255, 12256, 12260, 12261, 12264, 12266, 12273, + 12283, 12285, 12292, 12320, 12319, 12336, 12335, 12343, 12344, 12345, + 12346, 12347, 12348, 12362, 12363, 12368, 12372, 12378, 12384, 12405, + 12406, 12407, 12422, 12421, 12434, 12443, 12433, 12445, 12449, 12450, + 12462, 12461, 12483, 12484, 12489, 12491, 12493, 12495, 12497, 12499, + 12501, 12506, 12508, 12510, 12512, 12514, 12516, 12518, 12523, 12524, + 12529, 12528, 12538, 12539, 12543, 12543, 12545, 12546, 12554, 12555, + 12560, 12559, 12570, 12574, 12578, 12592, 12604, 12605, 12606, 12612, + 12624, 12636, 12646, 12664, 12623, 12675, 12676, 12680, 12681, 12685, + 12686, 12687, 12691, 12692, 12693, 12697, 12698, 12702, 12707, 12711, + 12716, 12722, 12727, 12735, 12736, 12740, 12745, 12749, 12754, 12762, + 12763, 12766, 12768, 12776, 12778, 12782, 12783, 12784, 12788, 12790, + 12795, 12796, 12805, 12806, 12810, 12811, 12815, 12838, 12843, 12848, + 12853, 12861, 12869, 12876, 12886, 12895, 12896, 12897, 12908, 12909, + 12910, 12911, 12924, 12928, 12932, 12936, 12940, 12944, 12951, 12955, + 12959, 12963, 12967, 12975, 12979, 12983, 12997, 12998, 13002, 13006, + 13014, 13021, 13025, 13034, 13038, 13042, 13046, 13050, 13054, 13060, + 13067, 13068, 13084, 13094, 13102, 13108, 13116, 13127, 13133, 13143, + 13153, 13154, 13184, 13197, 13210, 13226, 13242, 13259, 13260, 13271, + 13272, 13283, 13284, 13285, 13289, 13317, 13354, 13369, 13370, 13371, 13372, 13373, 13374, 13375, 13376, 13377, 13378, 13379, 13380, 13381, - 13382, 13383, 13384, 13385, 13395, 13396, 13397, 13398, 13399, 13400, - 13401, 13402, 13403, 13404, 13405, 13406, 13407, 13408, 13409, 13410, - 13411, 13412, 13413, 13414, 13415, 13416, 13417, 13418, 13419, 13420, - 13421, 13422, 13423, 13424, 13425, 13426, 13427, 13428, 13429, 13430, - 13431, 13432, 13433, 13434, 13435, 13436, 13437, 13438, 13439, 13440, - 13441, 13442, 13447, 13448, 13449, 13450, 13451, 13452, 13453, 13454, - 13455, 13456, 13457, 13458, 13459, 13460, 13461, 13462, 13463, 13464, - 13465, 13466, 13467, 13468, 13469, 13470, 13471, 13472, 13473, 13474, - 13475, 13476, 13477, 13478, 13479, 13480, 13481, 13482, 13483, 13484, - 13485, 13486, 13487, 13488, 13489, 13490, 13491, 13492, 13493, 13494, + 13382, 13383, 13384, 13385, 13386, 13387, 13388, 13389, 13390, 13391, + 13392, 13393, 13394, 13395, 13396, 13397, 13398, 13399, 13400, 13401, + 13402, 13403, 13404, 13405, 13406, 13407, 13408, 13409, 13410, 13411, + 13412, 13413, 13414, 13415, 13416, 13417, 13418, 13419, 13420, 13421, + 13422, 13423, 13424, 13425, 13435, 13436, 13437, 13438, 13439, 13440, + 13441, 13442, 13443, 13444, 13445, 13446, 13447, 13448, 13449, 13450, + 13451, 13452, 13453, 13454, 13455, 13456, 13457, 13458, 13459, 13460, + 13461, 13462, 13463, 13464, 13465, 13466, 13467, 13468, 13469, 13470, + 13471, 13472, 13473, 13474, 13475, 13476, 13477, 13478, 13479, 13480, + 13481, 13482, 13487, 13488, 13489, 13490, 13491, 13492, 13493, 13494, 13495, 13496, 13497, 13498, 13499, 13500, 13501, 13502, 13503, 13504, 13505, 13506, 13507, 13508, 13509, 13510, 13511, 13512, 13513, 13514, 13515, 13516, 13517, 13518, 13519, 13520, 13521, 13522, 13523, 13524, @@ -2468,40 +2464,44 @@ 13685, 13686, 13687, 13688, 13689, 13690, 13691, 13692, 13693, 13694, 13695, 13696, 13697, 13698, 13699, 13700, 13701, 13702, 13703, 13704, 13705, 13706, 13707, 13708, 13709, 13710, 13711, 13712, 13713, 13714, - 13715, 13716, 13717, 13718, 13729, 13738, 13742, 13746, 13750, 13754, - 13761, 13765, 13778, 13785, 13795, 13796, 13801, 13805, 13813, 13817, - 13821, 13822, 13823, 13827, 13828, 13829, 13830, 13834, 13835, 13836, - 13837, 13842, 13850, 13856, 13860, 13864, 13868, 13875, 13882, 13886, - 13890, 13897, 13901, 13908, 13915, 13916, 13920, 13927, 13928, 13932, - 13933, 13937, 13938, 13939, 13940, 13944, 13953, 13954, 13955, 13959, - 13963, 13973, 13972, 13988, 13989, 13993, 13994, 13998, 14026, 14027, - 14028, 14033, 14038, 14037, 14054, 14062, 14069, 14088, 14104, 14123, - 14120, 14170, 14171, 14175, 14176, 14180, 14181, 14182, 14183, 14185, - 14184, 14197, 14198, 14199, 14200, 14201, 14207, 14207, 14212, 14217, - 14227, 14237, 14241, 14250, 14250, 14255, 14261, 14272, 14283, 14291, - 14293, 14297, 14304, 14311, 14313, 14317, 14318, 14323, 14322, 14326, - 14325, 14329, 14328, 14332, 14331, 14334, 14335, 14336, 14337, 14338, - 14339, 14340, 14341, 14342, 14343, 14344, 14345, 14346, 14347, 14348, - 14349, 14350, 14351, 14352, 14353, 14354, 14355, 14356, 14357, 14358, - 14359, 14363, 14364, 14368, 14369, 14373, 14383, 14393, 14406, 14421, - 14434, 14447, 14459, 14464, 14472, 14477, 14485, 14493, 14508, 14516, - 14526, 14537, 14546, 14550, 14554, 14555, 14559, 14586, 14588, 14592, - 14596, 14600, 14607, 14608, 14612, 14613, 14617, 14618, 14622, 14623, - 14629, 14635, 14641, 14651, 14650, 14660, 14661, 14666, 14667, 14668, - 14673, 14674, 14675, 14679, 14680, 14684, 14696, 14705, 14715, 14724, - 14738, 14739, 14743, 14750, 14751, 14752, 14756, 14757, 14761, 14768, - 14772, 14776, 14777, 14778, 14782, 14786, 14794, 14795, 14803, 14803, - 14816, 14817, 14821, 14825, 14829, 14830, 14831, 14832, 14833, 14834, - 14835, 14836, 14846, 14848, 14850, 14855, 14856, 14857, 14858, 14859, - 14863, 14864, 14865, 14866, 14867, 14868, 14878, 14879, 14884, 14897, - 14910, 14912, 14914, 14919, 14924, 14926, 14928, 14934, 14935, 14937, - 14943, 14942, 14960, 14961, 14965, 14970, 14978, 14978, 15003, 15002, - 15023, 15031, 15031, 15039, 15044, 15043, 15057, 15058, 15060, 15062, - 15073, 15075, 15081, 15087, 15105, 15095, 15188, 15206, 15230, 15254, - 15258, 15267, 15290, 15227, 15357, 15377, 15382, 15390, 15355, 15411, - 15416, 15421, 15426, 15431, 15436, 15444, 15445, 15448, 15457, 15467, - 15485, 15486, 15490, 15491, 15492, 15496, 15497, 15502, 15503, 15505, - 15510, 15519 + 13715, 13716, 13717, 13718, 13719, 13720, 13721, 13722, 13723, 13724, + 13725, 13726, 13727, 13728, 13729, 13730, 13731, 13732, 13733, 13734, + 13735, 13736, 13737, 13738, 13739, 13740, 13741, 13742, 13743, 13744, + 13745, 13746, 13747, 13748, 13749, 13750, 13751, 13752, 13753, 13754, + 13755, 13756, 13757, 13758, 13769, 13778, 13782, 13786, 13790, 13794, + 13801, 13805, 13818, 13825, 13835, 13836, 13841, 13845, 13853, 13857, + 13861, 13862, 13863, 13867, 13868, 13869, 13870, 13874, 13875, 13876, + 13877, 13882, 13890, 13896, 13900, 13904, 13908, 13915, 13922, 13926, + 13930, 13937, 13941, 13948, 13955, 13956, 13960, 13967, 13968, 13972, + 13973, 13977, 13978, 13979, 13980, 13984, 13993, 13994, 13995, 13999, + 14003, 14013, 14012, 14028, 14029, 14033, 14034, 14038, 14066, 14067, + 14068, 14073, 14078, 14077, 14094, 14102, 14109, 14128, 14144, 14163, + 14160, 14210, 14211, 14215, 14216, 14220, 14221, 14222, 14223, 14225, + 14224, 14237, 14238, 14239, 14240, 14241, 14247, 14247, 14252, 14257, + 14267, 14277, 14281, 14290, 14290, 14295, 14301, 14312, 14323, 14331, + 14333, 14337, 14344, 14351, 14353, 14357, 14358, 14363, 14362, 14366, + 14365, 14369, 14368, 14372, 14371, 14374, 14375, 14376, 14377, 14378, + 14379, 14380, 14381, 14382, 14383, 14384, 14385, 14386, 14387, 14388, + 14389, 14390, 14391, 14392, 14393, 14394, 14395, 14396, 14397, 14398, + 14399, 14403, 14404, 14408, 14409, 14413, 14423, 14433, 14446, 14461, + 14474, 14487, 14499, 14504, 14512, 14517, 14525, 14533, 14548, 14556, + 14566, 14577, 14586, 14590, 14594, 14595, 14599, 14626, 14628, 14632, + 14636, 14640, 14647, 14648, 14652, 14653, 14657, 14658, 14662, 14663, + 14669, 14675, 14681, 14691, 14690, 14700, 14701, 14706, 14707, 14708, + 14713, 14714, 14715, 14719, 14720, 14724, 14736, 14745, 14755, 14764, + 14778, 14779, 14783, 14790, 14791, 14792, 14796, 14797, 14801, 14808, + 14812, 14816, 14817, 14818, 14822, 14826, 14834, 14835, 14843, 14843, + 14856, 14857, 14861, 14865, 14869, 14870, 14871, 14872, 14873, 14874, + 14875, 14876, 14886, 14888, 14890, 14895, 14896, 14897, 14898, 14899, + 14903, 14904, 14905, 14906, 14907, 14908, 14918, 14919, 14924, 14937, + 14950, 14952, 14954, 14959, 14964, 14966, 14968, 14974, 14975, 14977, + 14983, 14982, 15000, 15001, 15005, 15010, 15018, 15018, 15043, 15042, + 15063, 15071, 15071, 15079, 15084, 15083, 15097, 15098, 15100, 15102, + 15113, 15115, 15121, 15127, 15145, 15135, 15228, 15246, 15270, 15294, + 15298, 15307, 15330, 15267, 15397, 15417, 15422, 15430, 15395, 15451, + 15456, 15461, 15466, 15471, 15476, 15484, 15485, 15488, 15497, 15507, + 15525, 15526, 15530, 15531, 15532, 15536, 15537, 15542, 15543, 15545, + 15550, 15559 }; #endif @@ -18847,7 +18847,7 @@ switch (yyn) { case 2: -#line 1609 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1609 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; if (!thd->bootstrap && @@ -18859,11 +18859,11 @@ thd->lex->sql_command= SQLCOM_EMPTY_QUERY; YYLIP->found_semicolon= NULL; } -#line 18863 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18863 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 3: -#line 1621 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1621 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex_input_stream *lip = YYLIP; @@ -18886,79 +18886,79 @@ lip->found_semicolon= NULL; } } -#line 18890 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18890 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 5: -#line 1646 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1646 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* Single query, not terminated. */ YYLIP->found_semicolon= NULL; } -#line 18899 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18899 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 20: -#line 1674 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1674 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MAKE_CMD((yyvsp[0].statement)); } -#line 18905 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18905 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 22: -#line 1676 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1676 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { CONTEXTUALIZE((yyvsp[0].select)); } -#line 18911 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18911 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 31: -#line 1685 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1685 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MAKE_CMD((yyvsp[0].statement)); } -#line 18917 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18917 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 46: -#line 1700 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1700 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MAKE_CMD((yyvsp[0].statement)); } -#line 18923 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18923 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 52: -#line 1706 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1706 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { CONTEXTUALIZE((yyvsp[0].select)); } -#line 18929 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18929 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 53: -#line 1707 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1707 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { CONTEXTUALIZE((yyvsp[0].set)); } -#line 18935 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18935 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 56: -#line 1710 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1710 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MAKE_CMD((yyvsp[0].statement)); } -#line 18941 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18941 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 62: -#line 1716 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1716 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MAKE_CMD((yyvsp[0].statement)); } -#line 18947 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18947 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 65: -#line 1723 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1723 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_DEALLOCATE_PREPARE; lex->prepared_stmt_name= to_lex_cstring((yyvsp[0].lex_str)); } -#line 18958 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18958 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 68: -#line 1738 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1738 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -18975,61 +18975,61 @@ */ lex->contains_plaintext_password= true; } -#line 18979 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18979 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 69: -#line 1758 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1758 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->prepared_stmt_code= (yyvsp[0].lex_str); lex->prepared_stmt_code_is_varref= FALSE; } -#line 18990 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 18990 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 70: -#line 1765 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1765 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->prepared_stmt_code= (yyvsp[0].lex_str); lex->prepared_stmt_code_is_varref= TRUE; } -#line 19001 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19001 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 71: -#line 1775 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1775 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_EXECUTE; lex->prepared_stmt_name= to_lex_cstring((yyvsp[0].lex_str)); } -#line 19012 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19012 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 72: -#line 1782 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1782 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 19018 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19018 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 77: -#line 1797 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1797 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)); if (!lexstr || lex->prepared_stmt_params.push_back(lexstr)) MYSQL_YYABORT; } -#line 19029 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19029 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 78: -#line 1809 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1809 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->sphead) { @@ -19037,21 +19037,21 @@ MYSQL_YYABORT; } } -#line 19041 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19041 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 79: -#line 1817 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1817 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_HELP; lex->help_arg= (yyvsp[0].lex_str).str; } -#line 19051 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19051 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 80: -#line 1828 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1828 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex = Lex; lex->sql_command = SQLCOM_CHANGE_MASTER; @@ -19059,156 +19059,156 @@ Clear LEX_MASTER_INFO struct. repl_ignore_server_ids is cleared in THD::cleanup_after_query. So it is guaranteed to be empty here. */ - DBUG_ASSERT(Lex->mi.repl_ignore_server_ids.empty()); + assert(Lex->mi.repl_ignore_server_ids.empty()); lex->mi.set_unspecified(); } -#line 19066 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19066 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 81: -#line 1839 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1839 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 19072 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19072 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 82: -#line 1841 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1841 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->sql_command = SQLCOM_CHANGE_REPLICATION_FILTER; lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_change_repl_filter(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 19086 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19086 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 83: -#line 1851 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1851 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 19092 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19092 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 86: -#line 1860 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1860 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_DO_DB); } -#line 19103 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19103 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 87: -#line 1867 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1867 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_IGNORE_DB); } -#line 19114 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19114 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 88: -#line 1874 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1874 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_DO_TABLE); } -#line 19125 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19125 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 89: -#line 1881 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1881 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_IGNORE_TABLE); } -#line 19136 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19136 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 90: -#line 1888 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1888 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_WILD_DO_TABLE); } -#line 19147 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19147 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 91: -#line 1895 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1895 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_WILD_IGNORE_TABLE); } -#line 19159 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19159 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 92: -#line 1903 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1903 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_REWRITE_DB); } -#line 19170 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19170 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 93: -#line 1912 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1912 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; } -#line 19180 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19180 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 94: -#line 1918 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1918 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= (yyvsp[-1].item_list); } -#line 19188 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19188 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 95: -#line 1925 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1925 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[0].item)); } -#line 19199 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19199 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 96: -#line 1932 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1932 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].item_list)->push_back((yyvsp[0].item)); (yyval.item_list)= (yyvsp[-2].item_list); } -#line 19208 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19208 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 97: -#line 1940 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1940 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; Item *db_item= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str, @@ -19216,29 +19216,29 @@ thd->charset()); (yyval.item)= db_item; } -#line 19220 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19220 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 98: -#line 1950 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1950 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; } -#line 19230 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19230 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 99: -#line 1956 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1956 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= (yyvsp[-1].item_list); } -#line 19238 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19238 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 100: -#line 1962 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1962 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) @@ -19246,59 +19246,59 @@ (yyval.item_list)->push_back((yyvsp[-3].item)); (yyval.item_list)->push_back((yyvsp[-1].item)); } -#line 19250 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19250 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 101: -#line 1970 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1970 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-6].item_list)->push_back((yyvsp[-3].item)); (yyvsp[-6].item_list)->push_back((yyvsp[-1].item)); (yyval.item_list)= (yyvsp[-6].item_list); } -#line 19260 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19260 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 102: -#line 1978 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1978 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; } -#line 19270 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19270 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 103: -#line 1984 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1984 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= (yyvsp[-1].item_list); } -#line 19278 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19278 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 104: -#line 1991 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1991 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[0].item)); } -#line 19289 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19289 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 105: -#line 1998 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 1998 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].item_list)->push_back((yyvsp[0].item)); (yyval.item_list)= (yyvsp[-2].item_list); } -#line 19298 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19298 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 106: -#line 2006 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2006 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; Item_string *table_item= new (thd->mem_root) Item_string((yyvsp[-2].lex_str).str, @@ -19308,49 +19308,49 @@ table_item->append((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); (yyval.item)= table_item; } -#line 19312 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19312 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 107: -#line 2019 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2019 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; } -#line 19322 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19322 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 108: -#line 2025 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2025 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= (yyvsp[-1].item_list); } -#line 19330 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19330 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 109: -#line 2032 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2032 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[0].item)); } -#line 19341 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19341 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 110: -#line 2039 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2039 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].item_list)->push_back((yyvsp[0].item)); (yyval.item_list)= (yyvsp[-2].item_list); } -#line 19350 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19350 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 111: -#line 2047 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2047 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; Item *string_item= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str, @@ -19358,35 +19358,35 @@ thd->charset()); (yyval.item)= string_item; } -#line 19362 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19362 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 114: -#line 2063 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2063 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.host = (yyvsp[0].lex_str).str; } -#line 19370 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19370 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 115: -#line 2067 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2067 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.bind_addr = (yyvsp[0].lex_str).str; } -#line 19378 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19378 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 116: -#line 2071 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2071 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.user = (yyvsp[0].lex_str).str; } -#line 19386 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19386 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 117: -#line 2075 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2075 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.password = (yyvsp[0].lex_str).str; if (strlen((yyvsp[0].lex_str).str) > 32) @@ -19396,36 +19396,36 @@ } Lex->contains_plaintext_password= true; } -#line 19400 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19400 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 118: -#line 2085 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2085 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.port = (yyvsp[0].ulong_num); } -#line 19408 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19408 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 119: -#line 2089 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2089 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.connect_retry = (yyvsp[0].ulong_num); } -#line 19416 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19416 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 120: -#line 2093 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2093 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.retry_count= (yyvsp[0].ulong_num); Lex->mi.retry_count_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } -#line 19425 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19425 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 121: -#line 2098 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2098 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].ulong_num) > MASTER_DELAY_MAX) { @@ -19436,93 +19436,93 @@ else Lex->mi.sql_delay = (yyvsp[0].ulong_num); } -#line 19440 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19440 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 122: -#line 2109 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2109 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl= (yyvsp[0].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } -#line 19449 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19449 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 123: -#line 2114 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2114 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_ca= (yyvsp[0].lex_str).str; } -#line 19457 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19457 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 124: -#line 2118 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2118 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_capath= (yyvsp[0].lex_str).str; } -#line 19465 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19465 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 125: -#line 2122 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2122 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.tls_version= (yyvsp[0].lex_str).str; } -#line 19473 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19473 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 126: -#line 2126 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2126 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_cert= (yyvsp[0].lex_str).str; } -#line 19481 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19481 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 127: -#line 2130 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2130 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_cipher= (yyvsp[0].lex_str).str; } -#line 19489 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19489 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 128: -#line 2134 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2134 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_key= (yyvsp[0].lex_str).str; } -#line 19497 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19497 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 129: -#line 2138 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2138 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_verify_server_cert= (yyvsp[0].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } -#line 19506 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19506 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 130: -#line 2143 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2143 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_crl= (yyvsp[0].lex_str).str; } -#line 19514 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19514 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 131: -#line 2147 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2147 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.ssl_crlpath= (yyvsp[0].lex_str).str; } -#line 19522 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19522 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 132: -#line 2152 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2152 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -19555,45 +19555,45 @@ } Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } -#line 19559 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19559 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 133: -#line 2185 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2185 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } -#line 19567 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19567 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 134: -#line 2190 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2190 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.auto_position= (yyvsp[0].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } -#line 19577 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19577 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 139: -#line 2207 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2207 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.repl_ignore_server_ids.push_back((yyvsp[0].ulong_num)); } -#line 19585 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19585 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 140: -#line 2213 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2213 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; } -#line 19593 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19593 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 141: -#line 2217 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2217 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.pos = (yyvsp[0].ulonglong_number); /* @@ -19609,39 +19609,39 @@ */ Lex->mi.pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.pos); } -#line 19613 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19613 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 142: -#line 2233 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2233 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.relay_log_name = (yyvsp[0].lex_str).str; } -#line 19621 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19621 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 143: -#line 2237 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2237 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.relay_log_pos = (yyvsp[0].ulong_num); /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */ Lex->mi.relay_log_pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos); } -#line 19632 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19632 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 144: -#line 2247 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2247 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.channel= ""; Lex->mi.for_channel= false; } -#line 19641 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19641 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 145: -#line 2252 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2252 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* channel names are case insensitive. This means, even the results @@ -19653,11 +19653,11 @@ Lex->mi.channel= (yyvsp[0].lex_str).str; Lex->mi.for_channel= true; } -#line 19657 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19657 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 146: -#line 2269 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2269 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -19683,11 +19683,11 @@ lex->name.length= 0; lex->create_last_non_select_table= lex->last_table(); } -#line 19687 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19687 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 147: -#line 2295 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2295 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -19706,145 +19706,145 @@ } create_table_set_open_action_and_adjust_tables(lex); } -#line 19710 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19710 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 148: -#line 2314 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2314 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (add_create_index_prepare(Lex, (yyvsp[0].table))) MYSQL_YYABORT; } -#line 19719 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19719 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 149: -#line 2319 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2319 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str))) MYSQL_YYABORT; } -#line 19728 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19728 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 150: -#line 2323 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2323 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { } -#line 19734 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19734 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 151: -#line 2326 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2326 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (add_create_index_prepare(Lex, (yyvsp[0].table))) MYSQL_YYABORT; } -#line 19743 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19743 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 152: -#line 2331 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2331 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str))) MYSQL_YYABORT; } -#line 19752 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19752 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 153: -#line 2335 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2335 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { } -#line 19758 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19758 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 154: -#line 2338 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2338 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (add_create_index_prepare(Lex, (yyvsp[0].table))) MYSQL_YYABORT; } -#line 19767 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19767 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 155: -#line 2343 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2343 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str))) MYSQL_YYABORT; } -#line 19776 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19776 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 156: -#line 2347 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2347 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { } -#line 19782 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19782 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 157: -#line 2349 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2349 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.default_table_charset= NULL; Lex->create_info.used_fields= 0; } -#line 19791 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19791 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 158: -#line 2354 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2354 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command=SQLCOM_CREATE_DB; lex->name= (yyvsp[-2].lex_str); lex->create_info.options=(yyvsp[-3].num); } -#line 19802 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19802 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 159: -#line 2361 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2361 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_mode= VIEW_CREATE_NEW; Lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; Lex->create_view_suid= TRUE; } -#line 19812 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19812 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 160: -#line 2367 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2367 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 19818 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19818 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 161: -#line 2370 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2370 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_CREATE_USER; lex->create_info.options=(yyvsp[-5].num); } -#line 19828 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19828 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 162: -#line 2376 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2376 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_tablespace_info->ts_cmd_type= CREATE_LOGFILE_GROUP; } -#line 19836 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19836 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 163: -#line 2380 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2380 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_tablespace_info->ts_cmd_type= CREATE_TABLESPACE; } -#line 19844 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19844 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 164: -#line 2385 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2385 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_CREATE_SERVER; if ((yyvsp[-8].lex_str).length == 0) @@ -19857,68 +19857,68 @@ Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_create_server(&Lex->server_options); } -#line 19861 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19861 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 167: -#line 2406 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2406 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_username((yyvsp[0].lex_str)); } -#line 19869 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19869 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 168: -#line 2410 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2410 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_host((yyvsp[0].lex_str)); } -#line 19877 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19877 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 169: -#line 2414 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2414 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_db((yyvsp[0].lex_str)); } -#line 19885 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19885 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 170: -#line 2418 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2418 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_owner((yyvsp[0].lex_str)); } -#line 19893 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19893 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 171: -#line 2422 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2422 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_password((yyvsp[0].lex_str)); Lex->contains_plaintext_password= true; } -#line 19902 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19902 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 172: -#line 2427 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2427 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_socket((yyvsp[0].lex_str)); } -#line 19910 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19910 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 173: -#line 2431 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2431 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->server_options.set_port((yyvsp[0].ulong_num)); } -#line 19918 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19918 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 174: -#line 2438 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2438 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex=Lex; @@ -19934,11 +19934,11 @@ lex->sql_command= SQLCOM_CREATE_EVENT; /* We need that for disallowing subqueries */ } -#line 19938 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19938 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 175: -#line 2458 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2458 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* sql_command is set here because some rules in ev_sql_stmt @@ -19946,140 +19946,140 @@ */ Lex->sql_command= SQLCOM_CREATE_EVENT; } -#line 19950 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19950 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 176: -#line 2469 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2469 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[-1].item), &(yyvsp[-1].item)); Lex->event_parse_data->item_expression= (yyvsp[-1].item); Lex->event_parse_data->interval= (yyvsp[0].interval); } -#line 19961 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19961 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 178: -#line 2478 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2478 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); Lex->event_parse_data->item_execute_at= (yyvsp[0].item); } -#line 19971 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19971 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 179: -#line 2486 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2486 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 19977 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19977 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 180: -#line 2488 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2488 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->status= Event_parse_data::ENABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } -#line 19987 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19987 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 181: -#line 2494 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2494 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } -#line 19997 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 19997 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 182: -#line 2500 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2500 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->status= Event_parse_data::DISABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } -#line 20007 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20007 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 183: -#line 2509 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2509 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Item *item= new (YYTHD->mem_root) Item_func_now_local(0); if (item == NULL) MYSQL_YYABORT; Lex->event_parse_data->item_starts= item; } -#line 20018 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20018 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 184: -#line 2516 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2516 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); Lex->event_parse_data->item_starts= (yyvsp[0].item); } -#line 20028 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20028 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 186: -#line 2526 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2526 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); Lex->event_parse_data->item_ends= (yyvsp[0].item); } -#line 20038 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20038 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 187: -#line 2534 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2534 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 20044 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20044 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 189: -#line 2540 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2540 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->on_completion= Event_parse_data::ON_COMPLETION_PRESERVE; (yyval.num)= 1; } -#line 20054 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20054 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 190: -#line 2546 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2546 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->event_parse_data->on_completion= Event_parse_data::ON_COMPLETION_DROP; (yyval.num)= 1; } -#line 20064 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20064 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 191: -#line 2554 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2554 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 20070 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20070 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 192: -#line 2556 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2556 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->comment= Lex->event_parse_data->comment= (yyvsp[0].lex_str); (yyval.num)= 1; } -#line 20079 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20079 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 193: -#line 2563 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2563 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -20125,11 +20125,11 @@ */ sp->set_body_start(thd, (yylsp[0]).cpp.end); } -#line 20129 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20129 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 194: -#line 2609 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2609 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -20139,11 +20139,11 @@ lex->sp_chistics.suid= SP_IS_SUID; //always the definer! lex->event_parse_data->body_changed= TRUE; } -#line 20143 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20143 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 208: -#line 2638 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2638 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->users_list.empty(); @@ -20157,11 +20157,11 @@ lex->alter_password.account_locked= false; memset(&(lex->mqh), 0, sizeof(lex->mqh)); } -#line 20161 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20161 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 209: -#line 2655 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2655 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_password.update_password_expired_fields= false; @@ -20169,11 +20169,11 @@ lex->alter_password.use_default_password_lifetime= true; lex->alter_password.expire_after_days= 0; } -#line 20173 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20173 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 210: -#line 2666 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2666 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!(yyvsp[-2].lex_str).str || (check_and_convert_db_name(&(yyvsp[-2].lex_str), FALSE) != IDENT_NAME_OK)) @@ -20187,11 +20187,11 @@ MYSQL_YYABORT; (yyval.spname)->init_qname(YYTHD); } -#line 20191 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20191 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 211: -#line 2680 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2680 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -20207,111 +20207,111 @@ MYSQL_YYABORT; (yyval.spname)->init_qname(thd); } -#line 20211 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20211 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 212: -#line 2698 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2698 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 20217 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20217 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 213: -#line 2699 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2699 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 20223 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20223 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 214: -#line 2703 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2703 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 20229 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20229 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 215: -#line 2704 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2704 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 20235 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20235 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 216: -#line 2710 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2710 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.comment= (yyvsp[0].lex_str); } -#line 20241 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20241 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 217: -#line 2712 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2712 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* Just parse it, we only have one language for now. */ } -#line 20247 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20247 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 218: -#line 2714 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2714 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.daccess= SP_NO_SQL; } -#line 20253 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20253 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 219: -#line 2716 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2716 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; } -#line 20259 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20259 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 220: -#line 2718 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2718 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; } -#line 20265 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20265 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 221: -#line 2720 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2720 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; } -#line 20271 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20271 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 222: -#line 2722 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2722 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 20277 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20277 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 223: -#line 2727 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2727 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { } -#line 20283 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20283 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 224: -#line 2728 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2728 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.detistic= TRUE; } -#line 20289 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20289 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 225: -#line 2729 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2729 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.detistic= FALSE; } -#line 20295 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20295 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 226: -#line 2734 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2734 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.suid= SP_IS_SUID; } -#line 20303 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20303 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 227: -#line 2738 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2738 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sp_chistics.suid= SP_IS_NOT_SUID; } -#line 20311 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20311 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 228: -#line 2745 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2745 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex = Lex; @@ -20320,37 +20320,37 @@ lex->call_value_list.empty(); sp_add_used_routine(lex, YYTHD, (yyvsp[0].spname), SP_TYPE_PROCEDURE); } -#line 20324 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20324 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 229: -#line 2753 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2753 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 20330 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20330 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 234: -#line 2769 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2769 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); Lex->call_value_list.push_back((yyvsp[0].item)); } -#line 20340 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20340 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 235: -#line 2775 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2775 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); Lex->call_value_list.push_back((yyvsp[0].item)); } -#line 20350 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20350 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 240: -#line 2795 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2795 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; @@ -20367,11 +20367,11 @@ lex->interval_list.empty(); lex->uint_geom_type= 0; } -#line 20371 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20371 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 241: -#line 2815 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2815 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -20398,11 +20398,11 @@ spvar->field_def.field_name= spvar->name.str; spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL; } -#line 20402 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20402 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 246: -#line 2856 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2856 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -20428,55 +20428,55 @@ spvar->field_def.field_name= spvar->name.str; spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL; } -#line 20432 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20432 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 247: -#line 2884 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2884 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_variable::MODE_IN; } -#line 20438 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20438 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 248: -#line 2885 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2885 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_variable::MODE_IN; } -#line 20444 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20444 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 249: -#line 2886 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2886 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_variable::MODE_OUT; } -#line 20450 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20450 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 250: -#line 2887 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2887 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_variable::MODE_INOUT; } -#line 20456 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20456 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 251: -#line 2891 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2891 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 20462 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20462 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 253: -#line 2896 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2896 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 20468 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20468 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 255: -#line 2902 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2902 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; } -#line 20476 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20476 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 256: -#line 2906 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2906 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* We check for declarations out of (standard) order this way because letting the grammar rules reflect it caused tricky @@ -20499,11 +20499,11 @@ (yyval.spblock).hndlrs= (yyvsp[-2].spblock).hndlrs + (yyvsp[-1].spblock).hndlrs; (yyval.spblock).curs= (yyvsp[-2].spblock).curs + (yyvsp[-1].spblock).curs; } -#line 20503 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20503 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 257: -#line 2933 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2933 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$3*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -20513,11 +20513,11 @@ sp->reset_lex(thd); pctx->declare_var_boundary((yyvsp[0].num)); } -#line 20517 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20517 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 258: -#line 2944 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 2944 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$6*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -20526,10 +20526,22 @@ uint num_vars= pctx->context_var_count(); enum enum_field_types var_type= (enum enum_field_types) (yyvsp[-1].num); Item *dflt_value_item= (yyvsp[0].item); + const bool has_default_clause = (dflt_value_item != NULL); + bool is_const_item = false; + LEX_STRING dflt_value_query= EMPTY_STR; - if (dflt_value_item) - { + if (has_default_clause) { + // Handling a NEG_FUNC wrapping a constant. + if (dflt_value_item->type() == Item::FUNC_ITEM) { + Item_func *func_item = down_cast(dflt_value_item); + if (func_item->functype() == Item_func::NEG_FUNC) { + is_const_item = true; + } + } else if (dflt_value_item->const_item()) { + is_const_item = true; + } + // sp_opt_default only pushes start ptr for DEFAULT clause. const char *expr_start_ptr= sp->m_parser_data.pop_expr_start_ptr(); @@ -20549,10 +20561,13 @@ MYSQL_YYABORT; } + sp_variable *first_spvar = NULL; + const uint first_var_num = num_vars - (yyvsp[-3].num); + // We can have several variables in DECLARE statement. // We need to create an sp_instr_set instruction for each variable. - for (uint i = num_vars-(yyvsp[-3].num) ; i < num_vars ; i++) + for (uint i = first_var_num; i < num_vars; i++) { uint var_idx= pctx->var_context2runtime(i); sp_variable *spvar= pctx->find_variable(var_idx); @@ -20561,8 +20576,33 @@ MYSQL_YYABORT; spvar->type= var_type; + + // Transforming the following declare statements having non-const + // expressions: + // DECLARE a, b, c type DEFAULT expr; + // to + // DECLARE a type DEFAULT expr, b type DEFAULT a, + // c type DEFAULT a; + + if (i == first_var_num) { + first_spvar = spvar; + } else if (has_default_clause && !is_const_item) { + Item_splocal *item = + NEW_PTN Item_splocal(first_spvar->name, first_spvar->offset, + first_spvar->type, 0, 0); + if (item == NULL) + MYSQL_YYABORT; // OOM +#ifndef NDEBUG + item->m_sp = lex->sphead; +#endif + dflt_value_item = item; + } spvar->default_value= dflt_value_item; + if (has_default_clause && !is_const_item && (i > first_var_num)) { + dflt_value_query = first_spvar->name; + } + if (fill_field_definition(thd, sp, var_type, &spvar->field_def)) MYSQL_YYABORT; @@ -20590,11 +20630,11 @@ (yyval.spblock).vars= (yyvsp[-3].num); (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; } -#line 20594 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20634 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 259: -#line 3017 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3057 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -20611,11 +20651,11 @@ (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; (yyval.spblock).conds= 1; } -#line 20615 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20655 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 260: -#line 3034 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3074 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -20657,11 +20697,11 @@ lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // DECL HANDLER FOR } -#line 20661 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20701 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 261: -#line 3076 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3116 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -20695,11 +20735,11 @@ (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).curs= 0; (yyval.spblock).hndlrs= 1; } -#line 20699 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20739 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 262: -#line 3113 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3153 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$5*/ THD *thd= YYTHD; LEX *lex= Lex; @@ -20708,11 +20748,11 @@ sp->reset_lex(thd); sp->m_parser_data.set_current_stmt_start_ptr((yylsp[0]).raw.end); } -#line 20712 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20752 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 263: -#line 3122 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3162 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$7*/ CONTEXTUALIZE((yyvsp[0].select)); @@ -20720,7 +20760,7 @@ LEX *cursor_lex= Lex; sp_head *sp= cursor_lex->sphead; - DBUG_ASSERT(cursor_lex->sql_command == SQLCOM_SELECT); +assert(cursor_lex->sql_command == SQLCOM_SELECT); if (cursor_lex->result) { @@ -20775,35 +20815,35 @@ (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0; (yyval.spblock).curs= 1; } -#line 20779 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20819 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 264: -#line 3187 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3227 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_handler::EXIT; } -#line 20785 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20825 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 265: -#line 3188 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3228 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= sp_handler::CONTINUE; } -#line 20791 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20831 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 266: -#line 3194 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3234 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } -#line 20797 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20837 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 267: -#line 3196 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3236 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)+= 1; } -#line 20803 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20843 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 268: -#line 3201 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3241 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -20823,11 +20863,11 @@ i->add_condition((yyvsp[0].spcondvalue)); } } -#line 20827 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20867 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 269: -#line 3224 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3264 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* mysql errno */ if ((yyvsp[0].ulong_num) == 0) { @@ -20838,11 +20878,11 @@ if ((yyval.spcondvalue) == NULL) MYSQL_YYABORT; } -#line 20842 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20882 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 271: -#line 3239 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3279 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* SQLSTATE */ /* @@ -20861,31 +20901,31 @@ if ((yyval.spcondvalue) == NULL) MYSQL_YYABORT; } -#line 20865 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20905 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 272: -#line 3260 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3300 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 20871 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20911 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 273: -#line 3261 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3301 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 20877 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20917 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 274: -#line 3266 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3306 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } -#line 20885 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20925 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 275: -#line 3270 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3310 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); @@ -20898,41 +20938,41 @@ MYSQL_YYABORT; } } -#line 20902 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20942 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 276: -#line 3283 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3323 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= new (YYTHD->mem_root) sp_condition_value(sp_condition_value::WARNING); if ((yyval.spcondvalue) == NULL) MYSQL_YYABORT; } -#line 20912 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20952 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 277: -#line 3289 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3329 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= new (YYTHD->mem_root) sp_condition_value(sp_condition_value::NOT_FOUND); if ((yyval.spcondvalue) == NULL) MYSQL_YYABORT; } -#line 20922 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20962 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 278: -#line 3295 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3335 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= new (YYTHD->mem_root) sp_condition_value(sp_condition_value::EXCEPTION); if ((yyval.spcondvalue) == NULL) MYSQL_YYABORT; } -#line 20932 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20972 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 279: -#line 3304 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3344 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -20942,11 +20982,11 @@ if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 20946 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 20986 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 280: -#line 3317 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3357 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); @@ -20972,67 +21012,67 @@ } (yyval.spcondvalue)= cond; } -#line 20976 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21016 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 281: -#line 3343 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3383 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } -#line 20982 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21022 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 282: -#line 3348 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3388 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= NULL; } -#line 20988 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21028 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 283: -#line 3350 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3390 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.spcondvalue)= (yyvsp[0].spcondvalue); } -#line 20994 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21034 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 284: -#line 3355 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3395 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.signal_item_list)= new (YYTHD->mem_root) Set_signal_information(); } -#line 21000 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21040 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 285: -#line 3357 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3397 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.signal_item_list)= (yyvsp[0].signal_item_list); } -#line 21006 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21046 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 286: -#line 3362 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3402 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.signal_item_list)= new (YYTHD->mem_root) Set_signal_information(); if ((yyval.signal_item_list)->set_item((yyvsp[-2].da_condition_item_name), (yyvsp[0].item))) MYSQL_YYABORT; } -#line 21016 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21056 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 287: -#line 3369 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3409 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.signal_item_list)= (yyvsp[-4].signal_item_list); if ((yyval.signal_item_list)->set_item((yyvsp[-2].da_condition_item_name), (yyvsp[0].item))) MYSQL_YYABORT; } -#line 21026 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21066 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 288: -#line 3381 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3421 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyval.item)); } -#line 21032 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21072 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 289: -#line 3383 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3423 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -21052,89 +21092,89 @@ } (yyval.item)= (yyvsp[0].item); } -#line 21056 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21096 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 290: -#line 3403 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3443 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyval.item)); } -#line 21062 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21102 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 291: -#line 3409 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3449 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CLASS_ORIGIN; } -#line 21068 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21108 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 292: -#line 3411 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3451 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_SUBCLASS_ORIGIN; } -#line 21074 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21114 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 293: -#line 3413 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3453 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CONSTRAINT_CATALOG; } -#line 21080 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21120 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 294: -#line 3415 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3455 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CONSTRAINT_SCHEMA; } -#line 21086 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21126 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 295: -#line 3417 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3457 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CONSTRAINT_NAME; } -#line 21092 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21132 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 296: -#line 3419 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3459 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CATALOG_NAME; } -#line 21098 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21138 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 297: -#line 3421 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3461 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_SCHEMA_NAME; } -#line 21104 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21144 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 298: -#line 3423 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3463 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_TABLE_NAME; } -#line 21110 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21150 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 299: -#line 3425 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3465 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_COLUMN_NAME; } -#line 21116 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21156 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 300: -#line 3427 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3467 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_CURSOR_NAME; } -#line 21122 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21162 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 301: -#line 3429 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3469 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_MESSAGE_TEXT; } -#line 21128 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21168 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 302: -#line 3431 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3471 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.da_condition_item_name)= CIN_MYSQL_ERRNO; } -#line 21134 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21174 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 303: -#line 3436 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3476 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -21145,11 +21185,11 @@ if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 21149 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21189 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 304: -#line 3450 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3490 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Diagnostics_information *info= (yyvsp[0].diag_info); @@ -21162,79 +21202,79 @@ if (Lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 21166 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21206 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 305: -#line 3466 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3506 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; } -#line 21172 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21212 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 306: -#line 3468 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3508 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; } -#line 21178 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21218 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 307: -#line 3470 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3510 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.diag_area)= Diagnostics_information::STACKED_AREA; } -#line 21184 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21224 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 308: -#line 3475 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3515 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.diag_info)= new (YYTHD->mem_root) Statement_information((yyvsp[0].stmt_info_list)); if ((yyval.diag_info) == NULL) MYSQL_YYABORT; } -#line 21194 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21234 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 309: -#line 3481 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3521 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.diag_info)= new (YYTHD->mem_root) Condition_information((yyvsp[-1].item), (yyvsp[0].cond_info_list)); if ((yyval.diag_info) == NULL) MYSQL_YYABORT; } -#line 21204 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21244 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 310: -#line 3490 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3530 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.stmt_info_list)= new (YYTHD->mem_root) List; if ((yyval.stmt_info_list) == NULL || (yyval.stmt_info_list)->push_back((yyvsp[0].stmt_info_item))) MYSQL_YYABORT; } -#line 21214 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21254 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 311: -#line 3496 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3536 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].stmt_info_list)->push_back((yyvsp[0].stmt_info_item))) MYSQL_YYABORT; (yyval.stmt_info_list)= (yyvsp[-2].stmt_info_list); } -#line 21224 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21264 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 312: -#line 3505 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3545 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.stmt_info_item)= new (YYTHD->mem_root) Statement_information_item((yyvsp[0].stmt_info_item_name), (yyvsp[-2].item)); if ((yyval.stmt_info_item) == NULL) MYSQL_YYABORT; } -#line 21234 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21274 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 313: -#line 3513 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3553 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -21262,146 +21302,146 @@ if ((yyval.item) == NULL) MYSQL_YYABORT; } -#line 21266 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21306 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 314: -#line 3541 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3581 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_get_user_var((yyloc), (yyvsp[0].lex_str)); ITEMIZE((yyval.item), &(yyval.item)); } -#line 21275 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21315 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 315: -#line 3549 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3589 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.stmt_info_item_name)= Statement_information_item::NUMBER; } -#line 21281 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21321 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 316: -#line 3551 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3591 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.stmt_info_item_name)= Statement_information_item::ROW_COUNT; } -#line 21287 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21327 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 317: -#line 3560 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3600 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } -#line 21293 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21333 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 318: -#line 3565 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3605 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_list)= new (YYTHD->mem_root) List; if ((yyval.cond_info_list) == NULL || (yyval.cond_info_list)->push_back((yyvsp[0].cond_info_item))) MYSQL_YYABORT; } -#line 21303 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21343 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 319: -#line 3571 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3611 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].cond_info_list)->push_back((yyvsp[0].cond_info_item))) MYSQL_YYABORT; (yyval.cond_info_list)= (yyvsp[-2].cond_info_list); } -#line 21313 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21353 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 320: -#line 3580 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3620 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item)= new (YYTHD->mem_root) Condition_information_item((yyvsp[0].cond_info_item_name), (yyvsp[-2].item)); if ((yyval.cond_info_item) == NULL) MYSQL_YYABORT; } -#line 21323 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21363 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 321: -#line 3588 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3628 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CLASS_ORIGIN; } -#line 21329 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21369 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 322: -#line 3590 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3630 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::SUBCLASS_ORIGIN; } -#line 21335 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21375 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 323: -#line 3592 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3632 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_CATALOG; } -#line 21341 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21381 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 324: -#line 3594 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3634 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_SCHEMA; } -#line 21347 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21387 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 325: -#line 3596 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3636 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_NAME; } -#line 21353 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21393 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 326: -#line 3598 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3638 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CATALOG_NAME; } -#line 21359 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21399 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 327: -#line 3600 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3640 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::SCHEMA_NAME; } -#line 21365 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21405 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 328: -#line 3602 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3642 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::TABLE_NAME; } -#line 21371 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21411 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 329: -#line 3604 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3644 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::COLUMN_NAME; } -#line 21377 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21417 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 330: -#line 3606 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3646 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::CURSOR_NAME; } -#line 21383 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21423 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 331: -#line 3608 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3648 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::MESSAGE_TEXT; } -#line 21389 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21429 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 332: -#line 3610 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3650 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::MYSQL_ERRNO; } -#line 21395 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21435 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 333: -#line 3612 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3652 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cond_info_item_name)= Condition_information_item::RETURNED_SQLSTATE; } -#line 21401 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21441 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 334: -#line 3617 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3657 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* NOTE: field definition is filled in sp_decl section. */ @@ -21421,11 +21461,11 @@ sp_variable::MODE_IN); (yyval.num)= 1; } -#line 21425 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21465 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 335: -#line 3637 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3677 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* NOTE: field definition is filled in sp_decl section. */ @@ -21445,49 +21485,49 @@ sp_variable::MODE_IN); (yyval.num)= (yyvsp[-2].num) + 1; } -#line 21449 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21489 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 336: -#line 3660 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3700 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item) = NULL; } -#line 21455 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21495 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 337: -#line 3662 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3702 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sphead->m_parser_data.push_expr_start_ptr((yylsp[0]).raw.end); } -#line 21461 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21501 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 338: -#line 3664 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3704 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); (yyval.item) = (yyvsp[0].item); } -#line 21471 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21511 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 352: -#line 3689 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3729 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sphead->m_parser_data.new_cont_backpatch(); } -#line 21477 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21517 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 353: -#line 3691 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3731 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { sp_head *sp= Lex->sphead; sp->m_parser_data.do_cont_backpatch(sp->instructions()); } -#line 21487 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21527 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 354: -#line 3699 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3739 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -21496,11 +21536,11 @@ sp->reset_lex(thd); sp->m_parser_data.set_current_stmt_start_ptr(yylloc.raw.start); } -#line 21500 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21540 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 355: -#line 3708 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3748 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -21517,8 +21557,8 @@ instructions for them were already added during processing of "set" rule. */ - DBUG_ASSERT(lex->sql_command != SQLCOM_SET_OPTION || - lex->var_list.is_empty()); + assert(lex->sql_command != SQLCOM_SET_OPTION || + lex->var_list.is_empty()); if (lex->sql_command != SQLCOM_SET_OPTION) { /* Extract the query statement from the tokenizer. */ @@ -21544,11 +21584,11 @@ if (sp->restore_lex(thd)) MYSQL_YYABORT; } -#line 21548 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21588 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 356: -#line 3755 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3795 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$2*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -21558,11 +21598,11 @@ sp->m_parser_data.push_expr_start_ptr((yylsp[0]).raw.end); } -#line 21562 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21602 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 357: -#line 3765 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3805 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -21608,11 +21648,11 @@ MYSQL_YYABORT; } } -#line 21612 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21652 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 358: -#line 3813 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3853 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* Unlabeled controls get a secret label. */ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -21623,11 +21663,11 @@ EMPTY_STR, sp->instructions()); } -#line 21627 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21667 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 359: -#line 3824 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3864 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -21636,11 +21676,11 @@ sp->m_parser_data.do_backpatch(pctx->pop_label(), sp->instructions()); } -#line 21640 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21680 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 360: -#line 3836 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3876 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -21696,11 +21736,11 @@ sp->add_instr(thd, i)) MYSQL_YYABORT; } -#line 21700 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21740 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 361: -#line 3895 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3935 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -21747,11 +21787,11 @@ if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } -#line 21751 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21791 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 362: -#line 3945 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 3985 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -21772,11 +21812,11 @@ if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } -#line 21776 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21816 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 363: -#line 3969 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4009 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -21797,17 +21837,17 @@ if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } -#line 21801 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21841 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 364: -#line 3990 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4030 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 21807 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21847 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 365: -#line 3995 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4035 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -21828,11 +21868,11 @@ if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } -#line 21832 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21872 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 369: -#line 4025 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4065 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -21850,11 +21890,11 @@ i->add_to_varlist(spv); } -#line 21854 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21894 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 370: -#line 4043 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4083 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -21872,11 +21912,11 @@ i->add_to_varlist(spv); } -#line 21876 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21916 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 371: -#line 4063 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4103 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$1*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -21885,11 +21925,11 @@ sp->reset_lex(thd); sp->m_parser_data.push_expr_start_ptr((yylsp[0]).raw.end); } -#line 21889 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21929 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 372: -#line 4072 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4112 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$3*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -21927,11 +21967,11 @@ MYSQL_YYABORT; } } -#line 21931 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21971 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 373: -#line 4111 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4151 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$6*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -21950,11 +21990,11 @@ sp->m_parser_data.add_backpatch_entry( i, pctx->push_label(thd, EMPTY_STR, 0)); } -#line 21954 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 21994 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 374: -#line 4130 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4170 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$8*/ LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -21963,11 +22003,11 @@ sp->m_parser_data.do_backpatch(pctx->pop_label(), sp->instructions()); } -#line 21967 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22007 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 380: -#line 4153 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4193 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$2*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -21978,11 +22018,11 @@ sp->reset_lex(thd); /* For CASE-expr $3 */ sp->m_parser_data.push_expr_start_ptr((yylsp[0]).raw.end); } -#line 21982 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22022 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 381: -#line 4164 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4204 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -22025,35 +22065,35 @@ MYSQL_YYABORT; } } -#line 22029 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22069 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 382: -#line 4210 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4250 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$9*/ case_stmt_action_end_case(Lex, true); } -#line 22037 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22077 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 383: -#line 4217 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4257 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { case_stmt_action_case(YYTHD); } -#line 22045 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22085 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 384: -#line 4224 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4264 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { case_stmt_action_end_case(Lex, false); } -#line 22053 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22093 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 389: -#line 4241 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4281 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$2*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -22062,11 +22102,11 @@ sp->reset_lex(thd); sp->m_parser_data.push_expr_start_ptr((yylsp[0]).raw.end); } -#line 22066 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22106 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 390: -#line 4250 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4290 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ /* Simple case: = */ @@ -22108,20 +22148,20 @@ MYSQL_YYABORT; } } -#line 22112 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22152 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 391: -#line 4293 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4333 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$7*/ if (case_stmt_action_then(YYTHD, Lex)) MYSQL_YYABORT; } -#line 22121 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22161 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 392: -#line 4301 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4341 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$2*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -22130,11 +22170,11 @@ sp->reset_lex(thd); sp->m_parser_data.push_expr_start_ptr((yylsp[0]).raw.end); } -#line 22134 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22174 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 393: -#line 4310 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4350 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -22171,20 +22211,20 @@ MYSQL_YYABORT; } } -#line 22175 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22215 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 394: -#line 4348 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4388 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$8*/ if (case_stmt_action_then(YYTHD, Lex)) MYSQL_YYABORT; } -#line 22184 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22224 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 395: -#line 4356 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4396 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -22198,11 +22238,11 @@ if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } -#line 22202 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22242 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 397: -#line 4374 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4414 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -22220,11 +22260,11 @@ lab->type= sp_label::ITERATION; } } -#line 22224 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22264 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 398: -#line 4392 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4432 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -22241,23 +22281,23 @@ } sp->m_parser_data.do_backpatch(lab, sp->instructions()); } -#line 22245 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22285 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 399: -#line 4411 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4451 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= null_lex_str; } -#line 22251 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22291 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 400: -#line 4412 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4452 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= (yyvsp[0].lex_str); } -#line 22257 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22297 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 401: -#line 4417 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4457 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -22273,11 +22313,11 @@ lab= pctx->push_label(YYTHD, (yyvsp[-1].lex_str), sp->instructions()); lab->type= sp_label::BEGIN; } -#line 22277 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22317 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 402: -#line 4433 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4473 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; sp_pcontext *pctx= lex->get_sp_current_parsing_ctx(); @@ -22292,11 +22332,11 @@ } } } -#line 22296 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22336 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 403: -#line 4450 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4490 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* Unlabeled blocks get a secret label. */ LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -22307,20 +22347,20 @@ lab->type= sp_label::BEGIN; } -#line 22311 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22351 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 404: -#line 4461 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4501 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->get_sp_current_parsing_ctx()->pop_label(); } -#line 22320 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22360 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 405: -#line 4469 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4509 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* QQ This is just a dummy for grouping declarations and statements together. No [[NOT] ATOMIC] yet, and we need to figure out how make it coexist with the existing BEGIN COMMIT/ROLLBACK. */ @@ -22333,11 +22373,11 @@ lex->set_sp_current_parsing_ctx(child_pctx); } -#line 22337 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22377 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 406: -#line 4484 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4524 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -22369,11 +22409,11 @@ lex->set_sp_current_parsing_ctx(pctx->pop_context()); } -#line 22373 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22413 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 407: -#line 4520 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4560 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -22388,11 +22428,11 @@ if (!i || sp->add_instr(thd, i)) MYSQL_YYABORT; } -#line 22392 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22432 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 408: -#line 4535 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4575 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$2*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -22401,11 +22441,11 @@ sp->reset_lex(thd); sp->m_parser_data.push_expr_start_ptr((yylsp[0]).raw.end); } -#line 22405 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22445 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 409: -#line 4544 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4584 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -22443,11 +22483,11 @@ MYSQL_YYABORT; } } -#line 22447 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22487 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 410: -#line 4585 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4625 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$14*/ THD *thd= YYTHD; LEX *lex= Lex; @@ -22463,11 +22503,11 @@ sp->m_parser_data.do_cont_backpatch(sp->instructions()); } -#line 22467 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22507 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 411: -#line 4603 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4643 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$4*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -22476,11 +22516,11 @@ sp->reset_lex(thd); sp->m_parser_data.push_expr_start_ptr((yylsp[0]).raw.end); } -#line 22480 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22520 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 412: -#line 4612 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4652 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$6*/ ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -22519,105 +22559,105 @@ /* We can shortcut the cont_backpatch here */ i->set_cont_dest(ip + 1); } -#line 22523 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22563 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 414: -#line 4656 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4696 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TRG_ACTION_BEFORE; } -#line 22529 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22569 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 415: -#line 4658 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4698 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TRG_ACTION_AFTER; } -#line 22535 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22575 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 416: -#line 4663 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4703 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TRG_EVENT_INSERT; } -#line 22541 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22581 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 417: -#line 4665 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4705 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TRG_EVENT_UPDATE; } -#line 22547 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22587 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 418: -#line 4667 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4707 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TRG_EVENT_DELETE; } -#line 22553 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22593 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 422: -#line 4701 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4741 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 22559 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22599 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 423: -#line 4703 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4743 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].lex_str).str; } -#line 22568 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22608 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 424: -#line 4713 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4753 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_ADD_FILE; } -#line 22576 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22616 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 425: -#line 4719 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4759 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_DROP_FILE; } -#line 22584 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22624 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 430: -#line 4742 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4782 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 22590 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22630 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 482: -#line 4841 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4881 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->data_file_name= (yyvsp[0].lex_str).str; } -#line 22599 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22639 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 483: -#line 4849 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4889 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->undo_file_name= (yyvsp[0].lex_str).str; } -#line 22608 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22648 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 484: -#line 4857 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4897 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->redo_file_name= (yyvsp[0].lex_str).str; } -#line 22617 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22657 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 485: -#line 4865 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4905 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info= new st_alter_tablespace(); @@ -22626,11 +22666,11 @@ lex->alter_tablespace_info->tablespace_name= (yyvsp[0].lex_str).str; lex->sql_command= SQLCOM_ALTER_TABLESPACE; } -#line 22630 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22670 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 486: -#line 4877 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4917 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info= new st_alter_tablespace(); @@ -22639,92 +22679,92 @@ lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].lex_str).str; lex->sql_command= SQLCOM_ALTER_TABLESPACE; } -#line 22643 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22683 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 487: -#line 4889 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4929 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_READ_ONLY; } -#line 22652 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22692 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 488: -#line 4894 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4934 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_READ_WRITE; } -#line 22661 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22701 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 489: -#line 4899 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4939 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_NOT_ACCESSIBLE; } -#line 22670 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22710 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 490: -#line 4907 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4947 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->initial_size= (yyvsp[0].ulonglong_number); } -#line 22679 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22719 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 491: -#line 4915 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4955 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->autoextend_size= (yyvsp[0].ulonglong_number); } -#line 22688 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22728 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 492: -#line 4923 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4963 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->max_size= (yyvsp[0].ulonglong_number); } -#line 22697 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22737 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 493: -#line 4931 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4971 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->extent_size= (yyvsp[0].ulonglong_number); } -#line 22706 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22746 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 494: -#line 4939 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4979 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->undo_buffer_size= (yyvsp[0].ulonglong_number); } -#line 22715 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22755 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 495: -#line 4947 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4987 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->redo_buffer_size= (yyvsp[0].ulonglong_number); } -#line 22724 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22764 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 496: -#line 4955 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 4995 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->alter_tablespace_info->nodegroup_id != UNDEF_NODEGROUP) @@ -22734,11 +22774,11 @@ } lex->alter_tablespace_info->nodegroup_id= (yyvsp[0].ulong_num); } -#line 22738 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22778 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 497: -#line 4968 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5008 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->alter_tablespace_info->ts_comment != NULL) @@ -22748,11 +22788,11 @@ } lex->alter_tablespace_info->ts_comment= (yyvsp[0].lex_str).str; } -#line 22752 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22792 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 498: -#line 4981 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5021 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->alter_tablespace_info->storage_engine != NULL) @@ -22763,11 +22803,11 @@ } lex->alter_tablespace_info->storage_engine= (yyvsp[0].db_type); } -#line 22767 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22807 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 499: -#line 4995 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5035 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->alter_tablespace_info->file_block_size != 0) @@ -22778,20 +22818,20 @@ } lex->alter_tablespace_info->file_block_size= (yyvsp[0].ulonglong_number); } -#line 22782 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22822 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 500: -#line 5009 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5049 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->wait_until_completed= TRUE; } -#line 22791 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22831 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 501: -#line 5014 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5054 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (!(lex->alter_tablespace_info->wait_until_completed)) @@ -22801,17 +22841,17 @@ } lex->alter_tablespace_info->wait_until_completed= FALSE; } -#line 22805 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22845 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 502: -#line 5026 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5066 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= (yyvsp[0].ulonglong_number);} -#line 22811 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22851 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 503: -#line 5028 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5068 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ulonglong number; uint text_shift_number= 0; @@ -22857,23 +22897,23 @@ } (yyval.ulonglong_number)= number; } -#line 22861 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22901 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 504: -#line 5080 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5120 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 22867 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22907 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 505: -#line 5083 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5123 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 22873 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22913 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 506: -#line 5085 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5125 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; TABLE_LIST *src_table; @@ -22888,11 +22928,11 @@ /* CREATE TABLE ... LIKE is not allowed for views. */ src_table->required_type= FRMTYPE_TABLE; } -#line 22892 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22932 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 507: -#line 5100 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5140 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; TABLE_LIST *src_table; @@ -22907,77 +22947,77 @@ /* CREATE TABLE ... LIKE is not allowed for views. */ src_table->required_type= FRMTYPE_TABLE; } -#line 22911 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22951 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 508: -#line 5119 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5159 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 22917 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22957 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 509: -#line 5122 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5162 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { CONTEXTUALIZE((yyvsp[-1].create_select)); Select->set_braces(1); } -#line 22926 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22966 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 510: -#line 5127 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5167 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].node) != NULL) CONTEXTUALIZE((yyvsp[0].node)); } -#line 22935 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22975 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 511: -#line 5134 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5174 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 22941 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22981 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 512: -#line 5136 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5176 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { CONTEXTUALIZE((yyvsp[0].create_select)); Select->set_braces(0); } -#line 22950 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22990 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 513: -#line 5141 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5181 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].union_list) != NULL) CONTEXTUALIZE((yyvsp[0].union_list)); } -#line 22959 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 22999 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 514: -#line 5146 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5186 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { CONTEXTUALIZE((yyvsp[-1].create_select)); Select->set_braces(1); } -#line 22968 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23008 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 515: -#line 5151 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5191 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].node) != NULL) CONTEXTUALIZE((yyvsp[0].node)); } -#line 22977 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23017 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 516: -#line 5159 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5199 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* Remove all tables used in PARTITION clause from the global table @@ -22987,17 +23027,17 @@ last_non_sel_table->next_global= 0; Lex->query_tables_last= &last_non_sel_table->next_global; } -#line 22991 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23031 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 517: -#line 5195 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5235 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 22997 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23037 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 519: -#line 5201 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5241 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->part_info= new partition_info(); @@ -23011,11 +23051,11 @@ lex->alter_info.flags|= Alter_info::ALTER_PARTITION; } } -#line 23015 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23055 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 521: -#line 5219 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5259 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (!lex->part_info) @@ -23028,82 +23068,82 @@ partition info string into part_info data structure. */ } -#line 23032 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23072 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 522: -#line 5231 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5271 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23038 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23078 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 524: -#line 5240 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5280 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; part_info->list_of_part_fields= TRUE; part_info->column_list= FALSE; part_info->part_type= HASH_PARTITION; } -#line 23049 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23089 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 525: -#line 5247 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5287 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->part_type= HASH_PARTITION; } -#line 23055 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23095 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 526: -#line 5248 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5288 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23061 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23101 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 527: -#line 5250 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5290 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->part_type= RANGE_PARTITION; } -#line 23067 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23107 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 528: -#line 5252 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5292 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->part_type= RANGE_PARTITION; } -#line 23073 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23113 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 529: -#line 5254 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5294 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->part_type= LIST_PARTITION; } -#line 23079 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23119 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 530: -#line 5256 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5296 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->part_type= LIST_PARTITION; } -#line 23085 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23125 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 531: -#line 5260 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5300 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23091 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23131 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 532: -#line 5262 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5302 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->linear_hash_ind= TRUE;} -#line 23097 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23137 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 533: -#line 5267 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5307 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;} -#line 23103 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23143 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 534: -#line 5269 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5309 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { switch ((yyvsp[0].ulong_num)) { case 1: @@ -23117,35 +23157,35 @@ MYSQL_YYABORT; } } -#line 23121 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23161 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 535: -#line 5285 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5325 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23127 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23167 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 536: -#line 5286 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5326 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23133 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23173 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 537: -#line 5290 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5330 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23139 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23179 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 538: -#line 5291 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5331 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23145 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23185 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 539: -#line 5296 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5336 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; part_info->num_columns++; @@ -23161,21 +23201,21 @@ MYSQL_YYABORT; } } -#line 23165 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23205 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 540: -#line 5315 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5355 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; part_info->column_list= TRUE; part_info->list_of_part_fields= TRUE; } -#line 23175 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23215 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 541: -#line 5325 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5365 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; /* @@ -23188,11 +23228,11 @@ part_info->num_columns= 1; part_info->column_list= FALSE; } -#line 23192 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23232 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 542: -#line 5341 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5381 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* TODO: replace @1.cpp.end with @2.cpp.start: we don't need whitespaces at @@ -23202,17 +23242,17 @@ const_cast((yylsp[-1]).cpp.end), TRUE)) { MYSQL_YYABORT; } } -#line 23206 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23246 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 543: -#line 5354 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5394 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23212 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23252 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 544: -#line 5356 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5396 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { uint num_parts= (yyvsp[0].ulong_num); partition_info *part_info= Lex->part_info; @@ -23225,57 +23265,57 @@ part_info->num_parts= num_parts; part_info->use_default_num_partitions= FALSE; } -#line 23229 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23269 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 545: -#line 5371 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5411 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23235 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23275 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 546: -#line 5373 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5413 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->subpart_type= HASH_PARTITION; } -#line 23241 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23281 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 547: -#line 5374 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5414 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23247 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23287 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 548: -#line 5377 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5417 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; part_info->subpart_type= HASH_PARTITION; part_info->list_of_subpart_fields= TRUE; } -#line 23257 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23297 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 549: -#line 5382 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5422 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23263 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23303 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 550: -#line 5386 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5426 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23269 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23309 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 551: -#line 5387 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5427 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23275 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23315 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 552: -#line 5392 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5432 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; if (part_info->subpart_field_list.push_back((yyvsp[0].lex_str).str)) @@ -23290,11 +23330,11 @@ MYSQL_YYABORT; } } -#line 23294 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23334 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 553: -#line 5410 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5450 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -23309,17 +23349,17 @@ } (yyval.item)=(yyvsp[0].item); } -#line 23313 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23353 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 554: -#line 5427 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5467 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23319 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23359 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 555: -#line 5429 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5469 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { uint num_parts= (yyvsp[0].ulong_num); LEX *lex= Lex; @@ -23331,11 +23371,11 @@ lex->part_info->num_subparts= num_parts; lex->part_info->use_default_num_subpartitions= FALSE; } -#line 23335 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23375 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 556: -#line 5444 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5484 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; if (part_info->part_type == RANGE_PARTITION) @@ -23351,11 +23391,11 @@ MYSQL_YYABORT; } } -#line 23355 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23395 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 557: -#line 5460 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5500 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; uint count_curr_parts= part_info->partitions.elements; @@ -23374,23 +23414,23 @@ } part_info->count_curr_subparts= 0; } -#line 23378 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23418 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 558: -#line 5481 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5521 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23384 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23424 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 559: -#line 5482 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5522 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23390 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23430 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 560: -#line 5487 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5527 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; partition_element *p_elem= new partition_element(); @@ -23406,17 +23446,17 @@ part_info->use_default_partitions= FALSE; part_info->use_default_num_partitions= FALSE; } -#line 23410 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23450 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 561: -#line 5506 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5546 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23416 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23456 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 562: -#line 5511 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5551 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; partition_element *p_elem= part_info->curr_part_elem; @@ -23428,11 +23468,11 @@ } p_elem->partition_name= (yyvsp[0].lex_str).str; } -#line 23432 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23472 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 563: -#line 5526 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5566 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; partition_info *part_info= lex->part_info; @@ -23451,11 +23491,11 @@ MYSQL_YYABORT; } } -#line 23455 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23495 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 564: -#line 5545 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5585 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; partition_info *part_info= lex->part_info; @@ -23468,17 +23508,17 @@ MYSQL_YYABORT; } } -#line 23472 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23512 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 565: -#line 5557 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5597 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23478 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23518 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 566: -#line 5559 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5599 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; partition_info *part_info= lex->part_info; @@ -23491,17 +23531,17 @@ MYSQL_YYABORT; } } -#line 23495 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23535 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 567: -#line 5571 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5611 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23501 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23541 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 568: -#line 5576 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5616 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; @@ -23523,17 +23563,17 @@ MYSQL_YYABORT; } } -#line 23527 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23567 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 569: -#line 5597 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5637 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23533 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23573 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 570: -#line 5602 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5642 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; partition_info *part_info= lex->part_info; @@ -23562,11 +23602,11 @@ } } } -#line 23566 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23606 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 571: -#line 5631 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5671 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; if (part_info->num_columns < 2U) @@ -23575,23 +23615,23 @@ MYSQL_YYABORT; } } -#line 23579 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23619 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 572: -#line 5642 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5682 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23585 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23625 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 573: -#line 5643 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5683 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23591 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23631 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 574: -#line 5648 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5688 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; part_info->print_debug("( part_value_item", NULL); @@ -23603,17 +23643,17 @@ MYSQL_YYABORT; } } -#line 23607 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23647 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 575: -#line 5659 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5699 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23613 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23653 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 576: -#line 5661 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5701 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; part_info->print_debug(") part_value_item", NULL); @@ -23634,23 +23674,23 @@ } part_info->curr_list_object= 0; } -#line 23638 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23678 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 577: -#line 5684 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5724 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23644 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23684 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 578: -#line 5685 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5725 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23650 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23690 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 579: -#line 5690 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5730 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; if (part_info->part_type == LIST_PARTITION) @@ -23663,11 +23703,11 @@ MYSQL_YYABORT; } } -#line 23667 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23707 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 580: -#line 5703 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5743 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -23685,11 +23725,11 @@ MYSQL_YYABORT; } } -#line 23689 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23729 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 581: -#line 5725 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5765 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; if (part_info->num_subparts != 0 && @@ -23703,11 +23743,11 @@ MYSQL_YYABORT; } } -#line 23707 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23747 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 582: -#line 5739 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5779 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; if (part_info->num_subparts != 0) @@ -23730,23 +23770,23 @@ } part_info->count_curr_subparts= 0; } -#line 23734 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23774 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 583: -#line 5764 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5804 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23740 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23780 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 584: -#line 5765 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5805 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23746 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23786 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 585: -#line 5770 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5810 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; partition_element *curr_part= part_info->current_partition; @@ -23779,17 +23819,17 @@ part_info->use_default_num_subpartitions= FALSE; part_info->count_curr_subparts++; } -#line 23783 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23823 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 586: -#line 5802 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5842 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23789 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23829 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 587: -#line 5807 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5847 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (check_string_char_length(to_lex_cstring((yyvsp[0].lex_str)), "", NAME_CHAR_LEN, system_charset_info, true)) @@ -23799,266 +23839,266 @@ } Lex->part_info->curr_part_elem->partition_name= (yyvsp[0].lex_str).str; } -#line 23803 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23843 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 588: -#line 5819 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5859 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23809 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23849 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 589: -#line 5820 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5860 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23815 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23855 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 590: -#line 5824 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5864 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23821 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23861 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 591: -#line 5825 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5865 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23827 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23867 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 592: -#line 5830 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5870 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->curr_part_elem->tablespace_name= (yyvsp[0].lex_str).str; } -#line 23833 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23873 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 593: -#line 5832 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5872 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; part_info->curr_part_elem->engine_type= (yyvsp[0].db_type); part_info->default_engine_type= (yyvsp[0].db_type); } -#line 23843 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23883 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 594: -#line 5838 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5878 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->curr_part_elem->nodegroup_id= (uint16) (yyvsp[0].ulong_num); } -#line 23849 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23889 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 595: -#line 5840 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5880 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->curr_part_elem->part_max_rows= (ha_rows) (yyvsp[0].ulonglong_number); } -#line 23855 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23895 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 596: -#line 5842 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5882 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->curr_part_elem->part_min_rows= (ha_rows) (yyvsp[0].ulonglong_number); } -#line 23861 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23901 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 597: -#line 5844 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5884 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->curr_part_elem->data_file_name= (yyvsp[0].lex_str).str; } -#line 23867 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23907 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 598: -#line 5846 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5886 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->curr_part_elem->index_file_name= (yyvsp[0].lex_str).str; } -#line 23873 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23913 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 599: -#line 5848 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5888 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->curr_part_elem->part_comment= (yyvsp[0].lex_str).str; } -#line 23879 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23919 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 600: -#line 5857 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5897 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.create_select)= NEW_PTN PT_create_select((yyvsp[-3].optimizer_hints), (yyvsp[-2].select_options), (yyvsp[-1].item_list2), (yyvsp[0].table_expression)); } -#line 23887 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23927 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 601: -#line 5863 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5903 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23893 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23933 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 602: -#line 5864 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5904 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23899 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23939 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 603: -#line 5868 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5908 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23905 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23945 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 604: -#line 5869 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5909 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23911 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23951 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 605: -#line 5873 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5913 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23917 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23957 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 606: -#line 5874 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5914 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23923 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23963 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 607: -#line 5878 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5918 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23929 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23969 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 608: -#line 5879 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5919 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 23935 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23975 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 609: -#line 5883 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5923 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 23941 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23981 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 610: -#line 5884 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5924 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[0].num);} -#line 23947 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23987 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 611: -#line 5888 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5928 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=(yyvsp[0].num); } -#line 23953 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23993 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 612: -#line 5889 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5929 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); } -#line 23959 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 23999 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 613: -#line 5893 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5933 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=HA_LEX_CREATE_TMP_TABLE; } -#line 23965 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24005 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 614: -#line 5897 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5937 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 23971 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24011 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 615: -#line 5898 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5938 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=HA_LEX_CREATE_IF_NOT_EXISTS; } -#line 23977 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24017 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 623: -#line 5919 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5959 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.db_type= (yyvsp[0].db_type); Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE; } -#line 23986 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24026 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 624: -#line 5924 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5964 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.max_rows= (yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS; } -#line 23995 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24035 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 625: -#line 5929 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5969 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.min_rows= (yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS; } -#line 24004 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24044 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 626: -#line 5934 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5974 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.avg_row_length=(yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH; } -#line 24013 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24053 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 627: -#line 5939 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5979 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.password=(yyvsp[0].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_PASSWORD; } -#line 24022 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24062 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 628: -#line 5944 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5984 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.comment=(yyvsp[0].lex_str); Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT; } -#line 24031 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24071 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 629: -#line 5949 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5989 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.used_fields|= HA_CREATE_USED_COMPRESS; Lex->create_info.compress= (yyvsp[0].lex_str); } -#line 24040 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24080 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 630: -#line 5954 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5994 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.used_fields|= HA_CREATE_USED_ENCRYPT; Lex->create_info.encrypt_type= (yyvsp[0].lex_str); } -#line 24049 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24089 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 631: -#line 5959 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 5999 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.auto_increment_value=(yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_AUTO; } -#line 24058 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24098 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 632: -#line 5964 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6004 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { switch((yyvsp[0].ulong_num)) { case 0: @@ -24073,21 +24113,21 @@ } Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS; } -#line 24077 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24117 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 633: -#line 5979 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6019 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.table_options&= ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS); Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS; } -#line 24087 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24127 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 634: -#line 5985 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6025 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { switch((yyvsp[0].ulong_num)) { case 0: @@ -24102,20 +24142,20 @@ } Lex->create_info.used_fields|= HA_CREATE_USED_STATS_AUTO_RECALC; } -#line 24106 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24146 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 635: -#line 6000 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6040 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.stats_auto_recalc= HA_STATS_AUTO_RECALC_DEFAULT; Lex->create_info.used_fields|= HA_CREATE_USED_STATS_AUTO_RECALC; } -#line 24115 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24155 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 636: -#line 6005 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6045 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { switch((yyvsp[0].ulong_num)) { case 0: @@ -24130,21 +24170,21 @@ } Lex->create_info.used_fields|= HA_CREATE_USED_STATS_PERSISTENT; } -#line 24134 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24174 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 637: -#line 6020 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6060 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.table_options&= ~(HA_OPTION_STATS_PERSISTENT | HA_OPTION_NO_STATS_PERSISTENT); Lex->create_info.used_fields|= HA_CREATE_USED_STATS_PERSISTENT; } -#line 24144 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24184 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 638: -#line 6026 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6066 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* From user point of view STATS_SAMPLE_PAGES can be specified as STATS_SAMPLE_PAGES=N (where 0create_info.stats_sample_pages=(yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_STATS_SAMPLE_PAGES; } -#line 24166 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24206 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 639: -#line 6044 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6084 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.stats_sample_pages=0; Lex->create_info.used_fields|= HA_CREATE_USED_STATS_SAMPLE_PAGES; } -#line 24175 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24215 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 640: -#line 6049 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6089 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM; } -#line 24184 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24224 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 641: -#line 6054 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6094 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM; } -#line 24193 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24233 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 642: -#line 6059 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6099 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE; Lex->create_info.used_fields|= HA_CREATE_USED_DELAY_KEY_WRITE; } -#line 24202 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24242 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 643: -#line 6064 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6104 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.row_type= (yyvsp[0].row_type); Lex->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT; } -#line 24211 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24251 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 644: -#line 6069 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6109 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->select_lex->table_list.save_and_clear(&Lex->save_list); } -#line 24219 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24259 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 645: -#line 6073 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6113 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* Move the union list to the merge_list and exclude its tables @@ -24234,85 +24274,85 @@ table being created/altered and parent tables. */ TABLE_LIST *last_non_sel_table= lex->create_last_non_select_table; - DBUG_ASSERT(last_non_sel_table->next_global == - lex->create_info.merge_list.first); + assert(last_non_sel_table->next_global == + lex->create_info.merge_list.first); last_non_sel_table->next_global= 0; Lex->query_tables_last= &last_non_sel_table->next_global; lex->create_info.used_fields|= HA_CREATE_USED_UNION; } -#line 24245 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24285 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 648: -#line 6097 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6137 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.merge_insert_method= (yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD; } -#line 24254 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24294 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 649: -#line 6102 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6142 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.data_file_name= (yyvsp[0].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_DATADIR; } -#line 24263 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24303 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 650: -#line 6107 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6147 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.index_file_name= (yyvsp[0].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_INDEXDIR; } -#line 24272 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24312 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 651: -#line 6112 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6152 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.tablespace= (yyvsp[0].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_TABLESPACE; } -#line 24281 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24321 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 652: -#line 6117 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6157 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {Lex->create_info.storage_media= HA_SM_DISK;} -#line 24287 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24327 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 653: -#line 6119 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6159 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {Lex->create_info.storage_media= HA_SM_MEMORY;} -#line 24293 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24333 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 654: -#line 6121 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6161 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.connect_string.str= (yyvsp[0].lex_str).str; Lex->create_info.connect_string.length= (yyvsp[0].lex_str).length; Lex->create_info.used_fields|= HA_CREATE_USED_CONNECTION; } -#line 24303 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24343 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 655: -#line 6127 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6167 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE; Lex->create_info.key_block_size= (yyvsp[0].ulong_num); } -#line 24312 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24352 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 656: -#line 6135 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6175 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { HA_CREATE_INFO *cinfo= &Lex->create_info; if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) && @@ -24327,11 +24367,11 @@ Lex->create_info.default_table_charset= (yyvsp[0].charset); Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET; } -#line 24331 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24371 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 657: -#line 6153 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6193 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { HA_CREATE_INFO *cinfo= &Lex->create_info; if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) && @@ -24345,11 +24385,11 @@ Lex->create_info.default_table_charset= (yyvsp[0].charset); Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET; } -#line 24349 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24389 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 658: -#line 6170 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6210 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; plugin_ref plugin= @@ -24372,11 +24412,11 @@ (yyvsp[0].lex_str).str); } } -#line 24376 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24416 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 659: -#line 6196 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6236 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -24391,141 +24431,141 @@ MYSQL_YYABORT; } } -#line 24395 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24435 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 660: -#line 6213 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6253 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_DEFAULT; } -#line 24401 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24441 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 661: -#line 6214 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6254 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_FIXED; } -#line 24407 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24447 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 662: -#line 6215 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6255 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_DYNAMIC; } -#line 24413 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24453 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 663: -#line 6216 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6256 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_COMPRESSED; } -#line 24419 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24459 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 664: -#line 6217 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6257 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_REDUNDANT; } -#line 24425 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24465 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 665: -#line 6218 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6258 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.row_type)= ROW_TYPE_COMPACT; } -#line 24431 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24471 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 666: -#line 6222 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6262 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= MERGE_INSERT_DISABLED; } -#line 24437 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24477 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 667: -#line 6223 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6263 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; } -#line 24443 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24483 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 668: -#line 6224 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6264 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; } -#line 24449 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24489 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 669: -#line 6228 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6268 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {(yyval.num) = (int) STRING_RESULT; } -#line 24455 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24495 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 670: -#line 6229 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6269 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {(yyval.num) = (int) REAL_RESULT; } -#line 24461 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24501 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 671: -#line 6230 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6270 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {(yyval.num) = (int) DECIMAL_RESULT; } -#line 24467 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24507 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 672: -#line 6231 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6271 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {(yyval.num) = (int) INT_RESULT; } -#line 24473 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24513 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 673: -#line 6237 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6277 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_last_non_select_table= Lex->last_table(); } -#line 24481 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24521 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 679: -#line 6255 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6295 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->col_list.empty(); /* Alloced by sql_alloc */ } -#line 24489 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24529 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 680: -#line 6262 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6302 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (add_create_index (Lex, (yyvsp[-6].key_type), (yyvsp[-5].lex_str))) MYSQL_YYABORT; } -#line 24498 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24538 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 681: -#line 6268 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6308 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (add_create_index (Lex, (yyvsp[-7].key_type), (yyvsp[-5].lex_str))) MYSQL_YYABORT; } -#line 24507 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24547 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 682: -#line 6274 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6314 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (add_create_index (Lex, (yyvsp[-7].key_type), (yyvsp[-5].lex_str))) MYSQL_YYABORT; } -#line 24516 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24556 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 683: -#line 6280 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6320 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (add_create_index (Lex, (yyvsp[-6].key_type), (yyvsp[-5].lex_str).str ? (yyvsp[-5].lex_str) : (yyvsp[-7].lex_str))) MYSQL_YYABORT; } -#line 24525 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24565 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 684: -#line 6285 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6325 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; Key *key= new Foreign_key((yyvsp[-4].lex_str).str ? (yyvsp[-4].lex_str) : (yyvsp[-7].lex_str), lex->col_list, @@ -24544,45 +24584,45 @@ /* Only used for ALTER TABLE. Ignored otherwise. */ lex->alter_info.flags|= Alter_info::ADD_FOREIGN_KEY; } -#line 24548 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24588 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 685: -#line 6304 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6344 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->col_list.empty(); /* Alloced by sql_alloc */ } -#line 24556 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24596 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 688: -#line 6316 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6356 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[-1].item), &(yyvsp[-1].item)); } -#line 24564 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24604 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 689: -#line 6323 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6363 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= null_lex_str; } -#line 24570 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24610 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 690: -#line 6324 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6364 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= (yyvsp[0].lex_str); } -#line 24576 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24616 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 691: -#line 6328 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6368 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str); } -#line 24582 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24622 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 692: -#line 6333 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6373 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->length=lex->dec=0; @@ -24592,11 +24632,11 @@ lex->charset=NULL; lex->gcol_info= 0; } -#line 24596 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24636 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 693: -#line 6343 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6383 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (add_field_to_list(lex->thd, &(yyvsp[-2].lex_str), (enum enum_field_types) (yyvsp[0].num), @@ -24608,17 +24648,17 @@ lex->gcol_info)) MYSQL_YYABORT; } -#line 24612 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24652 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 694: -#line 6357 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6397 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 24618 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24658 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 695: -#line 6361 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6401 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-8].num); if (Lex->charset) @@ -24631,61 +24671,61 @@ Lex->charset= (yyvsp[-7].charset); Lex->gcol_info->set_field_type((enum enum_field_types) (yyval.num)); } -#line 24635 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24675 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 702: -#line 6392 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6432 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->type|= UNIQUE_FLAG; lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX; } -#line 24645 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24685 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 703: -#line 6398 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6438 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->type|= UNIQUE_KEY_FLAG; lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX; } -#line 24655 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24695 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 704: -#line 6403 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6443 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->comment= (yyvsp[0].lex_str); } -#line 24661 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24701 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 705: -#line 6404 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6444 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= NOT_NULL_FLAG; } -#line 24667 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24707 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 707: -#line 6407 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6447 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG; lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX; } -#line 24677 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24717 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 710: -#line 6418 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6458 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->gcol_info->set_field_stored(TRUE); } -#line 24685 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24725 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 711: -#line 6425 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6465 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* "PARSE_GCOL_EXPR" can only be used by the SQL server @@ -24698,11 +24738,11 @@ MYSQL_YYABORT; } } -#line 24702 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24742 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 712: -#line 6441 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6481 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->gcol_info= new Generated_column(); if (!Lex->gcol_info) @@ -24728,172 +24768,172 @@ This would also get rid of some setters like set_field_stored(); */ } -#line 24732 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24772 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 713: -#line 6470 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6510 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].c_str)); (yyval.num)=(yyvsp[-2].num); } -#line 24741 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24781 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 714: -#line 6475 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6515 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=(yyvsp[-2].num); Lex->length= const_cast((yyvsp[-1].precision).length); Lex->dec= const_cast((yyvsp[-1].precision).dec); } -#line 24751 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24791 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 715: -#line 6481 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6521 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].precision).length); Lex->dec= const_cast((yyvsp[-1].precision).dec); (yyval.num)=MYSQL_TYPE_FLOAT; } -#line 24761 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24801 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 716: -#line 6487 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6527 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_BIT; } -#line 24770 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24810 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 717: -#line 6492 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6532 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[0].c_str)); (yyval.num)=MYSQL_TYPE_BIT; } -#line 24779 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24819 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 718: -#line 6497 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6537 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_TINY; } -#line 24788 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24828 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 719: -#line 6502 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6542 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_TINY; } -#line 24797 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24837 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 720: -#line 6507 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6547 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].c_str)); Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)=MYSQL_TYPE_STRING; } -#line 24808 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24848 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 721: -#line 6514 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6554 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= (char*) "1"; Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)=MYSQL_TYPE_STRING; } -#line 24819 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24859 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 722: -#line 6521 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6561 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].c_str)); Lex->type|= (yyvsp[0].ulong_num); (yyval.num)=MYSQL_TYPE_STRING; Lex->charset=national_charset_info; } -#line 24830 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24870 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 723: -#line 6528 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6568 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= (char*) "1"; Lex->type|= (yyvsp[0].ulong_num); (yyval.num)=MYSQL_TYPE_STRING; Lex->charset=national_charset_info; } -#line 24841 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24881 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 724: -#line 6535 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6575 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[0].c_str)); Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_STRING; } -#line 24851 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24891 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 725: -#line 6541 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6581 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= (char*) "1"; Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_STRING; } -#line 24861 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24901 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 726: -#line 6547 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6587 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].c_str)); Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)= MYSQL_TYPE_VARCHAR; } -#line 24872 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24912 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 727: -#line 6554 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6594 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].c_str)); Lex->type|= (yyvsp[0].ulong_num); (yyval.num)= MYSQL_TYPE_VARCHAR; Lex->charset=national_charset_info; } -#line 24883 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24923 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 728: -#line 6561 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6601 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[0].c_str)); Lex->charset=&my_charset_bin; (yyval.num)= MYSQL_TYPE_VARCHAR; } -#line 24893 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24933 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 729: -#line 6567 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6607 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].c_str)); if (Lex->length) @@ -24909,26 +24949,26 @@ } (yyval.num)=MYSQL_TYPE_YEAR; } -#line 24913 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24953 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 730: -#line 6583 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6623 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=MYSQL_TYPE_DATE; } -#line 24919 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24959 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 731: -#line 6585 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6625 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->dec= const_cast((yyvsp[0].c_str)); (yyval.num)= MYSQL_TYPE_TIME2; } -#line 24928 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 24968 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 732: -#line 6590 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6630 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->dec= const_cast((yyvsp[0].c_str)); if (YYTHD->variables.sql_mode & MODE_MAXDB) @@ -24957,561 +24997,561 @@ (yyval.num)=MYSQL_TYPE_TIMESTAMP2; } } -#line 24961 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25001 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 733: -#line 6619 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6659 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->dec= const_cast((yyvsp[0].c_str)); (yyval.num)= MYSQL_TYPE_DATETIME2; } -#line 24970 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25010 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 734: -#line 6624 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6664 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_TINY_BLOB; } -#line 24979 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25019 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 735: -#line 6629 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6669 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[0].c_str)); Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_BLOB; } -#line 24989 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25029 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 736: -#line 6635 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6675 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset=&my_charset_bin; Lex->uint_geom_type= (uint)(yyvsp[0].num); (yyval.num)=MYSQL_TYPE_GEOMETRY; } -#line 24999 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25039 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 737: -#line 6641 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6681 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } -#line 25008 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25048 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 738: -#line 6646 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6686 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_LONG_BLOB; } -#line 25017 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25057 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 739: -#line 6651 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6691 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } -#line 25026 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25066 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 740: -#line 6656 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6696 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } -#line 25036 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25076 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 741: -#line 6662 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6702 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)=MYSQL_TYPE_TINY_BLOB; } -#line 25046 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25086 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 742: -#line 6668 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6708 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].c_str)); Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)=MYSQL_TYPE_BLOB; } -#line 25057 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25097 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 743: -#line 6675 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6715 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } -#line 25067 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25107 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 744: -#line 6681 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6721 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)=MYSQL_TYPE_LONG_BLOB; } -#line 25077 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25117 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 745: -#line 6687 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6727 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].precision).length); Lex->dec= const_cast((yyvsp[-1].precision).dec); (yyval.num)=MYSQL_TYPE_NEWDECIMAL; } -#line 25087 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25127 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 746: -#line 6693 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6733 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].precision).length); Lex->dec= const_cast((yyvsp[-1].precision).dec); (yyval.num)=MYSQL_TYPE_NEWDECIMAL; } -#line 25097 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25137 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 747: -#line 6699 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6739 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast((yyvsp[-1].precision).length); Lex->dec= const_cast((yyvsp[-1].precision).dec); (yyval.num)=MYSQL_TYPE_NEWDECIMAL; } -#line 25107 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25147 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 748: -#line 6705 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6745 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {Lex->interval_list.empty();} -#line 25113 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25153 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 749: -#line 6707 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6747 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)=MYSQL_TYPE_ENUM; } -#line 25123 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25163 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 750: -#line 6713 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6753 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->interval_list.empty();} -#line 25129 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25169 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 751: -#line 6715 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6755 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)=MYSQL_TYPE_SET; } -#line 25139 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25179 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 752: -#line 6721 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6761 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset= (yyvsp[0].charset_with_flags).charset; Lex->type|= (yyvsp[0].charset_with_flags).type_flags; (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } -#line 25149 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25189 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 753: -#line 6727 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6767 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=MYSQL_TYPE_LONGLONG; Lex->type|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG | UNIQUE_FLAG); } -#line 25159 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25199 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 754: -#line 6733 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6773 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_JSON; } -#line 25168 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25208 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 755: -#line 6740 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6780 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= Field::GEOM_GEOMETRY; } -#line 25174 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25214 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 756: -#line 6741 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6781 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= Field::GEOM_GEOMETRYCOLLECTION; } -#line 25180 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25220 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 757: -#line 6743 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6783 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->length= const_cast(STRINGIFY_ARG (MAX_LEN_GEOM_POINT_FIELD)); (yyval.num)= Field::GEOM_POINT; } -#line 25190 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25230 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 758: -#line 6748 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6788 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= Field::GEOM_MULTIPOINT; } -#line 25196 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25236 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 759: -#line 6749 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6789 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= Field::GEOM_LINESTRING; } -#line 25202 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25242 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 760: -#line 6750 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6790 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= Field::GEOM_MULTILINESTRING; } -#line 25208 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25248 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 761: -#line 6751 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6791 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= Field::GEOM_POLYGON; } -#line 25214 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25254 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 762: -#line 6752 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6792 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= Field::GEOM_MULTIPOLYGON; } -#line 25220 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25260 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 763: -#line 6756 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6796 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25226 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25266 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 764: -#line 6760 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6800 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25232 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25272 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 765: -#line 6761 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6801 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25238 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25278 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 766: -#line 6765 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6805 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25244 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25284 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 767: -#line 6766 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6806 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25250 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25290 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 768: -#line 6770 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6810 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25256 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25296 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 769: -#line 6771 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6811 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25262 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25302 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 770: -#line 6772 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6812 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25268 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25308 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 771: -#line 6773 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6813 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25274 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25314 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 772: -#line 6774 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6814 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25280 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25320 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 773: -#line 6778 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6818 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=MYSQL_TYPE_LONG; } -#line 25286 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25326 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 774: -#line 6779 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6819 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=MYSQL_TYPE_TINY; } -#line 25292 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25332 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 775: -#line 6780 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6820 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=MYSQL_TYPE_SHORT; } -#line 25298 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25338 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 776: -#line 6781 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6821 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=MYSQL_TYPE_INT24; } -#line 25304 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25344 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 777: -#line 6782 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6822 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=MYSQL_TYPE_LONGLONG; } -#line 25310 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25350 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 778: -#line 6787 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6827 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= YYTHD->variables.sql_mode & MODE_REAL_AS_FLOAT ? MYSQL_TYPE_FLOAT : MYSQL_TYPE_DOUBLE; } -#line 25319 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25359 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 779: -#line 6792 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6832 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=MYSQL_TYPE_DOUBLE; } -#line 25325 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25365 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 780: -#line 6794 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6834 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=MYSQL_TYPE_DOUBLE; } -#line 25331 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25371 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 781: -#line 6799 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6839 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.precision).length= NULL; (yyval.precision).dec= NULL; } -#line 25340 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25380 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 782: -#line 6804 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6844 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.precision).length= (yyvsp[0].c_str); (yyval.precision).dec= NULL; } -#line 25349 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25389 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 784: -#line 6813 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6853 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.precision).length= (yyvsp[-3].lex_str).str; (yyval.precision).dec= (yyvsp[-1].lex_str).str; } -#line 25358 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25398 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 785: -#line 6821 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6861 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= NULL; } -#line 25364 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25404 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 786: -#line 6822 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6862 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[-1].lex_str).str; } -#line 25370 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25410 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 787: -#line 6826 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6866 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } -#line 25376 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25416 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 788: -#line 6827 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6867 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } -#line 25382 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25422 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 789: -#line 6829 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6869 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[-1].lex_str).str, NULL, &error); } -#line 25391 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25431 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 790: -#line 6836 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6876 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25397 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25437 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 791: -#line 6837 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6877 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25403 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25443 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 792: -#line 6841 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6881 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25409 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25449 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 793: -#line 6842 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6882 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25415 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25455 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 794: -#line 6846 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6886 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25421 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25461 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 795: -#line 6847 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6887 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= UNSIGNED_FLAG;} -#line 25427 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25467 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 796: -#line 6848 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6888 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= UNSIGNED_FLAG | ZEROFILL_FLAG; } -#line 25433 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25473 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 797: -#line 6852 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6892 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[-1].lex_str).str; } -#line 25439 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25479 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 798: -#line 6853 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6893 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[-1].lex_str).str; } -#line 25445 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25485 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 799: -#line 6854 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6894 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[-1].lex_str).str; } -#line 25451 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25491 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 800: -#line 6855 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6895 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= (yyvsp[-1].lex_str).str; } -#line 25457 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25497 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 801: -#line 6858 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6898 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.c_str)= NULL; /* use default length */ } -#line 25463 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25503 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 803: -#line 6864 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6904 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.precision).length= NULL; (yyval.precision).dec = NULL; } -#line 25472 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25512 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 805: -#line 6872 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6912 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25478 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25518 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 806: -#line 6873 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6913 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25484 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25524 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 807: -#line 6877 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6917 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25490 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25530 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 809: -#line 6883 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6923 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type&= ~ NOT_NULL_FLAG; Lex->type|= EXPLICIT_NULL_FLAG; } -#line 25499 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25539 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 810: -#line 6887 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6927 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= NOT_NULL_FLAG; } -#line 25505 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25545 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 811: -#line 6888 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6928 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->default_value=(yyvsp[0].item); } -#line 25511 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25551 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 812: -#line 6890 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6930 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Item *item= new (YYTHD->mem_root) Item_func_now_local(static_cast((yyvsp[0].ulong_num))); @@ -25519,63 +25559,63 @@ MYSQL_YYABORT; Lex->on_update_value= item; } -#line 25523 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25563 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 813: -#line 6897 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6937 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; } -#line 25529 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25569 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 814: -#line 6899 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6939 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG; lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX; } -#line 25539 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25579 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 815: -#line 6905 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6945 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG; lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX; } -#line 25549 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25589 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 816: -#line 6911 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6951 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->type|= UNIQUE_FLAG; lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX; } -#line 25559 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25599 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 817: -#line 6917 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6957 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->type|= UNIQUE_KEY_FLAG; lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX; } -#line 25569 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25609 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 818: -#line 6922 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6962 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->comment= (yyvsp[0].lex_str); } -#line 25575 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25615 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 819: -#line 6924 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6964 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[0].charset))) { @@ -25588,68 +25628,68 @@ Lex->charset=(yyvsp[0].charset); } } -#line 25592 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25632 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 820: -#line 6937 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6977 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type&= ~(FIELD_FLAGS_COLUMN_FORMAT_MASK); Lex->type|= (COLUMN_FORMAT_TYPE_DEFAULT << FIELD_FLAGS_COLUMN_FORMAT); } -#line 25602 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25642 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 821: -#line 6943 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6983 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type&= ~(FIELD_FLAGS_COLUMN_FORMAT_MASK); Lex->type|= (COLUMN_FORMAT_TYPE_FIXED << FIELD_FLAGS_COLUMN_FORMAT); } -#line 25612 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25652 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 822: -#line 6949 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6989 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type&= ~(FIELD_FLAGS_COLUMN_FORMAT_MASK); Lex->type|= (COLUMN_FORMAT_TYPE_DYNAMIC << FIELD_FLAGS_COLUMN_FORMAT); } -#line 25622 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25662 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 823: -#line 6955 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 6995 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type&= ~(FIELD_FLAGS_STORAGE_MEDIA_MASK); Lex->type|= (HA_SM_DEFAULT << FIELD_FLAGS_STORAGE_MEDIA); } -#line 25631 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25671 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 824: -#line 6960 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7000 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type&= ~(FIELD_FLAGS_STORAGE_MEDIA_MASK); Lex->type|= (HA_SM_DISK << FIELD_FLAGS_STORAGE_MEDIA); } -#line 25640 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25680 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 825: -#line 6965 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7005 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type&= ~(FIELD_FLAGS_STORAGE_MEDIA_MASK); Lex->type|= (HA_SM_MEMORY << FIELD_FLAGS_STORAGE_MEDIA); } -#line 25649 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25689 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 826: -#line 6974 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7014 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-1].num); @@ -25666,48 +25706,48 @@ MYSQL_YYABORT; } } -#line 25670 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25710 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 827: -#line 6995 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7035 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[0].ulong_num); } -#line 25678 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25718 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 828: -#line 7001 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7041 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= new (YYTHD->mem_root) Item_func_now_local(static_cast((yyvsp[0].ulong_num))); if ((yyval.item) == NULL) MYSQL_YYABORT; } -#line 25689 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25729 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 829: -#line 7008 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7048 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)=(yyvsp[0].item); } -#line 25695 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25735 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 830: -#line 7012 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7052 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25701 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25741 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 831: -#line 7013 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7053 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25707 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25747 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 832: -#line 7018 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7058 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0)))) { @@ -25715,41 +25755,41 @@ MYSQL_YYABORT; } } -#line 25719 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25759 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 833: -#line 7025 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7065 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)= &my_charset_bin; } -#line 25725 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25765 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 834: -#line 7029 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7069 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)=(yyvsp[0].charset); } -#line 25731 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25771 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 835: -#line 7030 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7070 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)=NULL; } -#line 25737 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25777 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 836: -#line 7034 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7074 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)= NULL; } -#line 25743 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25783 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 837: -#line 7035 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7075 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)= (yyvsp[0].charset); } -#line 25749 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25789 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 838: -#line 7040 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7080 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))) && !((yyval.charset)=get_old_charset_by_name((yyvsp[0].lex_str).str))) @@ -25758,104 +25798,104 @@ MYSQL_YYABORT; } } -#line 25762 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25802 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 839: -#line 7048 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7088 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)= &my_charset_bin; } -#line 25768 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25808 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 840: -#line 7052 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7092 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)=(yyvsp[0].charset); } -#line 25774 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25814 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 841: -#line 7053 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7093 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)=NULL; } -#line 25780 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25820 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 842: -#line 7058 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7098 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.charset)= mysqld_collation_get_by_name((yyvsp[0].lex_str).str))) MYSQL_YYABORT; } -#line 25789 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25829 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 843: -#line 7065 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7105 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)=NULL; } -#line 25795 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25835 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 844: -#line 7066 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7106 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)=(yyvsp[0].charset); } -#line 25801 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25841 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 845: -#line 7070 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7110 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)= NULL; } -#line 25807 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25847 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 846: -#line 7071 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7111 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)= (yyvsp[0].charset); } -#line 25813 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25853 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 847: -#line 7075 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7115 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)=(yyvsp[0].charset); } -#line 25819 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25859 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 848: -#line 7076 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7116 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)=NULL; } -#line 25825 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25865 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 849: -#line 7080 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7120 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25831 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25871 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 850: -#line 7081 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7121 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 25837 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25877 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 851: -#line 7086 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7126 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)= &my_charset_latin1; } -#line 25843 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25883 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 852: -#line 7087 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7127 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)= &my_charset_latin1_bin; } -#line 25849 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25889 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 853: -#line 7088 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7128 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset)= &my_charset_latin1_bin; } -#line 25855 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25895 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 854: -#line 7093 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7133 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.charset)= get_charset_by_csname("ucs2", MY_CS_PRIMARY,MYF(0)))) { @@ -25863,104 +25903,104 @@ MYSQL_YYABORT; } } -#line 25867 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25907 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 855: -#line 7101 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7141 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.charset)= mysqld_collation_get_by_name("ucs2_bin"))) MYSQL_YYABORT; } -#line 25876 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25916 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 856: -#line 7106 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7146 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.charset)= mysqld_collation_get_by_name("ucs2_bin"))) my_error(ER_UNKNOWN_COLLATION, MYF(0), "ucs2_bin"); } -#line 25885 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25925 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 857: -#line 7114 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7154 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_flags).charset= NULL; (yyval.charset_with_flags).type_flags= 0; } -#line 25894 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25934 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 858: -#line 7119 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7159 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_flags).charset= (yyvsp[0].charset); (yyval.charset_with_flags).type_flags= 0; } -#line 25903 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25943 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 859: -#line 7124 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7164 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_flags).charset= (yyvsp[0].charset); (yyval.charset_with_flags).type_flags= 0; } -#line 25912 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25952 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 860: -#line 7129 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7169 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_flags).charset= &my_charset_bin; (yyval.charset_with_flags).type_flags= 0; } -#line 25921 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25961 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 861: -#line 7134 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7174 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_flags).charset= (yyvsp[-1].charset); (yyval.charset_with_flags).type_flags= (yyvsp[0].ulong_num); } -#line 25930 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25970 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 862: -#line 7139 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7179 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_flags).charset= NULL; (yyval.charset_with_flags).type_flags= BINCMP_FLAG; } -#line 25939 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25979 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 863: -#line 7144 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7184 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.charset_with_flags).charset= (yyvsp[0].charset); (yyval.charset_with_flags).type_flags= BINCMP_FLAG; } -#line 25948 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25988 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 864: -#line 7151 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7191 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } -#line 25954 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 25994 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 865: -#line 7152 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7192 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= BINCMP_FLAG; } -#line 25960 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26000 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 866: -#line 7157 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7197 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].ulong_num) == 0) { @@ -25968,148 +26008,148 @@ MYSQL_YYABORT; } } -#line 25972 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26012 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 867: -#line 7165 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7205 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[-2].ulong_num); } -#line 25978 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26018 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 868: -#line 7169 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7209 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } -#line 25984 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26024 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 869: -#line 7170 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7210 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 1 << MY_STRXFRM_DESC_SHIFT; } -#line 25990 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26030 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 870: -#line 7174 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7214 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 1 << MY_STRXFRM_REVERSE_SHIFT; } -#line 25996 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26036 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 871: -#line 7177 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7217 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } -#line 26002 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26042 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 872: -#line 7178 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7218 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[0].ulong_num); } -#line 26008 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26048 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 873: -#line 7179 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7219 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[-1].ulong_num) | (yyvsp[0].ulong_num); } -#line 26014 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26054 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 874: -#line 7180 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7220 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[0].ulong_num) ; } -#line 26020 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26060 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 875: -#line 7185 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7225 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[0].ulong_num) < 1 ? 1 : ((yyvsp[0].ulong_num) > MY_STRXFRM_NLEVELS ? MY_STRXFRM_NLEVELS : (yyvsp[0].ulong_num)); (yyval.ulong_num)--; } -#line 26029 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26069 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 876: -#line 7193 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7233 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (1 | (yyvsp[0].ulong_num)) << (yyvsp[-1].ulong_num); } -#line 26037 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26077 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 877: -#line 7199 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7239 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[0].ulong_num); } -#line 26043 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26083 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 878: -#line 7200 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7240 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)|= (yyvsp[0].ulong_num); } -#line 26049 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26089 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 879: -#line 7205 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7245 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { uint start= (yyvsp[-2].ulong_num); uint end= (yyvsp[0].ulong_num); for ((yyval.ulong_num)= 0; start <= end; start++) (yyval.ulong_num)|= (1 << start); } -#line 26060 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26100 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 880: -#line 7214 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7254 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[0].ulong_num); } -#line 26066 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26106 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 881: -#line 7215 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7255 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[0].ulong_num); } -#line 26072 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26112 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 882: -#line 7219 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7259 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= 0; } -#line 26078 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26118 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 883: -#line 7220 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7260 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (yyvsp[0].ulong_num); } -#line 26084 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26124 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 886: -#line 7234 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7274 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table)=(yyvsp[-3].table); } -#line 26092 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26132 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 887: -#line 7241 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7281 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->ref_list.empty(); } -#line 26098 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26138 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 889: -#line 7247 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7287 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Key_part_spec *key= new Key_part_spec((yyvsp[0].lex_str), 0); if (key == NULL) MYSQL_YYABORT; Lex->ref_list.push_back(key); } -#line 26109 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26149 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 890: -#line 7254 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7294 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Key_part_spec *key= new Key_part_spec((yyvsp[0].lex_str), 0); if (key == NULL) @@ -26118,245 +26158,245 @@ lex->ref_list.empty(); lex->ref_list.push_back(key); } -#line 26122 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26162 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 891: -#line 7266 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7306 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->fk_match_option= FK_MATCH_UNDEF; } -#line 26128 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26168 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 892: -#line 7268 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7308 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->fk_match_option= FK_MATCH_FULL; } -#line 26134 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26174 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 893: -#line 7270 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7310 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->fk_match_option= FK_MATCH_PARTIAL; } -#line 26140 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26180 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 894: -#line 7272 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7312 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->fk_match_option= FK_MATCH_SIMPLE; } -#line 26146 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26186 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 895: -#line 7277 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7317 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->fk_update_opt= FK_OPTION_UNDEF; lex->fk_delete_opt= FK_OPTION_UNDEF; } -#line 26156 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26196 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 896: -#line 7283 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7323 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[0].m_fk_option); lex->fk_delete_opt= FK_OPTION_UNDEF; } -#line 26166 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26206 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 897: -#line 7289 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7329 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->fk_update_opt= FK_OPTION_UNDEF; lex->fk_delete_opt= (yyvsp[0].m_fk_option); } -#line 26176 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26216 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 898: -#line 7296 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7336 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[-3].m_fk_option); lex->fk_delete_opt= (yyvsp[0].m_fk_option); } -#line 26186 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26226 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 899: -#line 7303 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7343 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[0].m_fk_option); lex->fk_delete_opt= (yyvsp[-3].m_fk_option); } -#line 26196 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26236 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 900: -#line 7311 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7351 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_fk_option)= FK_OPTION_RESTRICT; } -#line 26202 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26242 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 901: -#line 7312 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7352 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_fk_option)= FK_OPTION_CASCADE; } -#line 26208 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26248 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 902: -#line 7313 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7353 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_fk_option)= FK_OPTION_SET_NULL; } -#line 26214 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26254 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 903: -#line 7314 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7354 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_fk_option)= FK_OPTION_NO_ACTION; } -#line 26220 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26260 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 904: -#line 7315 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7355 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_fk_option)= FK_OPTION_DEFAULT; } -#line 26226 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26266 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 905: -#line 7319 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7359 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_MULTIPLE; } -#line 26232 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26272 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 906: -#line 7323 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7363 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_PRIMARY; } -#line 26238 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26278 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 907: -#line 7324 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7364 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_UNIQUE; } -#line 26244 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26284 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 908: -#line 7328 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7368 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26250 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26290 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 909: -#line 7329 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7369 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26256 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26296 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 910: -#line 7333 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7373 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26262 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26302 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 912: -#line 7338 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7378 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26268 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26308 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 913: -#line 7339 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7379 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26274 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26314 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 914: -#line 7340 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7380 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26280 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26320 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 915: -#line 7344 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7384 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_MULTIPLE; } -#line 26286 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26326 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 916: -#line 7345 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7385 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_UNIQUE; } -#line 26292 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26332 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 917: -#line 7349 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7389 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_FULLTEXT;} -#line 26298 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26338 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 918: -#line 7354 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7394 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_type)= KEYTYPE_SPATIAL; } -#line 26306 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26346 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 919: -#line 7360 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7400 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->key_create_info= default_key_create_info; } -#line 26314 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26354 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 922: -#line 7377 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7417 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26320 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26360 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 924: -#line 7382 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7422 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26326 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26366 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 926: -#line 7387 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7427 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26332 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26372 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 934: -#line 7407 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7447 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->key_create_info.algorithm= (yyvsp[0].key_alg); } -#line 26338 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26378 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 935: -#line 7408 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7448 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->key_create_info.algorithm= (yyvsp[0].key_alg); } -#line 26344 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26384 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 936: -#line 7413 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7453 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->key_create_info.block_size= (yyvsp[0].ulong_num); } -#line 26350 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26390 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 937: -#line 7414 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7454 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->key_create_info.comment= (yyvsp[0].lex_str); } -#line 26356 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26396 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 942: -#line 7429 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7469 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX_CSTRING plugin_name= {(yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length}; if (plugin_is_ready(plugin_name, MYSQL_FTPARSER_PLUGIN)) @@ -26367,55 +26407,55 @@ MYSQL_YYABORT; } } -#line 26371 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26411 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 943: -#line 7442 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7482 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_alg)= HA_KEY_ALG_BTREE; } -#line 26377 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26417 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 944: -#line 7443 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7483 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_alg)= HA_KEY_ALG_RTREE; } -#line 26383 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26423 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 945: -#line 7444 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7484 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_alg)= HA_KEY_ALG_HASH; } -#line 26389 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26429 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 946: -#line 7449 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7489 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->col_list.push_back((yyvsp[-1].key_part)); } -#line 26397 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26437 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 947: -#line 7453 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7493 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->col_list.push_back((yyvsp[-1].key_part)); } -#line 26405 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26445 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 948: -#line 7460 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7500 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_part)= new Key_part_spec((yyvsp[0].lex_str), 0); if ((yyval.key_part) == NULL) MYSQL_YYABORT; } -#line 26415 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26455 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 949: -#line 7466 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7506 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int key_part_len= atoi((yyvsp[-1].lex_str).str); if (!key_part_len) @@ -26426,47 +26466,47 @@ if ((yyval.key_part) == NULL) MYSQL_YYABORT; } -#line 26430 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26470 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 950: -#line 7479 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7519 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= null_lex_str; } -#line 26436 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26476 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 951: -#line 7480 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7520 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= (yyvsp[0].lex_str); } -#line 26442 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26482 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 952: -#line 7484 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7524 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= null_lex_str; } -#line 26448 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26488 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 953: -#line 7485 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7525 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= (yyvsp[0].lex_str); } -#line 26454 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26494 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 954: -#line 7489 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7529 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->interval_list.push_back((yyvsp[0].string)); } -#line 26460 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26500 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 955: -#line 7490 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7530 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->interval_list.push_back((yyvsp[0].string)); } -#line 26466 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26506 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 956: -#line 7498 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7538 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -26491,13 +26531,13 @@ lex->no_write_to_binlog= 0; lex->create_info.storage_media= HA_SM_DEFAULT; lex->create_last_non_select_table= lex->last_table(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); } -#line 26497 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26537 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 957: -#line 7525 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7565 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -26509,20 +26549,20 @@ MYSQL_YYABORT; } } -#line 26513 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26553 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 958: -#line 7537 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7577 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.default_table_charset= NULL; Lex->create_info.used_fields= 0; } -#line 26522 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26562 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 959: -#line 7542 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7582 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command=SQLCOM_ALTER_DB; @@ -26531,11 +26571,11 @@ lex->copy_db_to(&lex->name.str, &lex->name.length)) MYSQL_YYABORT; } -#line 26535 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26575 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 960: -#line 7551 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7591 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; push_deprecated_warn_no_replacement(YYTHD, @@ -26548,11 +26588,11 @@ lex->sql_command= SQLCOM_ALTER_DB_UPGRADE; lex->name= (yyvsp[-4].lex_str); } -#line 26552 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26592 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 961: -#line 7564 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7604 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; @@ -26563,22 +26603,22 @@ } memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics)); } -#line 26567 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26607 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 962: -#line 7575 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7615 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_ALTER_PROCEDURE; lex->spname= (yyvsp[-2].spname); } -#line 26578 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26618 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 963: -#line 7582 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7622 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; @@ -26589,22 +26629,22 @@ } memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics)); } -#line 26593 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26633 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 964: -#line 7593 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7633 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_ALTER_FUNCTION; lex->spname= (yyvsp[-2].spname); } -#line 26604 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26644 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 965: -#line 7600 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7640 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; @@ -26615,17 +26655,17 @@ } lex->create_view_mode= VIEW_ALTER; } -#line 26619 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26659 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 966: -#line 7611 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7651 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26625 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26665 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 967: -#line 7618 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7658 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; @@ -26637,17 +26677,17 @@ lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; lex->create_view_mode= VIEW_ALTER; } -#line 26641 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26681 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 968: -#line 7630 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7670 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26647 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26687 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 969: -#line 7632 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7672 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* It is safe to use Lex->spname because @@ -26663,11 +26703,11 @@ Lex->sql_command= SQLCOM_ALTER_EVENT; } -#line 26667 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26707 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 970: -#line 7652 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7692 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyvsp[-4].num) || (yyvsp[-3].num) || (yyvsp[-2].num) || (yyvsp[-1].num) || (yyvsp[0].num))) { @@ -26680,47 +26720,47 @@ */ Lex->sql_command= SQLCOM_ALTER_EVENT; } -#line 26684 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26724 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 971: -#line 7665 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7705 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_TABLESPACE; } -#line 26693 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26733 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 972: -#line 7670 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7710 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_LOGFILE_GROUP; } -#line 26702 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26742 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 973: -#line 7675 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7715 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= CHANGE_FILE_TABLESPACE; } -#line 26711 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26751 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 974: -#line 7680 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7720 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_ACCESS_MODE_TABLESPACE; } -#line 26720 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26760 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 975: -#line 7685 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7725 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_ALTER_SERVER; @@ -26728,74 +26768,74 @@ lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_alter_server(&Lex->server_options); } -#line 26732 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26772 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 977: -#line 7695 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7735 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-3].lex_user)->auth.str= (yyvsp[0].lex_str).str; (yyvsp[-3].lex_user)->auth.length= (yyvsp[0].lex_str).length; (yyvsp[-3].lex_user)->uses_identified_by_clause= true; Lex->contains_plaintext_password= true; } -#line 26743 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26783 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 978: -#line 7701 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7741 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MAKE_CMD((yyvsp[0].statement)); } -#line 26749 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26789 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 979: -#line 7706 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7746 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_ALTER_USER; lex->drop_if_exists= (yyvsp[-1].num); } -#line 26759 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26799 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 980: -#line 7714 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7754 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26765 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26805 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 984: -#line 7725 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7765 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_password.update_account_locked_column= true; lex->alter_password.account_locked= false; } -#line 26775 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26815 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 985: -#line 7731 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7771 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_password.update_account_locked_column= true; lex->alter_password.account_locked= true; } -#line 26785 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26825 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 986: -#line 7737 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7777 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_password.update_password_expired_fields= true; lex->alter_password.update_password_expired_column= true; } -#line 26795 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26835 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 987: -#line 7743 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7783 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if ((yyvsp[-1].ulong_num) == 0 || (yyvsp[-1].ulong_num) > UINT_MAX16) @@ -26809,93 +26849,93 @@ lex->alter_password.expire_after_days= (yyvsp[-1].ulong_num); lex->alter_password.use_default_password_lifetime= false; } -#line 26813 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26853 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 988: -#line 7757 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7797 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_password.update_password_expired_fields= true; lex->alter_password.use_default_password_lifetime= false; } -#line 26823 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26863 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 989: -#line 7763 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7803 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_password.update_password_expired_fields= true; } -#line 26831 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26871 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 990: -#line 7769 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7809 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26837 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26877 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 991: -#line 7773 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7813 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26843 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26883 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 993: -#line 7778 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7818 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26849 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26889 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 994: -#line 7779 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7819 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 26855 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26895 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 995: -#line 7784 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7824 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.questions=(yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR; } -#line 26865 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26905 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 996: -#line 7790 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7830 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.updates=(yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR; } -#line 26875 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26915 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 997: -#line 7796 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7836 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.conn_per_hour= (yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR; } -#line 26885 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26925 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 998: -#line 7802 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7842 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.user_conn= (yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::USER_CONNECTIONS; } -#line 26895 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26935 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 999: -#line 7811 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7851 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* empty LEX_USER means current_user */ LEX_USER *curr_user; @@ -26906,41 +26946,41 @@ Lex->users_list.push_back(curr_user); (yyval.lex_user)= curr_user; } -#line 26910 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26950 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1000: -#line 7824 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7864 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0;} -#line 26916 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26956 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1001: -#line 7825 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7865 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } -#line 26922 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26962 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1002: -#line 7826 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7866 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } -#line 26928 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26968 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1003: -#line 7827 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7867 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } -#line 26934 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26974 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1004: -#line 7831 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7871 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0;} -#line 26940 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26980 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1005: -#line 7833 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7873 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* Use lex's spname to hold the new name. @@ -26949,35 +26989,35 @@ Lex->spname= (yyvsp[0].spname); (yyval.num)= 1; } -#line 26953 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26993 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1006: -#line 7844 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7884 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0;} -#line 26959 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 26999 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1007: -#line 7845 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7885 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } -#line 26965 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27005 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1008: -#line 7849 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7889 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str).str= 0; (yyval.lex_str).length= 0; } -#line 26971 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27011 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1009: -#line 7850 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7890 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= (yyvsp[0].lex_str); } -#line 26977 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27017 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1019: -#line 7870 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7910 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_discard_import_tablespace( @@ -26985,11 +27025,11 @@ if (Lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 26989 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27029 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1020: -#line 7878 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7918 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_discard_import_tablespace( @@ -26997,118 +27037,118 @@ if (Lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 27001 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27041 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1022: -#line 7894 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7934 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.flags|= Alter_info::ALTER_DROP_PARTITION; } -#line 27009 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27049 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1023: -#line 7899 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7939 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_info.flags|= Alter_info::ALTER_REBUILD_PARTITION; lex->no_write_to_binlog= (yyvsp[-1].num); } -#line 27019 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27059 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1024: -#line 7906 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7946 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_optimize_partition(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 27035 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27075 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1026: -#line 7920 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7960 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_analyze_partition(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 27051 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27091 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1027: -#line 7932 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7972 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->check_opt.init(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_check_partition(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 27066 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27106 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1029: -#line 7945 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7985 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_repair_partition(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 27082 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27122 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1031: -#line 7958 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 7998 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_info.flags|= Alter_info::ALTER_COALESCE_PARTITION; lex->no_write_to_binlog= (yyvsp[-1].num); lex->alter_info.num_parts= (yyvsp[0].ulong_num); } -#line 27093 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27133 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1032: -#line 7965 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8005 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; lex->check_opt.init(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_truncate_partition(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 27108 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27148 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1034: -#line 7978 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8018 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -27127,17 +27167,17 @@ TL_READ_NO_INSERT, MDL_SHARED_NO_WRITE)) MYSQL_YYABORT; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_exchange_partition(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 27137 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27177 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1035: -#line 8004 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8044 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_discard_import_tablespace( @@ -27145,11 +27185,11 @@ if (Lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 27149 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27189 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1036: -#line 8013 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8053 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_discard_import_tablespace( @@ -27157,44 +27197,44 @@ if (Lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 27161 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27201 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1039: -#line 8029 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8069 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.with_validation= Alter_info::ALTER_WITH_VALIDATION; } -#line 27169 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27209 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1040: -#line 8033 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8073 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.with_validation= Alter_info::ALTER_WITHOUT_VALIDATION; } -#line 27178 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27218 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1041: -#line 8041 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8081 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.flags|= Alter_info::ALTER_REMOVE_PARTITIONING; } -#line 27186 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27226 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1042: -#line 8048 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8088 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.flags|= Alter_info::ALTER_ALL_PARTITION; } -#line 27194 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27234 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1044: -#line 8056 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8096 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->part_info= new partition_info(); @@ -27206,34 +27246,34 @@ lex->alter_info.flags|= Alter_info::ALTER_ADD_PARTITION; lex->no_write_to_binlog= (yyvsp[0].num); } -#line 27210 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27250 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1045: -#line 8068 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8108 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27216 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27256 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1047: -#line 8074 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8114 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->part_info->num_parts= lex->part_info->partitions.elements; } -#line 27225 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27265 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1048: -#line 8079 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8119 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->part_info->num_parts= (yyvsp[0].ulong_num); } -#line 27233 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27273 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1049: -#line 8086 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8126 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->part_info= new partition_info(); @@ -27244,48 +27284,48 @@ } lex->no_write_to_binlog= (yyvsp[0].num); } -#line 27248 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27288 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1051: -#line 8101 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8141 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.flags|= Alter_info::ALTER_TABLE_REORG; } -#line 27256 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27296 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1052: -#line 8105 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8145 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.flags|= Alter_info::ALTER_REORGANIZE_PARTITION; } -#line 27264 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27304 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1053: -#line 8109 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8149 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { partition_info *part_info= Lex->part_info; part_info->num_parts= part_info->partitions.elements; } -#line 27273 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27313 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1054: -#line 8116 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8156 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27279 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27319 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1055: -#line 8117 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8157 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27285 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27325 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1056: -#line 8122 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8162 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { String *s= new (YYTHD->mem_root) String((const char *) (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, @@ -27298,56 +27338,56 @@ MYSQL_YYABORT; } } -#line 27302 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27342 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1062: -#line 8153 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8193 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->change=0; lex->alter_info.flags|= Alter_info::ALTER_ADD_COLUMN; } -#line 27312 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27352 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1063: -#line 8162 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8202 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_last_non_select_table= Lex->last_table(); } -#line 27320 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27360 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1064: -#line 8166 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8206 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_last_non_select_table= Lex->last_table(); Lex->alter_info.flags|= Alter_info::ALTER_ADD_INDEX; } -#line 27329 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27369 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1066: -#line 8172 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8212 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->change= (yyvsp[0].lex_str).str; lex->alter_info.flags|= Alter_info::ALTER_CHANGE_COLUMN; } -#line 27339 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27379 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1067: -#line 8178 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8218 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_last_non_select_table= Lex->last_table(); } -#line 27347 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27387 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1068: -#line 8182 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8222 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->length=lex->dec=0; lex->type=0; @@ -27357,11 +27397,11 @@ lex->alter_info.flags|= Alter_info::ALTER_CHANGE_COLUMN; lex->gcol_info= 0; } -#line 27361 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27401 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1069: -#line 8192 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8232 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (add_field_to_list(lex->thd,&(yyvsp[-2].lex_str), @@ -27374,19 +27414,19 @@ lex->gcol_info)) MYSQL_YYABORT; } -#line 27378 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27418 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1070: -#line 8205 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8245 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_last_non_select_table= Lex->last_table(); } -#line 27386 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27426 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1071: -#line 8209 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8249 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::COLUMN, (yyvsp[-1].lex_str).str); @@ -27395,11 +27435,11 @@ lex->alter_info.drop_list.push_back(ad); lex->alter_info.flags|= Alter_info::ALTER_DROP_COLUMN; } -#line 27399 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27439 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1072: -#line 8218 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8258 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::FOREIGN_KEY, (yyvsp[0].lex_str).str); @@ -27408,11 +27448,11 @@ lex->alter_info.drop_list.push_back(ad); lex->alter_info.flags|= Alter_info::DROP_FOREIGN_KEY; } -#line 27412 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27452 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1073: -#line 8227 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8267 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::KEY, primary_key_name); @@ -27421,11 +27461,11 @@ lex->alter_info.drop_list.push_back(ad); lex->alter_info.flags|= Alter_info::ALTER_DROP_INDEX; } -#line 27425 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27465 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1074: -#line 8236 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8276 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[0].lex_str).str); @@ -27434,31 +27474,31 @@ lex->alter_info.drop_list.push_back(ad); lex->alter_info.flags|= Alter_info::ALTER_DROP_INDEX; } -#line 27438 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27478 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1075: -#line 8245 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8285 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_info.keys_onoff= Alter_info::DISABLE; lex->alter_info.flags|= Alter_info::ALTER_KEYS_ONOFF; } -#line 27448 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27488 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1076: -#line 8251 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8291 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_info.keys_onoff= Alter_info::ENABLE; lex->alter_info.flags|= Alter_info::ALTER_KEYS_ONOFF; } -#line 27458 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27498 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1077: -#line 8257 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8297 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; Alter_column *ac= new Alter_column((yyvsp[-3].lex_str).str,(yyvsp[0].item)); @@ -27467,11 +27507,11 @@ lex->alter_info.alter_list.push_back(ac); lex->alter_info.flags|= Alter_info::ALTER_CHANGE_COLUMN_DEFAULT; } -#line 27471 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27511 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1078: -#line 8266 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8306 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; Alter_column *ac= new Alter_column((yyvsp[-2].lex_str).str, (Item*) 0); @@ -27480,11 +27520,11 @@ lex->alter_info.alter_list.push_back(ac); lex->alter_info.flags|= Alter_info::ALTER_CHANGE_COLUMN_DEFAULT; } -#line 27484 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27524 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1079: -#line 8275 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8315 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; size_t dummy; @@ -27514,11 +27554,11 @@ lex->name.length= (yyvsp[0].table)->table.length; lex->alter_info.flags|= Alter_info::ALTER_RENAME; } -#line 27518 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27558 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1080: -#line 8305 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8345 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; Alter_rename_key *ak= new (YYTHD->mem_root) @@ -27528,11 +27568,11 @@ lex->alter_info.alter_rename_key_list.push_back(ak); lex->alter_info.flags|= Alter_info::ALTER_RENAME_INDEX; } -#line 27532 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27572 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1081: -#line 8315 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8355 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!(yyvsp[-1].charset)) { @@ -27553,11 +27593,11 @@ HA_CREATE_USED_DEFAULT_CHARSET); lex->alter_info.flags|= Alter_info::ALTER_OPTIONS; } -#line 27557 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27597 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1082: -#line 8336 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8376 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_info.flags|= Alter_info::ALTER_OPTIONS; @@ -27567,45 +27607,45 @@ lex->create_info.used_fields&= ~HA_CREATE_USED_ENGINE; } } -#line 27571 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27611 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1083: -#line 8346 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8386 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.flags|= Alter_info::ALTER_RECREATE; } -#line 27579 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27619 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1084: -#line 8350 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8390 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->alter_info.flags|= Alter_info::ALTER_ORDER; } -#line 27588 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27628 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1085: -#line 8355 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8395 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.flags|= Alter_info::ALTER_UPGRADE_PARTITIONING; } -#line 27596 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27636 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1094: -#line 8375 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8415 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.requested_algorithm= Alter_info::ALTER_TABLE_ALGORITHM_DEFAULT; } -#line 27605 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27645 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1095: -#line 8380 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8420 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->alter_info.set_requested_algorithm(&(yyvsp[0].lex_str))) { @@ -27613,20 +27653,20 @@ MYSQL_YYABORT; } } -#line 27617 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27657 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1096: -#line 8391 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8431 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.requested_lock= Alter_info::ALTER_TABLE_LOCK_DEFAULT; } -#line 27626 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27666 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1097: -#line 8396 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8436 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->alter_info.set_requested_lock(&(yyvsp[0].lex_str))) { @@ -27634,136 +27674,136 @@ MYSQL_YYABORT; } } -#line 27638 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27678 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1098: -#line 8406 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8446 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27644 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27684 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1099: -#line 8407 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8447 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27650 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27690 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1100: -#line 8411 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8451 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } -#line 27656 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27696 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1101: -#line 8412 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8452 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } -#line 27662 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27702 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1102: -#line 8416 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8456 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->drop_mode= DROP_DEFAULT; } -#line 27668 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27708 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1103: -#line 8417 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8457 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->drop_mode= DROP_RESTRICT; } -#line 27674 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27714 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1104: -#line 8418 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8458 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->drop_mode= DROP_CASCADE; } -#line 27680 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27720 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1105: -#line 8422 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8462 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27686 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27726 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1106: -#line 8424 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8464 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { store_position_for_column((yyvsp[0].lex_str).str); Lex->alter_info.flags |= Alter_info::ALTER_COLUMN_ORDER; } -#line 27695 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27735 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1107: -#line 8429 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8469 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { store_position_for_column(first_keyword); Lex->alter_info.flags |= Alter_info::ALTER_COLUMN_ORDER; } -#line 27704 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27744 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1108: -#line 8436 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8476 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27710 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27750 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1109: -#line 8437 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8477 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27716 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27756 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1110: -#line 8438 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8478 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27722 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27762 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1111: -#line 8439 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8479 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27728 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27768 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1112: -#line 8444 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8484 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_START_GROUP_REPLICATION; } -#line 27737 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27777 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1113: -#line 8449 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8489 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_STOP_GROUP_REPLICATION; } -#line 27746 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27786 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1114: -#line 8456 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8496 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 27752 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27792 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1115: -#line 8458 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8498 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_STOP; lex->type = 0; lex->slave_thd_opt= (yyvsp[-1].num); } -#line 27763 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27803 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1116: -#line 8468 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8508 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; /* Clean previous slave connection values */ @@ -27774,11 +27814,11 @@ lex->mi.set_unspecified(); lex->slave_thd_opt= (yyvsp[0].num); } -#line 27778 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27818 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1117: -#line 8483 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8523 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* It is not possible to set user's information when @@ -27795,11 +27835,11 @@ MYSQL_YYABORT; } } -#line 27799 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27839 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1119: -#line 8504 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8544 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_BEGIN; @@ -27812,189 +27852,189 @@ } lex->start_transaction_opt= (yyvsp[0].num); } -#line 27816 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27856 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1120: -#line 8520 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8560 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 27824 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27864 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1121: -#line 8524 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8564 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[0].num); } -#line 27832 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27872 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1122: -#line 8531 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8571 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[0].num); } -#line 27840 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27880 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1123: -#line 8535 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8575 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-2].num) | (yyvsp[0].num); } -#line 27848 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27888 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1124: -#line 8542 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8582 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT; } -#line 27856 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27896 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1125: -#line 8546 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8586 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= MYSQL_START_TRANS_OPT_READ_ONLY; } -#line 27864 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27904 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1126: -#line 8550 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8590 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= MYSQL_START_TRANS_OPT_READ_WRITE; } -#line 27872 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27912 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1128: -#line 8561 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8601 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* empty */ } -#line 27880 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27920 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1129: -#line 8565 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8605 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->slave_connection.user= (yyvsp[0].lex_str).str; } -#line 27888 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27928 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1130: -#line 8571 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8611 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* empty */ } -#line 27896 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27936 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1131: -#line 8575 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8615 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->slave_connection.password= (yyvsp[0].lex_str).str; Lex->contains_plaintext_password= true; } -#line 27905 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27945 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1132: -#line 8581 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8621 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* empty */ } -#line 27913 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27953 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1133: -#line 8585 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8625 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->slave_connection.plugin_auth= (yyvsp[0].lex_str).str; } -#line 27921 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27961 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1134: -#line 8591 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8631 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* empty */ } -#line 27929 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27969 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1135: -#line 8595 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8635 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->slave_connection.plugin_dir= (yyvsp[0].lex_str).str; } -#line 27937 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27977 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1136: -#line 8602 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8642 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 27945 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27985 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1137: -#line 8606 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8646 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[0].num); } -#line 27953 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 27993 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1138: -#line 8613 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8653 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[0].num); } -#line 27961 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28001 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1139: -#line 8617 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8657 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-2].num) | (yyvsp[0].num); } -#line 27969 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28009 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1140: -#line 8624 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8664 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= SLAVE_SQL; } -#line 27977 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28017 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1141: -#line 8628 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8668 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= SLAVE_IO; } -#line 27985 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28025 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1142: -#line 8635 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8675 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->mi.slave_until= false; } -#line 27994 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28034 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1143: -#line 8640 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8680 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (((lex->mi.log_file_name || lex->mi.pos) && @@ -28017,72 +28057,72 @@ } lex->mi.slave_until= true; } -#line 28021 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28061 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1146: -#line 8668 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8708 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.gtid= (yyvsp[0].lex_str).str; Lex->mi.gtid_until_condition= LEX_MASTER_INFO::UNTIL_SQL_BEFORE_GTIDS; } -#line 28030 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28070 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1147: -#line 8673 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8713 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.gtid= (yyvsp[0].lex_str).str; Lex->mi.gtid_until_condition= LEX_MASTER_INFO::UNTIL_SQL_AFTER_GTIDS; } -#line 28039 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28079 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1148: -#line 8678 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8718 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.until_after_gaps= true; } -#line 28047 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28087 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1149: -#line 8685 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8725 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_CHECKSUM; /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } -#line 28058 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28098 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1150: -#line 8692 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8732 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28064 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28104 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1151: -#line 8696 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8736 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags= 0; } -#line 28070 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28110 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1152: -#line 8697 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8737 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags= T_QUICK; } -#line 28076 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28116 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1153: -#line 8698 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8738 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags= T_EXTEND; } -#line 28082 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28122 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1154: -#line 8703 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8743 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_REPAIR; @@ -28092,66 +28132,66 @@ /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } -#line 28096 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28136 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1155: -#line 8713 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8753 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_repair_table(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 28109 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28149 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1156: -#line 8724 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8764 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags = T_MEDIUM; } -#line 28115 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28155 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1157: -#line 8725 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8765 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28121 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28161 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1158: -#line 8729 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8769 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28127 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28167 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1159: -#line 8730 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8770 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28133 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28173 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1160: -#line 8734 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8774 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags|= T_QUICK; } -#line 28139 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28179 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1161: -#line 8735 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8775 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags|= T_EXTEND; } -#line 28145 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28185 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1162: -#line 8736 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8776 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.sql_flags|= TT_USEFRM; } -#line 28151 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28191 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1163: -#line 8741 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8781 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_ANALYZE; @@ -28161,33 +28201,33 @@ /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } -#line 28165 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28205 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1164: -#line 8751 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8791 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_analyze_table(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 28178 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28218 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1165: -#line 8763 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8803 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT; Lex->comment= (yyvsp[0].lex_str); } -#line 28187 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28227 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1166: -#line 8771 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8811 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; @@ -28202,84 +28242,84 @@ /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } -#line 28206 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28246 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1167: -#line 8786 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8826 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_check_table(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 28219 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28259 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1168: -#line 8797 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8837 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags = T_MEDIUM; } -#line 28225 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28265 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1169: -#line 8798 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8838 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28231 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28271 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1170: -#line 8802 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8842 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28237 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28277 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1171: -#line 8803 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8843 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28243 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28283 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1172: -#line 8807 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8847 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags|= T_QUICK; } -#line 28249 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28289 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1173: -#line 8808 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8848 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags|= T_FAST; } -#line 28255 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28295 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1174: -#line 8809 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8849 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags|= T_MEDIUM; } -#line 28261 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28301 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1175: -#line 8810 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8850 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags|= T_EXTEND; } -#line 28267 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28307 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1176: -#line 8811 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8851 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; } -#line 28273 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28313 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1177: -#line 8812 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8852 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; } -#line 28279 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28319 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1178: -#line 8817 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8857 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_OPTIMIZE; @@ -28289,82 +28329,82 @@ /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } -#line 28293 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28333 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1179: -#line 8827 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8867 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_optimize_table(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 28306 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28346 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1180: -#line 8838 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8878 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 28312 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28352 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1181: -#line 8839 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8879 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } -#line 28318 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28358 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1182: -#line 8840 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8880 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } -#line 28324 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28364 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1183: -#line 8845 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8885 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_RENAME_TABLE; } -#line 28332 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28372 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1184: -#line 8849 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8889 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28338 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28378 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1185: -#line 8851 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8891 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_RENAME_USER; } -#line 28346 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28386 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1186: -#line 8858 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8898 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } -#line 28355 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28395 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1187: -#line 8863 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8903 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } -#line 28364 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28404 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1190: -#line 8876 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8916 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; SELECT_LEX *sl= Select; @@ -28374,208 +28414,208 @@ TL_IGNORE, MDL_EXCLUSIVE)) MYSQL_YYABORT; } -#line 28378 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28418 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1191: -#line 8889 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8929 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.reset(); } -#line 28386 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28426 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1192: -#line 8893 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8933 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE; lex->ident= (yyvsp[0].lex_str); } -#line 28396 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28436 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1197: -#line 8912 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8952 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!Select->add_table_to_list(YYTHD, (yyvsp[-1].table), NULL, 0, TL_READ, MDL_SHARED_READ, (yyvsp[0].key_usage_list))) MYSQL_YYABORT; } -#line 28407 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28447 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1198: -#line 8922 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8962 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!Select->add_table_to_list(YYTHD, (yyvsp[-2].table), NULL, 0, TL_READ, MDL_SHARED_READ, (yyvsp[0].key_usage_list))) MYSQL_YYABORT; } -#line 28418 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28458 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1199: -#line 8931 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8971 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= (yyvsp[0].lex_str); } -#line 28424 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28464 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1200: -#line 8932 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8972 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str) = default_key_cache_base; } -#line 28430 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28470 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1201: -#line 8937 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8977 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command=SQLCOM_PRELOAD_KEYS; lex->alter_info.reset(); } -#line 28440 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28480 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1202: -#line 8943 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8983 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28446 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28486 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1207: -#line 8958 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 8998 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!Select->add_table_to_list(YYTHD, (yyvsp[-2].table), NULL, (yyvsp[0].num), TL_READ, MDL_SHARED_READ, (yyvsp[-1].key_usage_list))) MYSQL_YYABORT; } -#line 28457 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28497 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1208: -#line 8968 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9008 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!Select->add_table_to_list(YYTHD, (yyvsp[-3].table), NULL, (yyvsp[0].num), TL_READ, MDL_SHARED_READ, (yyvsp[-1].key_usage_list))) MYSQL_YYABORT; } -#line 28468 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28508 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1209: -#line 8978 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9018 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->alter_info.flags|= Alter_info::ALTER_ADMIN_PARTITION; } -#line 28476 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28516 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1212: -#line 8989 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9029 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_list)= NULL; } -#line 28482 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28522 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1213: -#line 8991 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9031 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { init_index_hints((yyvsp[-1].key_usage_list), INDEX_HINT_USE, old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL); (yyval.key_usage_list)= (yyvsp[-1].key_usage_list); } -#line 28493 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28533 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1214: -#line 9001 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9041 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 28499 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28539 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1215: -#line 9002 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9042 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TL_OPTION_IGNORE_LEAVES; } -#line 28505 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28545 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1216: -#line 9012 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9052 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select)= NEW_PTN PT_select((yyvsp[0].select_init), SQLCOM_SELECT); } -#line 28513 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28553 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1217: -#line 9020 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9060 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_init)= NEW_PTN PT_select_init2((yyvsp[-2].optimizer_hints), (yyvsp[-1].select_part2), (yyvsp[0].union_list)); } -#line 28521 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28561 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1218: -#line 9024 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9064 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_init)= NEW_PTN PT_select_init_parenthesis((yyvsp[-2].select_paren), (yyvsp[0].node)); } -#line 28529 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28569 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1219: -#line 9031 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9071 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_paren)= NEW_PTN PT_select_paren((yyvsp[-1].optimizer_hints), (yyvsp[0].select_part2)); } -#line 28537 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28577 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1220: -#line 9034 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9074 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_paren)= (yyvsp[-1].select_paren); } -#line 28543 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28583 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1221: -#line 9040 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9080 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_paren_derived)= NEW_PTN PT_select_paren_derived((yyvsp[-2].optimizer_hints), (yyvsp[-1].select_part2_derived), (yyvsp[0].table_expression)); } -#line 28551 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28591 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1222: -#line 9043 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9083 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_paren_derived)= (yyvsp[-1].select_paren_derived); } -#line 28557 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28597 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1223: -#line 9056 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9096 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_part2)= NEW_PTN PT_select_part2((yyvsp[-3].select_options_and_item_list), NULL, NULL, NULL, NULL, NULL, (yyvsp[-2].order), (yyvsp[-1].limit_clause), NULL, NULL, (yyvsp[0].select_lock_type)); } -#line 28566 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28606 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1224: -#line 9061 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9101 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_part2)= NEW_PTN PT_select_part2((yyvsp[-2].select_options_and_item_list), (yyvsp[-1].into_destination), NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, (yyvsp[0].select_lock_type)); } -#line 28575 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28615 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1225: -#line 9076 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9116 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-9].into_destination) && (yyvsp[-1].into_destination)) { @@ -28592,91 +28632,91 @@ (yyval.select_part2)= NEW_PTN PT_select_part2((yyvsp[-10].select_options_and_item_list), (yyvsp[-9].into_destination), (yyvsp[-8].table_reference_list), (yyvsp[-7].item), (yyvsp[-6].group), (yyvsp[-5].item), (yyvsp[-4].order), (yyvsp[-3].limit_clause), (yyvsp[-2].procedure_analyse), (yyvsp[-1].into_destination), (yyvsp[0].select_lock_type)); } -#line 28596 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28636 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1226: -#line 9095 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9135 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* TODO: remove this semantic action (currently this removal adds shift/reduce conflict) */ } -#line 28607 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28647 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1227: -#line 9102 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9142 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_options_and_item_list)= NEW_PTN PT_select_options_and_item_list((yyvsp[-1].select_options), (yyvsp[0].item_list2)); } -#line 28615 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28655 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1228: -#line 9117 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9157 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_expression)= NEW_PTN PT_table_expression((yyvsp[-7].table_reference_list), (yyvsp[-6].item), (yyvsp[-5].group), (yyvsp[-4].item), (yyvsp[-3].order), (yyvsp[-2].limit_clause), (yyvsp[-1].procedure_analyse), (yyvsp[0].select_lock_type)); } -#line 28623 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28663 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1229: -#line 9123 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9163 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list)= (yyvsp[0].table_reference_list); } -#line 28629 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28669 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1230: -#line 9127 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9167 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list)= NULL; } -#line 28635 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28675 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1232: -#line 9133 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9173 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list)= NEW_PTN PT_table_reference_list((yyvsp[0].join_table_list)); } -#line 28643 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28683 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1233: -#line 9136 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9176 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_reference_list)= NULL; } -#line 28649 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28689 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1234: -#line 9145 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9185 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_options).query_spec_options= 0; (yyval.select_options).sql_cache= SELECT_LEX::SQL_CACHE_UNSPECIFIED; } -#line 28658 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28698 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1236: -#line 9154 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9194 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyval.select_options).merge((yyvsp[-1].select_options), (yyvsp[0].select_options))) MYSQL_YYABORT; } -#line 28667 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28707 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1238: -#line 9163 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9203 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_options).query_spec_options= (yyvsp[0].ulonglong_number); (yyval.select_options).sql_cache= SELECT_LEX::SQL_CACHE_UNSPECIFIED; } -#line 28676 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28716 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1239: -#line 9168 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9208 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn_no_replacement(YYTHD, "SQL_NO_CACHE"); /* @@ -28686,11 +28726,11 @@ (yyval.select_options).query_spec_options= 0; (yyval.select_options).sql_cache= SELECT_LEX::SQL_NO_CACHE; } -#line 28690 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28730 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1240: -#line 9178 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9218 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn_no_replacement(YYTHD, "SQL_CACHE"); /* @@ -28700,233 +28740,233 @@ (yyval.select_options).query_spec_options= 0; (yyval.select_options).sql_cache= SELECT_LEX::SQL_CACHE; } -#line 28704 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28744 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1241: -#line 9190 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9230 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_lock_type).is_set= false; } -#line 28710 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28750 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1242: -#line 9192 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9232 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_lock_type).is_set= true; (yyval.select_lock_type).lock_type= TL_WRITE; (yyval.select_lock_type).is_safe_to_cache_query= false; } -#line 28720 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28760 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1243: -#line 9198 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9238 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_lock_type).is_set= true; (yyval.select_lock_type).lock_type= TL_READ_WITH_SHARED_LOCKS; (yyval.select_lock_type).is_safe_to_cache_query= false; } -#line 28730 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28770 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1244: -#line 9207 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9247 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } -#line 28740 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28780 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1245: -#line 9213 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9253 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_select_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } -#line 28750 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28790 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1246: -#line 9219 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9259 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Item *item = NEW_PTN Item_asterisk((yyloc), NULL, NULL); (yyval.item_list2)= NEW_PTN PT_select_item_list; if ((yyval.item_list2) == NULL || item == NULL || (yyval.item_list2)->push_back(item)) MYSQL_YYABORT; } -#line 28761 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28801 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1247: -#line 9228 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9268 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } -#line 28767 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28807 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1248: -#line 9230 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9270 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_expr_with_alias((yyloc), (yyvsp[-1].item), (yylsp[-1]).cpp, (yyvsp[0].lex_str)); } -#line 28775 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28815 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1249: -#line 9237 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9277 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=null_lex_str;} -#line 28781 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28821 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1250: -#line 9238 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9278 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str); } -#line 28787 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28827 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1251: -#line 9239 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9279 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str); } -#line 28793 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28833 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1252: -#line 9240 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9280 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str); } -#line 28799 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28839 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1253: -#line 9241 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9281 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str); } -#line 28805 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28845 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1254: -#line 9245 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9285 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28811 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28851 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1255: -#line 9246 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9286 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 28817 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28857 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1256: -#line 9252 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9292 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= flatten_associative_operator( YYTHD->mem_root, (yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 28827 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28867 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1257: -#line 9258 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9298 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* XOR is a proprietary extension */ (yyval.item) = NEW_PTN Item_func_xor((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 28836 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28876 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1258: -#line 9263 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9303 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= flatten_associative_operator( YYTHD->mem_root, (yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 28846 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28886 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1259: -#line 9269 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9309 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_negate_expression((yyloc), (yyvsp[0].item)); } -#line 28854 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28894 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1260: -#line 9273 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9313 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_istrue((yyloc), (yyvsp[-2].item)); } -#line 28862 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28902 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1261: -#line 9277 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9317 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isnottrue((yyloc), (yyvsp[-3].item)); } -#line 28870 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28910 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1262: -#line 9281 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9321 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isfalse((yyloc), (yyvsp[-2].item)); } -#line 28878 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28918 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1263: -#line 9285 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9325 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isnotfalse((yyloc), (yyvsp[-3].item)); } -#line 28886 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28926 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1264: -#line 9289 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9329 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isnull((yyloc), (yyvsp[-2].item)); } -#line 28894 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28934 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1265: -#line 9293 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9333 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isnotnull((yyloc), (yyvsp[-3].item)); } -#line 28902 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28942 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1267: -#line 9301 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9341 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isnull((yyloc), (yyvsp[-2].item)); } -#line 28910 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28950 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1268: -#line 9305 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9345 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_isnotnull((yyloc), (yyvsp[-3].item)); } -#line 28918 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28958 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1269: -#line 9309 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9349 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_comp_op((yyloc), (yyvsp[-2].item), (yyvsp[-1].boolfunc2creator), (yyvsp[0].item)); } -#line 28926 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28966 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1270: -#line 9313 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9353 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-4].boolfunc2creator) == &comp_equal_creator) /* @@ -28939,82 +28979,82 @@ YYTHD->parse_error_at((yylsp[-4]), ER_THD(YYTHD, ER_SYNTAX_ERROR)); (yyval.item)= NEW_PTN PTI_comp_op_all((yyloc), (yyvsp[-5].item), (yyvsp[-4].boolfunc2creator), (yyvsp[-3].num), (yyvsp[-1].subselect)); } -#line 28943 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28983 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1272: -#line 9330 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9370 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_in_subselect((yyloc), (yyvsp[-4].item), (yyvsp[-1].subselect)); } -#line 28951 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 28991 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1273: -#line 9334 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9374 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Item *item= NEW_PTN Item_in_subselect((yyloc), (yyvsp[-5].item), (yyvsp[-1].subselect)); (yyval.item)= NEW_PTN PTI_negate_expression((yyloc), item); } -#line 28960 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29000 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1274: -#line 9339 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9379 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_handle_sql2003_note184_exception((yyloc), (yyvsp[-4].item), true, (yyvsp[-1].item)); } -#line 28968 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29008 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1275: -#line 9343 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9383 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].item_list2) == NULL || (yyvsp[-1].item_list2)->push_front((yyvsp[-3].item)) || (yyvsp[-1].item_list2)->push_front((yyvsp[-6].item))) MYSQL_YYABORT; (yyval.item)= NEW_PTN Item_func_in((yyloc), (yyvsp[-1].item_list2), false); } -#line 28979 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29019 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1276: -#line 9350 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9390 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_handle_sql2003_note184_exception((yyloc), (yyvsp[-5].item), false, (yyvsp[-1].item)); } -#line 28987 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29027 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1277: -#line 9354 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9394 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].item_list2) == NULL || (yyvsp[-1].item_list2)->push_front((yyvsp[-3].item)) || (yyvsp[-1].item_list2)->value.push_front((yyvsp[-7].item))) MYSQL_YYABORT; (yyval.item)= NEW_PTN Item_func_in((yyloc), (yyvsp[-1].item_list2), true); } -#line 28998 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29038 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1278: -#line 9361 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9401 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_between((yyloc), (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].item), false); } -#line 29006 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29046 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1279: -#line 9365 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9405 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_between((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[0].item), true); } -#line 29014 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29054 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1280: -#line 9369 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9409 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Item *item1= NEW_PTN Item_func_soundex((yyloc), (yyvsp[-3].item)); Item *item4= NEW_PTN Item_func_soundex((yyloc), (yyvsp[0].item)); @@ -29022,396 +29062,396 @@ MYSQL_YYABORT; (yyval.item)= NEW_PTN Item_func_eq((yyloc), item1, item4); } -#line 29026 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29066 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1281: -#line 9377 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9417 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_like((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), (yyvsp[0].item)); } -#line 29034 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29074 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1282: -#line 9381 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9421 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Item *item= NEW_PTN Item_func_like((yyloc), (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].item)); if (item == NULL) MYSQL_YYABORT; (yyval.item)= NEW_PTN Item_func_not((yyloc), item); } -#line 29045 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29085 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1283: -#line 9388 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9428 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_regex((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29053 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29093 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1284: -#line 9392 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9432 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Item *item= NEW_PTN Item_func_regex((yyloc), (yyvsp[-3].item), (yyvsp[0].item)); (yyval.item)= NEW_PTN PTI_negate_expression((yyloc), item); } -#line 29062 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29102 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1286: -#line 9401 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9441 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_bit_or((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29070 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29110 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1287: -#line 9405 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9445 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_bit_and((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29078 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29118 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1288: -#line 9409 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9449 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_shift_left((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29086 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29126 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1289: -#line 9413 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9453 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_shift_right((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29094 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29134 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1290: -#line 9417 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9457 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_plus((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29102 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29142 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1291: -#line 9421 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9461 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_minus((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29110 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29150 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1292: -#line 9425 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9465 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 0); } -#line 29118 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29158 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1293: -#line 9429 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9469 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 1); } -#line 29126 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29166 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1294: -#line 9433 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9473 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_mul((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29134 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29174 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1295: -#line 9437 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9477 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_div((yyloc), (yyvsp[-2].item),(yyvsp[0].item)); } -#line 29142 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29182 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1296: -#line 9441 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9481 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_mod((yyloc), (yyvsp[-2].item),(yyvsp[0].item)); } -#line 29150 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29190 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1297: -#line 9445 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9485 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_int_div((yyloc), (yyvsp[-2].item),(yyvsp[0].item)); } -#line 29158 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29198 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1298: -#line 9449 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9489 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_mod((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29166 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29206 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1299: -#line 9453 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9493 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_bit_xor((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29174 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29214 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1309: -#line 9480 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9520 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_eq_creator; } -#line 29180 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29220 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1310: -#line 9481 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9521 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_equal_creator; } -#line 29186 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29226 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1311: -#line 9482 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9522 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_ge_creator; } -#line 29192 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29232 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1312: -#line 9483 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9523 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_gt_creator; } -#line 29198 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29238 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1313: -#line 9484 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9524 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_le_creator; } -#line 29204 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29244 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1314: -#line 9485 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9525 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_lt_creator; } -#line 29210 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29250 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1315: -#line 9486 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9526 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.boolfunc2creator) = &comp_ne_creator; } -#line 29216 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29256 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1316: -#line 9490 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9530 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) = 1; } -#line 29222 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29262 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1317: -#line 9491 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9531 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) = 0; } -#line 29228 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29268 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1323: -#line 9501 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9541 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_set_collation((yyloc), (yyvsp[-2].item), (yyvsp[0].lex_str)); } -#line 29236 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29276 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1325: -#line 9505 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9545 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].param_marker); } -#line 29242 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29282 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1328: -#line 9509 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9549 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_concat((yyloc), (yyvsp[-2].item), (yyvsp[0].item)); } -#line 29250 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29290 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1329: -#line 9513 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9553 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); // TODO: do we really want to ignore unary '+' before any kind of literals? } -#line 29258 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29298 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1330: -#line 9517 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9557 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_neg((yyloc), (yyvsp[0].item)); } -#line 29266 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29306 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1331: -#line 9521 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9561 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_bit_neg((yyloc), (yyvsp[0].item)); } -#line 29274 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29314 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1332: -#line 9525 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9565 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_negate_expression((yyloc), (yyvsp[0].item)); } -#line 29282 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29322 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1333: -#line 9529 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9569 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_singlerow_subselect((yyloc), (yyvsp[-1].subselect)); } -#line 29290 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29330 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1334: -#line 9533 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9573 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[-1].item); } -#line 29296 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29336 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1335: -#line 9535 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9575 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_row((yyloc), (yyvsp[-3].item), (yyvsp[-1].item_list2)->value); } -#line 29304 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29344 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1336: -#line 9539 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9579 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_row((yyloc), (yyvsp[-3].item), (yyvsp[-1].item_list2)->value); } -#line 29312 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29352 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1337: -#line 9543 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9583 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_exists_subselect((yyloc), (yyvsp[-1].subselect)); } -#line 29320 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29360 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1338: -#line 9547 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9587 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_odbc_date((yyloc), (yyvsp[-2].lex_str), (yyvsp[-1].item)); } -#line 29328 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29368 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1339: -#line 9551 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9591 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_match((yyloc), (yyvsp[-5].item_list2), (yyvsp[-2].item), (yyvsp[-1].num)); } -#line 29336 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29376 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1340: -#line 9555 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9595 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= create_func_cast(YYTHD, (yylsp[0]), (yyvsp[0].item), ITEM_CAST_CHAR, &my_charset_bin); } -#line 29344 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29384 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1341: -#line 9559 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9599 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= create_func_cast(YYTHD, (yylsp[-3]), (yyvsp[-3].item), &(yyvsp[-1].cast_type)); } -#line 29352 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29392 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1342: -#line 9563 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9603 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_case((yyloc), *(yyvsp[-2].item_list), (yyvsp[-3].item), (yyvsp[-1].item) ); } -#line 29360 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29400 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1343: -#line 9567 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9607 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= create_func_cast(YYTHD, (yylsp[-3]), (yyvsp[-3].item), &(yyvsp[-1].cast_type)); } -#line 29368 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29408 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1344: -#line 9571 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9611 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_conv_charset((yyloc), (yyvsp[-3].item),(yyvsp[-1].charset)); } -#line 29376 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29416 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1345: -#line 9575 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9615 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_default_value((yyloc), (yyvsp[-1].item)); } -#line 29384 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29424 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1346: -#line 9579 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9619 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_insert_value((yyloc), (yyvsp[-1].item)); } -#line 29392 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29432 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1347: -#line 9584 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9624 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[0].item), (yyvsp[-3].item), (yyvsp[-2].interval), 0); } -#line 29400 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29440 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1348: -#line 9588 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9628 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Item_string *path= NEW_PTN Item_string((yyloc), (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, YYTHD->variables.collation_connection); (yyval.item)= NEW_PTN Item_func_json_extract(YYTHD, (yyloc), (yyvsp[-2].item), path); } -#line 29411 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29451 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1349: -#line 9595 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9635 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Item_string *path= NEW_PTN Item_string((yyloc), (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, @@ -29419,695 +29459,695 @@ Item *extr= NEW_PTN Item_func_json_extract(YYTHD, (yyloc), (yyvsp[-2].item), path); (yyval.item)= NEW_PTN Item_func_json_unquote((yyloc), extr); } -#line 29423 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29463 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1350: -#line 9612 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9652 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_char((yyloc), (yyvsp[-1].item_list2)); } -#line 29431 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29471 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1351: -#line 9616 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9656 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_char((yyloc), (yyvsp[-3].item_list2), (yyvsp[-1].charset)); } -#line 29439 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29479 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1352: -#line 9620 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9660 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_current_user((yyloc)); } -#line 29447 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29487 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1353: -#line 9624 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9664 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_typecast((yyloc), (yyvsp[-1].item)); } -#line 29455 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29495 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1354: -#line 9628 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9668 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_dayofmonth((yyloc), (yyvsp[-1].item)); } -#line 29463 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29503 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1355: -#line 9632 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9672 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_hour((yyloc), (yyvsp[-1].item)); } -#line 29471 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29511 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1356: -#line 9636 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9676 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_insert((yyloc), (yyvsp[-7].item), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); } -#line 29479 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29519 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1357: -#line 9640 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9680 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_interval((yyloc), YYTHD->mem_root, (yyvsp[-3].item), (yyvsp[-1].item)); } -#line 29487 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29527 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1358: -#line 9644 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9684 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_interval((yyloc), YYTHD->mem_root, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item_list2)); } -#line 29495 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29535 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1359: -#line 9648 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9688 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_left((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } -#line 29503 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29543 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1360: -#line 9652 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9692 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_minute((yyloc), (yyvsp[-1].item)); } -#line 29511 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29551 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1361: -#line 9656 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9696 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_month((yyloc), (yyvsp[-1].item)); } -#line 29519 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29559 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1362: -#line 9660 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9700 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_right((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } -#line 29527 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29567 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1363: -#line 9664 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9704 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_second((yyloc), (yyvsp[-1].item)); } -#line 29535 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29575 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1364: -#line 9668 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9708 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_time_typecast((yyloc), (yyvsp[-1].item)); } -#line 29543 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29583 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1365: -#line 9672 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9712 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_datetime_typecast((yyloc), (yyvsp[-1].item)); } -#line 29551 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29591 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1366: -#line 9676 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9716 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_add_time((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), 1, 0); } -#line 29559 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29599 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1367: -#line 9680 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9720 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_BOTH_DEFAULT); } -#line 29568 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29608 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1368: -#line 9685 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9725 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), Item_func_trim::TRIM_LEADING); } -#line 29577 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29617 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1369: -#line 9690 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9730 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), Item_func_trim::TRIM_TRAILING); } -#line 29586 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29626 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1370: -#line 9695 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9735 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), Item_func_trim::TRIM_BOTH); } -#line 29594 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29634 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1371: -#line 9699 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9739 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_LEADING); } -#line 29602 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29642 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1372: -#line 9703 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9743 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_TRAILING); } -#line 29610 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29650 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1373: -#line 9707 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9747 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_BOTH); } -#line 29618 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29658 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1374: -#line 9711 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9751 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), Item_func_trim::TRIM_BOTH_DEFAULT); } -#line 29627 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29667 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1375: -#line 9716 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9756 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_user((yyloc)); } -#line 29635 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29675 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1376: -#line 9720 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9760 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_year((yyloc), (yyvsp[-1].item)); } -#line 29643 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29683 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1377: -#line 9739 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9779 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 0); } -#line 29651 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29691 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1378: -#line 9743 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9783 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0); } -#line 29659 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29699 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1379: -#line 9747 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9787 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_curdate_local((yyloc)); } -#line 29667 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29707 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1380: -#line 9751 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9791 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_curtime_local((yyloc), static_cast((yyvsp[0].ulong_num))); } -#line 29675 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29715 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1381: -#line 9756 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9796 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0); } -#line 29683 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29723 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1382: -#line 9761 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9801 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1); } -#line 29691 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29731 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1383: -#line 9765 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9805 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_extract((yyloc), (yyvsp[-3].interval), (yyvsp[-1].item)); } -#line 29699 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29739 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1384: -#line 9769 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9809 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_get_format((yyloc), (yyvsp[-3].date_time_type), (yyvsp[-1].item)); } -#line 29707 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29747 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1385: -#line 9773 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9813 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_function_call_nonkeyword_now((yyloc), static_cast((yyvsp[0].ulong_num))); } -#line 29716 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29756 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1386: -#line 9778 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9818 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_locate((yyloc), (yyvsp[-1].item),(yyvsp[-3].item)); } -#line 29724 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29764 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1387: -#line 9782 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9822 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 1); } -#line 29732 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29772 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1388: -#line 9786 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9826 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1); } -#line 29740 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29780 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1389: -#line 9790 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9830 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } -#line 29748 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29788 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1390: -#line 9794 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9834 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-3].item),(yyvsp[-1].item)); } -#line 29756 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29796 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1391: -#line 9798 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9838 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } -#line 29764 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29804 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1392: -#line 9802 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9842 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-3].item),(yyvsp[-1].item)); } -#line 29772 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29812 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1393: -#line 9806 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9846 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_function_call_nonkeyword_sysdate((yyloc), static_cast((yyvsp[0].ulong_num))); } -#line 29781 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29821 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1394: -#line 9811 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9851 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), (yyvsp[-5].interval_time_st), 0); } -#line 29789 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29829 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1395: -#line 9815 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9855 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_timestamp_diff((yyloc), (yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[-5].interval_time_st)); } -#line 29797 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29837 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1396: -#line 9819 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9859 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_curdate_utc((yyloc)); } -#line 29805 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29845 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1397: -#line 9823 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9863 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_curtime_utc((yyloc), static_cast((yyvsp[0].ulong_num))); } -#line 29813 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29853 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1398: -#line 9827 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9867 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_now_utc((yyloc), static_cast((yyvsp[0].ulong_num))); } -#line 29821 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29861 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1399: -#line 9839 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9879 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_ascii((yyloc), (yyvsp[-1].item)); } -#line 29829 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29869 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1400: -#line 9843 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9883 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_charset((yyloc), (yyvsp[-1].item)); } -#line 29837 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29877 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1401: -#line 9847 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9887 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_coalesce((yyloc), (yyvsp[-1].item_list2)); } -#line 29845 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29885 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1402: -#line 9851 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9891 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_collation((yyloc), (yyvsp[-1].item)); } -#line 29853 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29893 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1403: -#line 9855 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9895 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_database((yyloc)); } -#line 29861 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29901 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1404: -#line 9859 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9899 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_if((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } -#line 29869 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29909 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1405: -#line 9863 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9903 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_format((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } -#line 29877 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29917 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1406: -#line 9867 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9907 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_format((yyloc), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); } -#line 29885 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29925 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1407: -#line 9871 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9911 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_microsecond((yyloc), (yyvsp[-1].item)); } -#line 29893 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29933 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1408: -#line 9875 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9915 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_mod((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } -#line 29901 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29941 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1409: -#line 9879 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9919 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_password((yyloc), (yyvsp[-1].item)); } -#line 29909 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29949 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1410: -#line 9883 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9923 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_quarter((yyloc), (yyvsp[-1].item)); } -#line 29917 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29957 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1411: -#line 9887 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9927 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_repeat((yyloc), (yyvsp[-3].item),(yyvsp[-1].item)); } -#line 29925 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29965 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1412: -#line 9891 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9931 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_replace((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } -#line 29933 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29973 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1413: -#line 9895 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9935 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_reverse((yyloc), (yyvsp[-1].item)); } -#line 29941 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29981 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1414: -#line 9899 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9939 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_row_count((yyloc)); } -#line 29949 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29989 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1415: -#line 9903 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9943 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_round((yyloc), (yyvsp[-3].item),(yyvsp[-1].item),1); } -#line 29957 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 29997 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1416: -#line 9907 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9947 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_week((yyloc), (yyvsp[-1].item), NULL); } -#line 29965 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30005 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1417: -#line 9911 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9951 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_week((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } -#line 29973 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30013 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1418: -#line 9915 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9955 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-2].item), 0, 0, (yyvsp[-1].ulong_num)); } -#line 29981 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30021 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1419: -#line 9919 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9959 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-5].item), 0, (yyvsp[-2].ulong_num), (yyvsp[-1].ulong_num) | MY_STRXFRM_PAD_WITH_SPACE); } -#line 29990 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30030 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1420: -#line 9924 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9964 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-4].item), 0, (yyvsp[-1].ulong_num), MY_STRXFRM_PAD_WITH_SPACE, true); } -#line 29999 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30039 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1421: -#line 9929 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9969 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-7].item), (yyvsp[-5].ulong_num), (yyvsp[-3].ulong_num), (yyvsp[-1].ulong_num)); } -#line 30007 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30047 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1423: -#line 9937 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9977 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn(YYTHD, "CONTAINS", "MBRCONTAINS"); (yyval.item)= NEW_PTN Item_func_spatial_mbr_rel((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), Item_func::SP_CONTAINS_FUNC); } -#line 30017 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30057 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1424: -#line 9943 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9983 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_geometrycollection, Geometry::wkb_point); } -#line 30027 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30067 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1425: -#line 9949 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9989 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_linestring, Geometry::wkb_point); } -#line 30037 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30077 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1426: -#line 9955 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 9995 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_multilinestring, Geometry::wkb_linestring); } -#line 30047 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30087 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1427: -#line 9961 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10001 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_multipoint, Geometry::wkb_point); } -#line 30057 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30097 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1428: -#line 9967 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10007 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_multipolygon, Geometry::wkb_polygon); } -#line 30067 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30107 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1429: -#line 9973 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10013 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_point((yyloc), (yyvsp[-3].item),(yyvsp[-1].item)); } -#line 30075 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30115 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1430: -#line 9977 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10017 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2), Geometry::wkb_polygon, Geometry::wkb_linestring); } -#line 30085 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30125 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1431: -#line 9995 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10035 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_function_call_generic_ident_sys((yylsp[-3]), (yyvsp[-3].lex_str), (yyvsp[-1].item_list2)); } -#line 30093 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30133 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1432: -#line 9999 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10039 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_function_call_generic_2d((yyloc), (yyvsp[-5].lex_str), (yyvsp[-3].lex_str), (yyvsp[-1].item_list2)); } -#line 30101 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30141 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1433: -#line 10006 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10046 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); } -#line 30107 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30147 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1434: -#line 10008 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10048 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= FT_BOOL; DBUG_EXECUTE_IF("simulate_bug18831513", @@ -30117,341 +30157,341 @@ MYSQLerror(NULL,thd,"syntax error"); }); } -#line 30121 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30161 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1435: -#line 10020 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10060 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= FT_NL; } -#line 30127 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30167 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1436: -#line 10021 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10061 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= FT_NL; } -#line 30133 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30173 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1437: -#line 10025 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10065 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 30139 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30179 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1438: -#line 10026 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10066 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= FT_EXPAND; } -#line 30145 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30185 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1439: -#line 10030 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10070 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NULL; } -#line 30151 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30191 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1440: -#line 10031 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10071 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[0].item_list2); } -#line 30157 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30197 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1441: -#line 10036 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10076 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } -#line 30167 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30207 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1442: -#line 10042 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10082 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } -#line 30177 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30217 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1443: -#line 10051 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10091 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_udf_expr((yyloc), (yyvsp[-1].item), (yyvsp[0].lex_str), (yylsp[-1]).cpp); } -#line 30185 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30225 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1444: -#line 10058 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10098 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_avg((yyloc), (yyvsp[-1].item), FALSE); } -#line 30193 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30233 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1445: -#line 10062 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10102 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_avg((yyloc), (yyvsp[-1].item), TRUE); } -#line 30201 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30241 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1446: -#line 10066 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10106 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_and((yyloc), (yyvsp[-1].item)); } -#line 30209 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30249 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1447: -#line 10070 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10110 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_or((yyloc), (yyvsp[-1].item)); } -#line 30217 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30257 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1448: -#line 10074 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10114 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_json_array((yyloc), (yyvsp[-1].item)); } -#line 30225 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30265 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1449: -#line 10078 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10118 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_json_object((yyloc), (yyvsp[-3].item), (yyvsp[-1].item)); } -#line 30233 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30273 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1450: -#line 10082 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10122 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_xor((yyloc), (yyvsp[-1].item)); } -#line 30241 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30281 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1451: -#line 10086 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10126 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_count_sym((yyloc)); } -#line 30249 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30289 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1452: -#line 10090 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10130 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_count((yyloc), (yyvsp[-1].item)); } -#line 30257 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30297 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1453: -#line 10094 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10134 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= new Item_sum_count((yyloc), (yyvsp[-1].item_list2)); } -#line 30265 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30305 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1454: -#line 10098 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10138 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_min((yyloc), (yyvsp[-1].item)); } -#line 30273 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30313 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1455: -#line 10107 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10147 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_min((yyloc), (yyvsp[-1].item)); } -#line 30281 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30321 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1456: -#line 10111 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10151 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_max((yyloc), (yyvsp[-1].item)); } -#line 30289 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30329 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1457: -#line 10115 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10155 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_max((yyloc), (yyvsp[-1].item)); } -#line 30297 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30337 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1458: -#line 10119 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10159 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_std((yyloc), (yyvsp[-1].item), 0); } -#line 30305 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30345 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1459: -#line 10123 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10163 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_variance((yyloc), (yyvsp[-1].item), 0); } -#line 30313 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30353 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1460: -#line 10127 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10167 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_std((yyloc), (yyvsp[-1].item), 1); } -#line 30321 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30361 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1461: -#line 10131 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10171 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_variance((yyloc), (yyvsp[-1].item), 1); } -#line 30329 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30369 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1462: -#line 10135 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10175 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_sum((yyloc), (yyvsp[-1].item), FALSE); } -#line 30337 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30377 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1463: -#line 10139 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10179 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_sum_sum((yyloc), (yyvsp[-1].item), TRUE); } -#line 30345 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30385 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1464: -#line 10146 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10186 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_func_group_concat((yyloc), (yyvsp[-4].num), (yyvsp[-3].item_list2), (yyvsp[-2].order_list), (yyvsp[-1].string)); } -#line 30353 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30393 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1465: -#line 10152 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10192 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } -#line 30359 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30399 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1466: -#line 10157 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10197 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_variable_aux_set_var((yyloc), (yyvsp[-2].lex_str), (yyvsp[0].item)); } -#line 30367 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30407 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1467: -#line 10161 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10201 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_variable_aux_ident_or_text((yyloc), (yyvsp[0].lex_str)); } -#line 30375 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30415 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1468: -#line 10165 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10205 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_variable_aux_3d((yyloc), (yyvsp[-2].var_type), (yyvsp[-1].lex_str), (yylsp[-1]), (yyvsp[0].lex_str)); } -#line 30383 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30423 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1469: -#line 10171 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10211 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) = 0; } -#line 30389 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30429 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1470: -#line 10172 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10212 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) = 1; } -#line 30395 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30435 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1471: -#line 10177 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10217 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string)= new (YYTHD->mem_root) String(",", 1, &my_charset_latin1); if ((yyval.string) == NULL) MYSQL_YYABORT; } -#line 30405 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30445 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1472: -#line 10182 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10222 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string) = (yyvsp[0].string); } -#line 30411 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30451 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1473: -#line 10186 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10226 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NULL; } -#line 30417 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30457 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1474: -#line 10187 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10227 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= (yyvsp[0].order_list); } -#line 30423 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30463 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1475: -#line 10192 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10232 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].order_list)->push_back((yyvsp[0].order_expr)); (yyval.order_list)= (yyvsp[-2].order_list); } -#line 30432 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30472 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1476: -#line 10197 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10237 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NEW_PTN PT_gorder_list(); if ((yyval.order_list) == NULL) MYSQL_YYABORT; (yyval.order_list)->push_back((yyvsp[0].order_expr)); } -#line 30443 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30483 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1477: -#line 10207 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10247 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_in_sum_expr((yylsp[-1]), (yyvsp[0].item)); } -#line 30451 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30491 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1478: -#line 10214 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10254 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_CHAR; (yyval.cast_type).charset= &my_charset_bin; @@ -30459,11 +30499,11 @@ (yyval.cast_type).length= (yyvsp[0].c_str); (yyval.cast_type).dec= NULL; } -#line 30463 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30503 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1479: -#line 10222 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10262 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_CHAR; (yyval.cast_type).charset= (yyvsp[0].charset_with_flags).charset; @@ -30471,11 +30511,11 @@ (yyval.cast_type).length= (yyvsp[-1].c_str); (yyval.cast_type).dec= NULL; } -#line 30475 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30515 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1480: -#line 10230 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10270 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_CHAR; (yyval.cast_type).charset= national_charset_info; @@ -30483,11 +30523,11 @@ (yyval.cast_type).length= (yyvsp[0].c_str); (yyval.cast_type).dec= NULL; } -#line 30487 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30527 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1481: -#line 10238 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10278 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_SIGNED_INT; (yyval.cast_type).charset= NULL; @@ -30495,11 +30535,11 @@ (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } -#line 30499 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30539 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1482: -#line 10246 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10286 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_SIGNED_INT; (yyval.cast_type).charset= NULL; @@ -30507,11 +30547,11 @@ (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } -#line 30511 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30551 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1483: -#line 10254 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10294 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_UNSIGNED_INT; (yyval.cast_type).charset= NULL; @@ -30519,11 +30559,11 @@ (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } -#line 30523 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30563 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1484: -#line 10262 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10302 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_UNSIGNED_INT; (yyval.cast_type).charset= NULL; @@ -30531,11 +30571,11 @@ (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } -#line 30535 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30575 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1485: -#line 10270 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10310 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_DATE; (yyval.cast_type).charset= NULL; @@ -30543,11 +30583,11 @@ (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } -#line 30547 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30587 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1486: -#line 10278 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10318 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_TIME; (yyval.cast_type).charset= NULL; @@ -30555,11 +30595,11 @@ (yyval.cast_type).length= NULL; (yyval.cast_type).dec= (yyvsp[0].c_str); } -#line 30559 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30599 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1487: -#line 10286 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10326 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target= ITEM_CAST_DATETIME; (yyval.cast_type).charset= NULL; @@ -30567,11 +30607,11 @@ (yyval.cast_type).length= NULL; (yyval.cast_type).dec= (yyvsp[0].c_str); } -#line 30571 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30611 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1488: -#line 10294 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10334 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target=ITEM_CAST_DECIMAL; (yyval.cast_type).charset= NULL; @@ -30579,11 +30619,11 @@ (yyval.cast_type).length= (yyvsp[0].precision).length; (yyval.cast_type).dec= (yyvsp[0].precision).dec; } -#line 30583 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30623 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1489: -#line 10302 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10342 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.cast_type).target=ITEM_CAST_JSON; (yyval.cast_type).charset= NULL; @@ -30591,93 +30631,93 @@ (yyval.cast_type).length= NULL; (yyval.cast_type).dec= NULL; } -#line 30595 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30635 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1490: -#line 10312 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10352 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NULL; } -#line 30601 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30641 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1492: -#line 10318 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10358 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } -#line 30611 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30651 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1493: -#line 10324 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10364 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } -#line 30621 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30661 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1494: -#line 10332 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10372 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[0].item_list2); } -#line 30627 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30667 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1495: -#line 10333 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10373 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[-1].item_list2); } -#line 30633 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30673 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1496: -#line 10338 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10378 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } -#line 30643 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30683 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1497: -#line 10344 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10384 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } -#line 30653 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30693 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1498: -#line 10352 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10392 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } -#line 30659 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30699 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1499: -#line 10353 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10393 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } -#line 30665 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30705 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1500: -#line 10357 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10397 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } -#line 30671 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30711 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1501: -#line 10358 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10398 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } -#line 30677 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30717 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1502: -#line 10363 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10403 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list)= new List; if ((yyval.item_list) == NULL) @@ -30685,379 +30725,379 @@ (yyval.item_list)->push_back((yyvsp[-2].item)); (yyval.item_list)->push_back((yyvsp[0].item)); } -#line 30689 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30729 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1503: -#line 10371 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10411 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-4].item_list)->push_back((yyvsp[-2].item)); (yyvsp[-4].item_list)->push_back((yyvsp[0].item)); (yyval.item_list)= (yyvsp[-4].item_list); } -#line 30699 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30739 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1505: -#line 10383 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10423 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list2)= NEW_PTN PT_table_ref_join_table((yyvsp[0].node)); } -#line 30707 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30747 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1506: -#line 10390 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10430 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.join_table_list)= NEW_PTN PT_join_table_list((yyloc), (yyvsp[0].table_list2)); } -#line 30715 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30755 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1508: -#line 10404 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10444 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list2)= (yyvsp[-1].table_list2); } -#line 30721 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30761 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1510: -#line 10412 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10452 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list2)= NEW_PTN PT_derived_table_list((yyloc), (yyvsp[-2].table_list2), (yyvsp[0].table_list2)); } -#line 30729 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30769 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1511: -#line 10432 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10472 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table((yyvsp[-2].table_list2), (yylsp[-1]), (yyvsp[0].table_list2)); } -#line 30737 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30777 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1512: -#line 10436 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10476 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table((yyvsp[-2].table_list2), (yylsp[-1]), (yyvsp[0].table_list2)); } -#line 30745 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30785 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1513: -#line 10442 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10482 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table_on((yyvsp[-4].table_list2), (yylsp[-3]), (yyvsp[-2].table_list2), (yyvsp[0].item)); } -#line 30753 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30793 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1514: -#line 10448 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10488 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table_on((yyvsp[-4].table_list2), (yylsp[-3]), (yyvsp[-2].table_list2), (yyvsp[0].item)); } -#line 30761 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30801 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1515: -#line 10454 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10494 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table_using((yyvsp[-6].table_list2), (yylsp[-5]), (yyvsp[-4].table_list2), (yyvsp[-1].string_list)); } -#line 30769 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30809 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1516: -#line 10458 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10498 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table((yyvsp[-3].table_list2), (yylsp[-2]), (yyvsp[0].table_list2)); } -#line 30777 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30817 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1517: -#line 10466 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10506 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table_on((yyvsp[-6].table_list2), (yylsp[-5]), (yyvsp[-2].table_list2), (yyvsp[0].item)); } -#line 30785 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30825 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1518: -#line 10471 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10511 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table_using((yyvsp[-8].table_list2), (yylsp[-7]), (yyvsp[-4].table_list2), (yyvsp[-1].string_list)); } -#line 30793 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30833 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1519: -#line 10475 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10515 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table((yyvsp[-5].table_list2), (yylsp[-4]), (yyvsp[0].table_list2)); } -#line 30801 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30841 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1520: -#line 10483 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10523 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table_on((yyvsp[-6].table_list2), (yylsp[-5]), (yyvsp[-2].table_list2), (yyvsp[0].item)); } -#line 30809 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30849 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1521: -#line 10488 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10528 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table_using((yyvsp[-8].table_list2), (yylsp[-7]), (yyvsp[-4].table_list2), (yyvsp[-1].string_list)); } -#line 30817 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30857 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1522: -#line 10492 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10532 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_join_table((yyvsp[-5].table_list2), (yylsp[-4]), (yyvsp[0].table_list2)); } -#line 30825 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30865 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1523: -#line 10498 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10538 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 30831 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30871 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1524: -#line 10499 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10539 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 30837 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30877 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1525: -#line 10500 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10540 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 30843 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30883 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1526: -#line 10508 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10548 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string_list)= NULL; } -#line 30849 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30889 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1528: -#line 10514 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10554 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string_list)= (yyvsp[-1].string_list); } -#line 30857 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30897 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1529: -#line 10529 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10569 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list2)= NEW_PTN PT_table_factor_table_ident((yyvsp[-3].table), (yyvsp[-2].string_list), (yyvsp[-1].lex_str_ptr), (yyvsp[0].key_usage_list)); } -#line 30865 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30905 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1530: -#line 10533 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10573 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list2)= NEW_PTN PT_table_factor_select_sym((yyloc), (yyvsp[-3].optimizer_hints), (yyvsp[-2].select_options), (yyvsp[-1].item_list2), (yyvsp[0].table_expression)); } -#line 30873 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30913 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1531: -#line 10555 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10595 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list2)= NEW_PTN PT_table_factor_parenthesis((yyvsp[-2].table_list2), (yyvsp[0].lex_str_ptr), (yylsp[0])); } -#line 30881 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30921 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1532: -#line 10582 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10622 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list2)= NEW_PTN PT_select_derived_union_select((yyvsp[-1].table_list2), (yyvsp[0].node), (yylsp[0])); } -#line 30889 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30929 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1533: -#line 10586 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10626 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list2)= NEW_PTN PT_select_derived_union_union((yyvsp[-3].table_list2), (yylsp[-2]), (yyvsp[-1].num), (yyvsp[0].select_lex2)); } -#line 30897 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30937 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1534: -#line 10593 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10633 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* TODO: remove this semantic action (currently this removal adds shift/reduce conflict) */ } -#line 30908 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30948 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1535: -#line 10600 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10640 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_part2_derived)= NEW_PTN PT_select_part2_derived((yyvsp[-1].ulonglong_number), (yyvsp[0].item_list2)); } -#line 30916 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30956 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1536: -#line 10608 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10648 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_list2)= NEW_PTN PT_select_derived((yylsp[0]), (yyvsp[0].table_list2)); } -#line 30924 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30964 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1537: -#line 10614 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10654 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 30930 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30970 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1538: -#line 10615 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10655 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 30936 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30976 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1539: -#line 10620 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10660 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL; } -#line 30944 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30984 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1540: -#line 10623 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10663 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= INDEX_HINT_MASK_JOIN; } -#line 30950 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30990 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1541: -#line 10624 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10664 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= INDEX_HINT_MASK_ORDER; } -#line 30956 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 30996 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1542: -#line 10625 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10665 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= INDEX_HINT_MASK_GROUP; } -#line 30962 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31002 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1543: -#line 10629 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10669 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_hint)= INDEX_HINT_FORCE; } -#line 30968 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31008 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1544: -#line 10630 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10670 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.index_hint)= INDEX_HINT_IGNORE; } -#line 30974 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31014 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1545: -#line 10636 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10676 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { init_index_hints((yyvsp[-1].key_usage_list), (yyvsp[-5].index_hint), (yyvsp[-3].num)); (yyval.key_usage_list)= (yyvsp[-1].key_usage_list); } -#line 30983 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31023 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1546: -#line 10642 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10682 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { init_index_hints((yyvsp[-1].key_usage_list), INDEX_HINT_USE, (yyvsp[-3].num)); (yyval.key_usage_list)= (yyvsp[-1].key_usage_list); } -#line 30992 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31032 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1548: -#line 10651 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10691 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[0].key_usage_list)->concat((yyvsp[-1].key_usage_list)); (yyval.key_usage_list)= (yyvsp[0].key_usage_list); } -#line 31001 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31041 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1549: -#line 10658 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10698 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_list)= NULL; } -#line 31007 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31047 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1552: -#line 10668 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10708 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_list)= new (YYTHD->mem_root) List; Index_hint *hint= new (YYTHD->mem_root) Index_hint(NULL, 0); if ((yyval.key_usage_list) == NULL || hint == NULL || (yyval.key_usage_list)->push_front(hint)) MYSQL_YYABORT; } -#line 31018 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31058 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1554: -#line 10679 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10719 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_element)= new (YYTHD->mem_root) Index_hint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if ((yyval.key_usage_element) == NULL) MYSQL_YYABORT; } -#line 31028 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31068 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1555: -#line 10685 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10725 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_element)= new (YYTHD->mem_root) Index_hint(STRING_WITH_LEN("PRIMARY")); if ((yyval.key_usage_element) == NULL) MYSQL_YYABORT; } -#line 31038 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31078 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1556: -#line 10694 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10734 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.key_usage_list)= new (YYTHD->mem_root) List; if ((yyval.key_usage_list) == NULL || (yyval.key_usage_list)->push_front((yyvsp[0].key_usage_element))) MYSQL_YYABORT; } -#line 31048 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31088 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1557: -#line 10700 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10740 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyval.key_usage_list)->push_front((yyvsp[0].key_usage_element))) MYSQL_YYABORT; } -#line 31057 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31097 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1558: -#line 10708 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10748 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.string_list)= new List)) MYSQL_YYABORT; @@ -31068,11 +31108,11 @@ MYSQL_YYABORT; (yyval.string_list)->push_back(s); } -#line 31072 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31112 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1559: -#line 10719 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10759 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { String *s= new (YYTHD->mem_root) String((const char *) (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, @@ -31082,269 +31122,269 @@ (yyvsp[-2].string_list)->push_back(s); (yyval.string_list)= (yyvsp[-2].string_list); } -#line 31086 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31126 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1560: -#line 10731 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10771 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 31092 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31132 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1561: -#line 10732 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10772 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_DAY_HOUR; } -#line 31098 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31138 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1562: -#line 10733 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10773 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_DAY_MICROSECOND; } -#line 31104 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31144 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1563: -#line 10734 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10774 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_DAY_MINUTE; } -#line 31110 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31150 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1564: -#line 10735 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10775 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_DAY_SECOND; } -#line 31116 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31156 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1565: -#line 10736 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10776 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; } -#line 31122 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31162 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1566: -#line 10737 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10777 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_HOUR_MINUTE; } -#line 31128 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31168 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1567: -#line 10738 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10778 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_HOUR_SECOND; } -#line 31134 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31174 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1568: -#line 10739 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10779 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; } -#line 31140 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31180 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1569: -#line 10740 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10780 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_MINUTE_SECOND; } -#line 31146 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31186 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1570: -#line 10741 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10781 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; } -#line 31152 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31192 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1571: -#line 10742 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10782 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval)=INTERVAL_YEAR_MONTH; } -#line 31158 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31198 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1572: -#line 10746 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10786 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_DAY; } -#line 31164 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31204 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1573: -#line 10747 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10787 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_WEEK; } -#line 31170 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31210 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1574: -#line 10748 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10788 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_HOUR; } -#line 31176 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31216 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1575: -#line 10749 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10789 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_MINUTE; } -#line 31182 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31222 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1576: -#line 10750 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10790 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_MONTH; } -#line 31188 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31228 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1577: -#line 10751 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10791 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_QUARTER; } -#line 31194 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31234 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1578: -#line 10752 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10792 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_SECOND; } -#line 31200 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31240 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1579: -#line 10753 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10793 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_MICROSECOND; } -#line 31206 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31246 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1580: -#line 10754 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10794 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.interval_time_st)=INTERVAL_YEAR; } -#line 31212 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31252 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1581: -#line 10758 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10798 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {(yyval.date_time_type)= MYSQL_TIMESTAMP_DATE; } -#line 31218 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31258 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1582: -#line 10759 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10799 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {(yyval.date_time_type)= MYSQL_TIMESTAMP_TIME; } -#line 31224 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31264 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1583: -#line 10760 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10800 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {(yyval.date_time_type)= MYSQL_TIMESTAMP_DATETIME; } -#line 31230 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31270 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1584: -#line 10761 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10801 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {(yyval.date_time_type)= MYSQL_TIMESTAMP_DATETIME; } -#line 31236 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31276 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1588: -#line 10771 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10811 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str_ptr)=0; } -#line 31242 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31282 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1589: -#line 10773 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10813 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str_ptr)= (LEX_STRING*) sql_memdup(&(yyvsp[0].lex_str),sizeof(LEX_STRING)); if ((yyval.lex_str_ptr) == NULL) MYSQL_YYABORT; } -#line 31252 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31292 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1592: -#line 10786 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10826 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } -#line 31258 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31298 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1593: -#line 10788 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10828 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= new PTI_context((yyloc), (yyvsp[0].item)); } -#line 31266 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31306 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1594: -#line 10794 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10834 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } -#line 31272 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31312 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1595: -#line 10796 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10836 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= new PTI_context((yyloc), (yyvsp[0].item)); } -#line 31280 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31320 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1596: -#line 10802 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10842 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } -#line 31286 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31326 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1597: -#line 10803 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10843 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } -#line 31292 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31332 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1598: -#line 10811 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10851 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.group)= NULL; } -#line 31298 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31338 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1599: -#line 10813 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10853 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.group)= NEW_PTN PT_group((yyvsp[-1].order_list), (yyvsp[0].olap_type)); } -#line 31306 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31346 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1600: -#line 10820 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10860 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].order_list)->push_back((yyvsp[0].order_expr)); (yyval.order_list)= (yyvsp[-2].order_list); } -#line 31315 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31355 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1601: -#line 10825 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10865 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NEW_PTN PT_order_list(); if ((yyval.order_list) == NULL) MYSQL_YYABORT; (yyval.order_list)->push_back((yyvsp[0].order_expr)); } -#line 31326 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31366 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1602: -#line 10834 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10874 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.olap_type)= UNSPECIFIED_OLAP_TYPE; } -#line 31332 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31372 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1603: -#line 10835 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10875 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.olap_type)= CUBE_TYPE; } -#line 31338 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31378 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1604: -#line 10843 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10883 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.olap_type)= ROLLUP_TYPE; } -#line 31344 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31384 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1608: -#line 10868 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10908 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[-1].item), &(yyvsp[-1].item)); @@ -31357,327 +31397,327 @@ order->is_position= false; add_order_to_list(thd, order); } -#line 31361 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31401 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1609: -#line 10887 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10927 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order)= NULL; } -#line 31367 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31407 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1611: -#line 10893 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10933 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order)= NEW_PTN PT_order((yyvsp[0].order_list)); } -#line 31375 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31415 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1612: -#line 10900 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10940 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyvsp[-2].order_list)->push_back((yyvsp[0].order_expr)); (yyval.order_list)= (yyvsp[-2].order_list); } -#line 31384 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31424 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1613: -#line 10905 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10945 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_list)= NEW_PTN PT_order_list(); if ((yyval.order_list) == NULL) MYSQL_YYABORT; (yyval.order_list)->push_back((yyvsp[0].order_expr)); } -#line 31395 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31435 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1614: -#line 10914 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10954 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) = 1; } -#line 31401 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31441 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1616: -#line 10919 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10959 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) =1; } -#line 31407 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31447 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1617: -#line 10920 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10960 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num) =0; } -#line 31413 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31453 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1618: -#line 10924 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10964 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.limit_clause)= NULL; } -#line 31419 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31459 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1620: -#line 10930 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10970 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.limit_clause)= NEW_PTN PT_limit_clause((yyvsp[0].limit_options)); } -#line 31427 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31467 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1621: -#line 10937 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10977 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.limit_options).limit= (yyvsp[0].item); (yyval.limit_options).opt_offset= NULL; (yyval.limit_options).is_offset_first= false; } -#line 31437 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31477 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1622: -#line 10943 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10983 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.limit_options).limit= (yyvsp[0].item); (yyval.limit_options).opt_offset= (yyvsp[-2].item); (yyval.limit_options).is_offset_first= true; } -#line 31447 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31487 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1623: -#line 10949 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10989 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.limit_options).limit= (yyvsp[-2].item); (yyval.limit_options).opt_offset= (yyvsp[0].item); (yyval.limit_options).is_offset_first= false; } -#line 31457 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31497 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1624: -#line 10958 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 10998 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_limit_option_ident((yyloc), (yyvsp[0].lex_str), (yylsp[0]).raw); } -#line 31465 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31505 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1625: -#line 10962 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11002 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_limit_option_param_marker((yyloc), (yyvsp[0].param_marker)); } -#line 31473 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31513 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1626: -#line 10966 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11006 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); } -#line 31481 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31521 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1627: -#line 10970 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11010 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); } -#line 31489 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31529 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1628: -#line 10974 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11014 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); } -#line 31497 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31537 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1629: -#line 10980 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11020 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } -#line 31503 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31543 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1630: -#line 10981 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11021 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].item); } -#line 31509 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31549 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1631: -#line 10985 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11025 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31515 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31555 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1632: -#line 10986 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11026 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (ulong) my_strtoll((yyvsp[0].lex_str).str, (char**) 0, 16); } -#line 31521 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31561 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1633: -#line 10987 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11027 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31527 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31567 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1634: -#line 10988 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11028 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31533 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31573 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1635: -#line 10989 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11029 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31539 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31579 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1636: -#line 10990 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11030 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31545 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31585 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1637: -#line 10994 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11034 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31551 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31591 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1638: -#line 10995 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11035 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulong_num)= (ulong) my_strtoll((yyvsp[0].lex_str).str, (char**) 0, 16); } -#line 31557 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31597 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1639: -#line 10996 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11036 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31563 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31603 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1640: -#line 10997 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11037 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31569 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31609 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1641: -#line 10998 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11038 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MYSQL_YYABORT; } -#line 31575 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31615 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1642: -#line 11002 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11042 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31581 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31621 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1643: -#line 11003 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11043 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31587 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31627 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1644: -#line 11004 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11044 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31593 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31633 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1645: -#line 11005 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11045 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31599 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31639 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1646: -#line 11006 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11046 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31605 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31645 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1647: -#line 11010 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11050 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31611 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31651 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1648: -#line 11011 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11051 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31617 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31657 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1649: -#line 11012 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11052 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } -#line 31623 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31663 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1650: -#line 11013 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11053 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MYSQL_YYABORT; } -#line 31629 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31669 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1651: -#line 11018 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11058 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { my_syntax_error(ER(ER_ONLY_INTEGERS_ALLOWED)); } -#line 31635 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31675 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1654: -#line 11027 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11067 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.procedure_analyse)= NULL; } -#line 31641 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31681 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1655: -#line 11030 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11070 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn_no_replacement(YYTHD, "PROCEDURE ANALYSE"); (yyval.procedure_analyse)= NEW_PTN PT_procedure_analyse((yyvsp[-1].procedure_analyse_params)); } -#line 31650 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31690 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1656: -#line 11038 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11078 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.procedure_analyse_params).max_tree_elements= Proc_analyse_params::default_max_tree_elements; (yyval.procedure_analyse_params).max_treemem= Proc_analyse_params::default_max_treemem; } -#line 31659 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31699 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1657: -#line 11043 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11083 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.procedure_analyse_params).max_tree_elements= static_cast((yyvsp[0].ulonglong_number)); (yyval.procedure_analyse_params).max_treemem= Proc_analyse_params::default_max_treemem; } -#line 31668 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31708 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1658: -#line 11048 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11088 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.procedure_analyse_params).max_tree_elements= static_cast((yyvsp[-2].ulonglong_number)); (yyval.procedure_analyse_params).max_treemem= static_cast((yyvsp[0].ulonglong_number)); } -#line 31677 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31717 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1659: -#line 11056 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11096 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); @@ -31687,83 +31727,83 @@ MYSQL_YYABORT; } } -#line 31691 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31731 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1660: -#line 11069 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11109 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_var_list)= (yyvsp[-2].select_var_list); if ((yyval.select_var_list) == NULL || (yyval.select_var_list)->push_back((yyvsp[0].select_var_ident))) MYSQL_YYABORT; } -#line 31701 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31741 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1661: -#line 11075 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11115 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_var_list)= NEW_PTN PT_select_var_list; if ((yyval.select_var_list) == NULL || (yyval.select_var_list)->push_back((yyvsp[0].select_var_ident))) MYSQL_YYABORT; } -#line 31711 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31751 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1662: -#line 11084 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11124 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_var_ident)= NEW_PTN PT_select_var((yyvsp[0].lex_str)); } -#line 31719 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31759 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1663: -#line 11088 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11128 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_var_ident)= NEW_PTN PT_select_sp_var((yyvsp[0].lex_str)); } -#line 31727 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31767 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1664: -#line 11094 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11134 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.into_destination)= NULL; } -#line 31733 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31773 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1666: -#line 11100 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11140 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.into_destination)= (yyvsp[0].into_destination); } -#line 31741 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31781 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1667: -#line 11109 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11149 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.into_destination)= NEW_PTN PT_into_destination_outfile((yyvsp[-3].lex_str), (yyvsp[-2].charset), (yyvsp[-1].field_separators), (yyvsp[0].line_separators)); } -#line 31749 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31789 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1668: -#line 11113 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11153 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.into_destination)= NEW_PTN PT_into_destination_dumpfile((yyvsp[0].lex_str)); } -#line 31757 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31797 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1669: -#line 11116 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11156 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.into_destination)= (yyvsp[0].select_var_list); } -#line 31763 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31803 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1670: -#line 11125 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11165 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select)= NEW_PTN PT_select( NEW_PTN PT_select_init2(NULL, @@ -31771,20 +31811,20 @@ NEW_PTN PT_select_options_and_item_list((yyvsp[-1].select_options), (yyvsp[0].item_list2))), NULL), SQLCOM_DO); } -#line 31775 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31815 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1671: -#line 11136 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11176 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_options).query_spec_options= 0; (yyval.select_options).sql_cache= SELECT_LEX::SQL_CACHE_UNSPECIFIED; } -#line 31784 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31824 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1672: -#line 11148 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11188 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_DROP_TABLE; @@ -31793,23 +31833,23 @@ YYPS->m_lock_type= TL_UNLOCK; YYPS->m_mdl_type= MDL_EXCLUSIVE; } -#line 31797 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31837 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1673: -#line 11157 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11197 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 31803 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31843 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1674: -#line 11158 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11198 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 31809 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31849 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1675: -#line 11159 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11199 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[-3].lex_str).str); @@ -31825,28 +31865,28 @@ MDL_SHARED_UPGRADABLE)) MYSQL_YYABORT; } -#line 31829 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31869 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1676: -#line 11174 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11214 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 31835 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31875 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1677: -#line 11176 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11216 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_DROP_DB; lex->drop_if_exists=(yyvsp[-1].num); lex->name= (yyvsp[0].lex_str); } -#line 31846 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31886 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1678: -#line 11183 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11223 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -31869,11 +31909,11 @@ spname->init_qname(thd); lex->spname= spname; } -#line 31873 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31913 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1679: -#line 11206 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11246 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* Unlike DROP PROCEDURE, "DROP FUNCTION ident" should work @@ -31905,11 +31945,11 @@ spname->init_qname(thd); lex->spname= spname; } -#line 31909 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31949 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1680: -#line 11238 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11278 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (lex->sphead) @@ -31921,21 +31961,21 @@ lex->drop_if_exists= (yyvsp[-1].num); lex->spname= (yyvsp[0].spname); } -#line 31925 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31965 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1681: -#line 11250 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11290 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_DROP_USER; lex->drop_if_exists= (yyvsp[-2].num); } -#line 31935 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31975 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1682: -#line 11256 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11296 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_DROP_VIEW; @@ -31943,66 +31983,66 @@ YYPS->m_lock_type= TL_UNLOCK; YYPS->m_mdl_type= MDL_EXCLUSIVE; } -#line 31947 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31987 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1683: -#line 11264 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11304 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 31953 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 31993 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1684: -#line 11266 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11306 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->drop_if_exists= (yyvsp[-1].num); Lex->spname= (yyvsp[0].spname); Lex->sql_command = SQLCOM_DROP_EVENT; } -#line 31963 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32003 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1685: -#line 11272 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11312 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_DROP_TRIGGER; lex->drop_if_exists= (yyvsp[-1].num); lex->spname= (yyvsp[0].spname); } -#line 31974 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32014 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1686: -#line 11279 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11319 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= DROP_TABLESPACE; } -#line 31983 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32023 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1687: -#line 11284 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11324 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= DROP_LOGFILE_GROUP; } -#line 31992 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32032 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1688: -#line 11289 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11329 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_DROP_SERVER; Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_drop_server((yyvsp[0].lex_str), (yyvsp[-1].num)); } -#line 32002 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32042 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1691: -#line 11303 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11343 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!Select->add_table_to_list(YYTHD, (yyvsp[0].table), NULL, TL_OPTION_UPDATING, @@ -32010,66 +32050,66 @@ YYPS->m_mdl_type)) MYSQL_YYABORT; } -#line 32014 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32054 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1692: -#line 11314 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11354 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_ident_list).init(YYTHD->mem_root); if ((yyval.table_ident_list).push_back((yyvsp[0].table_ident))) MYSQL_YYABORT; // OOM } -#line 32024 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32064 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1693: -#line 11320 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11360 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_ident_list)= (yyvsp[-2].table_ident_list); if ((yyval.table_ident_list).push_back((yyvsp[0].table_ident))) MYSQL_YYABORT; // OOM } -#line 32034 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32074 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1694: -#line 11328 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11368 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 32040 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32080 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1695: -#line 11329 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11369 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } -#line 32046 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32086 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1696: -#line 11333 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11373 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 32052 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32092 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1697: -#line 11334 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11374 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 1; } -#line 32058 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32098 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1705: -#line 11364 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11404 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.statement)= NEW_PTN PT_insert(false, (yyvsp[-7].optimizer_hints), (yyvsp[-6].lock_type), (yyvsp[-5].is_not_empty), (yyvsp[-3].table), (yyvsp[-2].string_list), (yyvsp[-1].column_row_value_list_pair).column_list, (yyvsp[-1].column_row_value_list_pair).row_value_list, NULL, (yyvsp[0].column_value_list_pair).column_list, (yyvsp[0].column_value_list_pair).value_list); } -#line 32069 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32109 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1706: -#line 11379 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11419 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { PT_insert_values_list *one_row= NEW_PTN PT_insert_values_list; if (one_row == NULL || one_row->push_back(&(yyvsp[-1].column_value_list_pair).value_list->value)) @@ -32079,33 +32119,33 @@ NULL, (yyvsp[0].column_value_list_pair).column_list, (yyvsp[0].column_value_list_pair).value_list); } -#line 32083 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32123 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1707: -#line 11396 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11436 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.statement)= NEW_PTN PT_insert(false, (yyvsp[-7].optimizer_hints), (yyvsp[-6].lock_type), (yyvsp[-5].is_not_empty), (yyvsp[-3].table), (yyvsp[-2].string_list), (yyvsp[-1].insert_from_subquery).column_list, NULL, (yyvsp[-1].insert_from_subquery).insert_query_expression, (yyvsp[0].column_value_list_pair).column_list, (yyvsp[0].column_value_list_pair).value_list); } -#line 32094 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32134 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1708: -#line 11411 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11451 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.statement)= NEW_PTN PT_insert(true, (yyvsp[-5].optimizer_hints), (yyvsp[-4].lock_type), false, (yyvsp[-2].table), (yyvsp[-1].string_list), (yyvsp[0].column_row_value_list_pair).column_list, (yyvsp[0].column_row_value_list_pair).row_value_list, NULL, NULL, NULL); } -#line 32105 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32145 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1709: -#line 11424 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11464 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { PT_insert_values_list *one_row= NEW_PTN PT_insert_values_list; if (one_row == NULL || one_row->push_back(&(yyvsp[0].column_value_list_pair).value_list->value)) @@ -32115,34 +32155,34 @@ NULL, NULL, NULL); } -#line 32119 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32159 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1710: -#line 11439 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11479 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.statement)= NEW_PTN PT_insert(true, (yyvsp[-5].optimizer_hints), (yyvsp[-4].lock_type), false, (yyvsp[-2].table), (yyvsp[-1].string_list), (yyvsp[0].insert_from_subquery).column_list, NULL, (yyvsp[0].insert_from_subquery).insert_query_expression, NULL, NULL); } -#line 32130 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32170 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1711: -#line 11448 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11488 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_CONCURRENT_DEFAULT; } -#line 32136 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32176 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1712: -#line 11449 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11489 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } -#line 32142 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32182 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1713: -#line 11451 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11491 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_CONCURRENT_DEFAULT; @@ -32151,23 +32191,23 @@ ER(ER_WARN_LEGACY_SYNTAX_CONVERTED), "INSERT DELAYED", "INSERT"); } -#line 32155 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32195 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1714: -#line 11459 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11499 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE; } -#line 32161 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32201 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1715: -#line 11463 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11503 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= (yyvsp[0].lock_type); } -#line 32167 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32207 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1716: -#line 11465 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11505 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_DEFAULT; @@ -32176,233 +32216,233 @@ ER(ER_WARN_LEGACY_SYNTAX_CONVERTED), "REPLACE DELAYED", "REPLACE"); } -#line 32180 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32220 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1719: -#line 11482 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11522 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_row_value_list_pair).column_list= NEW_PTN PT_item_list; (yyval.column_row_value_list_pair).row_value_list= (yyvsp[0].values_list); } -#line 32189 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32229 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1720: -#line 11487 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11527 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_row_value_list_pair).column_list= NEW_PTN PT_item_list; (yyval.column_row_value_list_pair).row_value_list= (yyvsp[0].values_list); } -#line 32198 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32238 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1721: -#line 11492 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11532 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_row_value_list_pair).column_list= (yyvsp[-2].item_list2); (yyval.column_row_value_list_pair).row_value_list= (yyvsp[0].values_list); } -#line 32207 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32247 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1722: -#line 11500 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11540 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.insert_from_subquery).column_list= NEW_PTN PT_item_list; (yyval.insert_from_subquery).insert_query_expression= (yyvsp[0].insert_query_expression); } -#line 32216 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32256 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1723: -#line 11505 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11545 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.insert_from_subquery).column_list= NEW_PTN PT_item_list; (yyval.insert_from_subquery).insert_query_expression= (yyvsp[0].insert_query_expression); } -#line 32225 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32265 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1724: -#line 11510 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11550 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.insert_from_subquery).column_list= (yyvsp[-2].item_list2); (yyval.insert_from_subquery).insert_query_expression= (yyvsp[0].insert_query_expression); } -#line 32234 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32274 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1725: -#line 11518 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11558 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } -#line 32244 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32284 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1726: -#line 11524 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11564 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } -#line 32254 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32294 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1727: -#line 11533 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11573 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.values_list)= (yyvsp[0].values_list); } -#line 32262 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32302 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1728: -#line 11540 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11580 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.insert_query_expression)= NEW_PTN PT_insert_query_expression(false, (yyvsp[-1].create_select), (yyvsp[0].union_list)); } -#line 32270 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32310 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1729: -#line 11544 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11584 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.insert_query_expression)= NEW_PTN PT_insert_query_expression(true, (yyvsp[-2].create_select), (yyvsp[0].node)); } -#line 32278 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32318 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1732: -#line 11556 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11596 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyval.values_list)->push_back(&(yyvsp[0].item_list2)->value)) MYSQL_YYABORT; } -#line 32287 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32327 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1733: -#line 11561 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11601 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.values_list)= NEW_PTN PT_insert_values_list; if ((yyval.values_list) == NULL || (yyval.values_list)->push_back(&(yyvsp[0].item_list2)->value)) MYSQL_YYABORT; } -#line 32297 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32337 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1734: -#line 11570 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11610 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 32303 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32343 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1735: -#line 11571 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11611 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 32309 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32349 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1736: -#line 11575 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11615 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 32315 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32355 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1737: -#line 11576 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11616 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 32321 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32361 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1738: -#line 11580 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11620 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= (yyvsp[-1].item_list2); } -#line 32327 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32367 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1739: -#line 11585 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11625 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL) MYSQL_YYABORT; } -#line 32337 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32377 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1741: -#line 11595 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11635 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-2].item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; (yyval.item_list2)= (yyvsp[-2].item_list2); } -#line 32347 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32387 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1742: -#line 11601 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11641 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item_list2)= NEW_PTN PT_item_list; if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item))) MYSQL_YYABORT; } -#line 32357 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32397 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1744: -#line 11611 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11651 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_default_value((yyloc)); } -#line 32365 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32405 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1745: -#line 11618 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11658 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_value_list_pair).value_list= NULL; (yyval.column_value_list_pair).column_list= NULL; } -#line 32374 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32414 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1746: -#line 11623 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11663 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_value_list_pair)= (yyvsp[0].column_value_list_pair); } -#line 32382 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32422 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1747: -#line 11640 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11680 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.statement)= NEW_PTN PT_update((yyvsp[-8].optimizer_hints), (yyvsp[-7].lock_type), (yyvsp[-6].is_not_empty), (yyvsp[-5].join_table_list), (yyvsp[-3].column_value_list_pair).column_list, (yyvsp[-3].column_value_list_pair).value_list, (yyvsp[-2].item), (yyvsp[-1].order), (yyvsp[0].item)); } -#line 32391 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32431 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1748: -#line 11648 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11688 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_value_list_pair)= (yyvsp[-2].column_value_list_pair); if ((yyval.column_value_list_pair).column_list->push_back((yyvsp[0].column_value_pair).column) || (yyval.column_value_list_pair).value_list->push_back((yyvsp[0].column_value_pair).value)) MYSQL_YYABORT; // OOM } -#line 32402 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32442 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1749: -#line 11655 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11695 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_value_list_pair).column_list= NEW_PTN PT_item_list; (yyval.column_value_list_pair).value_list= NEW_PTN PT_item_list; @@ -32411,86 +32451,86 @@ (yyval.column_value_list_pair).value_list->push_back((yyvsp[0].column_value_pair).value)) MYSQL_YYABORT; // OOM } -#line 32415 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32455 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1750: -#line 11667 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11707 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.column_value_pair).column= (yyvsp[-2].item); (yyval.column_value_pair).value= (yyvsp[0].item); } -#line 32424 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32464 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1751: -#line 11674 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11714 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_DEFAULT; } -#line 32430 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32470 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1752: -#line 11675 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11715 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } -#line 32436 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32476 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1753: -#line 11689 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11729 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.statement)= NEW_PTN PT_delete(YYTHD->mem_root, (yyvsp[-7].optimizer_hints), (yyvsp[-6].num), (yyvsp[-4].table), (yyvsp[-3].string_list), (yyvsp[-2].item), (yyvsp[-1].order), (yyvsp[0].item)); } -#line 32444 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32484 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1754: -#line 11698 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11738 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.statement)= NEW_PTN PT_delete((yyvsp[-5].optimizer_hints), (yyvsp[-4].num), (yyvsp[-3].table_ident_list), (yyvsp[-1].join_table_list), (yyvsp[0].item)); } -#line 32452 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32492 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1755: -#line 11708 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11748 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.statement)= NEW_PTN PT_delete((yyvsp[-6].optimizer_hints), (yyvsp[-5].num), (yyvsp[-3].table_ident_list), (yyvsp[-1].join_table_list), (yyvsp[0].item)); } -#line 32460 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32500 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1758: -#line 11719 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11759 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= 0; } -#line 32466 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32506 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1759: -#line 11720 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11760 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= (yyvsp[-1].opt_delete_option) | (yyvsp[0].num); } -#line 32472 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32512 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1760: -#line 11724 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11764 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_delete_option)= DELETE_QUICK; } -#line 32478 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32518 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1761: -#line 11725 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11765 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_delete_option)= DELETE_LOW_PRIORITY; } -#line 32484 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32524 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1762: -#line 11726 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11766 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.opt_delete_option)= DELETE_IGNORE; } -#line 32490 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32530 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1763: -#line 11731 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11771 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX* lex= Lex; lex->sql_command= SQLCOM_TRUNCATE; @@ -32498,135 +32538,135 @@ YYPS->m_lock_type= TL_WRITE; YYPS->m_mdl_type= MDL_EXCLUSIVE; } -#line 32502 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32542 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1764: -#line 11739 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11779 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_truncate_table(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 32515 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32555 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1771: -#line 11764 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11804 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_CPU; } -#line 32523 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32563 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1772: -#line 11768 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11808 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_MEMORY; } -#line 32531 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32571 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1773: -#line 11772 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11812 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_BLOCK_IO; } -#line 32539 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32579 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1774: -#line 11776 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11816 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_CONTEXT; } -#line 32547 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32587 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1775: -#line 11780 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11820 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_PAGE_FAULTS; } -#line 32555 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32595 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1776: -#line 11784 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11824 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_IPC; } -#line 32563 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32603 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1777: -#line 11788 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11828 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_SWAPS; } -#line 32571 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32611 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1778: -#line 11792 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11832 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_SOURCE; } -#line 32579 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32619 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1779: -#line 11796 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11836 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->profile_options|= PROFILE_ALL; } -#line 32587 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32627 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1780: -#line 11803 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11843 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->query_id= 0; } -#line 32595 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32635 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1781: -#line 11807 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11847 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { int error; Lex->query_id= static_cast(my_strtoll10((yyvsp[0].lex_str).str, NULL, &error)); if (error != 0) MYSQL_YYABORT; } -#line 32606 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32646 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1782: -#line 11819 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11859 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; new (&lex->create_info) HA_CREATE_INFO; } -#line 32615 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32655 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1784: -#line 11828 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11868 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_DATABASES; if (prepare_schema_table(YYTHD, lex, 0, SCH_SCHEMATA)) MYSQL_YYABORT; } -#line 32626 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32666 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1785: -#line 11835 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11875 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLES; @@ -32634,11 +32674,11 @@ if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLE_NAMES)) MYSQL_YYABORT; } -#line 32638 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32678 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1786: -#line 11843 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11883 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TRIGGERS; @@ -32646,11 +32686,11 @@ if (prepare_schema_table(YYTHD, lex, 0, SCH_TRIGGERS)) MYSQL_YYABORT; } -#line 32650 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32690 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1787: -#line 11851 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11891 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_EVENTS; @@ -32658,11 +32698,11 @@ if (prepare_schema_table(YYTHD, lex, 0, SCH_EVENTS)) MYSQL_YYABORT; } -#line 32662 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32702 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1788: -#line 11859 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11899 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLE_STATUS; @@ -32670,11 +32710,11 @@ if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLES)) MYSQL_YYABORT; } -#line 32674 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32714 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1789: -#line 11867 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11907 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_OPEN_TABLES; @@ -32682,34 +32722,34 @@ if (prepare_schema_table(YYTHD, lex, 0, SCH_OPEN_TABLES)) MYSQL_YYABORT; } -#line 32686 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32726 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1790: -#line 11875 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11915 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_PLUGINS; if (prepare_schema_table(YYTHD, lex, 0, SCH_PLUGINS)) MYSQL_YYABORT; } -#line 32697 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32737 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1791: -#line 11882 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11922 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.db_type= (yyvsp[-1].db_type); } -#line 32703 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32743 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1792: -#line 11884 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11924 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_info.db_type= NULL; } -#line 32709 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32749 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1793: -#line 11886 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11926 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_FIELDS; @@ -32718,63 +32758,63 @@ if (prepare_schema_table(YYTHD, lex, (yyvsp[-2].table), SCH_COLUMNS)) MYSQL_YYABORT; } -#line 32722 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32762 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1794: -#line 11895 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11935 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_SHOW_BINLOGS; } -#line 32730 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32770 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1795: -#line 11899 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11939 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS; } -#line 32738 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32778 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1796: -#line 11903 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11943 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS; } -#line 32747 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32787 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1797: -#line 11908 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11948 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].limit_clause) != NULL) CONTEXTUALIZE((yyvsp[0].limit_clause)); } -#line 32756 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32796 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1798: -#line 11913 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11953 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS; } -#line 32765 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32805 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1799: -#line 11918 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11958 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].limit_clause) != NULL) CONTEXTUALIZE((yyvsp[-1].limit_clause)); } -#line 32774 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32814 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1800: -#line 11927 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11967 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].item) != NULL) ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -32787,51 +32827,51 @@ if (prepare_schema_table(YYTHD, lex, (yyvsp[-2].table), SCH_STATISTICS)) MYSQL_YYABORT; } -#line 32791 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32831 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1801: -#line 11940 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11980 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES; if (prepare_schema_table(YYTHD, lex, 0, SCH_ENGINES)) MYSQL_YYABORT; } -#line 32802 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32842 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1802: -#line 11947 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11987 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_PRIVILEGES; } -#line 32811 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32851 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1803: -#line 11952 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11992 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW WARNINGS doesn't clear them. Parse_context pc(YYTHD, Select); create_select_for_variable(&pc, "warning_count"); } -#line 32821 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32861 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1804: -#line 11958 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 11998 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW ERRORS doesn't clear them. Parse_context pc(YYTHD, Select); create_select_for_variable(&pc, "error_count"); } -#line 32831 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32871 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1805: -#line 11964 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12004 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].limit_clause) != NULL) CONTEXTUALIZE((yyvsp[0].limit_clause)); @@ -32839,11 +32879,11 @@ Lex->sql_command = SQLCOM_SHOW_WARNS; Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW WARNINGS doesn't clear them. } -#line 32843 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32883 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1806: -#line 11972 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12012 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].limit_clause) != NULL) CONTEXTUALIZE((yyvsp[0].limit_clause)); @@ -32851,11 +32891,11 @@ Lex->sql_command = SQLCOM_SHOW_ERRORS; Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW ERRORS doesn't clear them. } -#line 32855 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32895 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1807: -#line 11980 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12020 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_warning_printf(YYTHD, Sql_condition::SL_WARNING, ER_WARN_DEPRECATED_SYNTAX, @@ -32863,11 +32903,11 @@ "SHOW PROFILES", "Performance Schema"); Lex->sql_command = SQLCOM_SHOW_PROFILES; } -#line 32867 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32907 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1808: -#line 11988 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12028 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].limit_clause) != NULL) CONTEXTUALIZE((yyvsp[0].limit_clause)); @@ -32877,11 +32917,11 @@ if (prepare_schema_table(YYTHD, lex, NULL, SCH_PROFILES) != 0) YYABORT; } -#line 32881 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32921 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1809: -#line 11998 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12038 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -32912,17 +32952,17 @@ } } } -#line 32916 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32956 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1810: -#line 12029 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12069 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;} -#line 32922 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32962 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1811: -#line 12031 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12071 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -32953,33 +32993,33 @@ } } } -#line 32957 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 32997 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1812: -#line 12062 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12102 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_CHARSETS; if (prepare_schema_table(YYTHD, lex, 0, SCH_CHARSETS)) MYSQL_YYABORT; } -#line 32968 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33008 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1813: -#line 12069 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12109 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_COLLATIONS; if (prepare_schema_table(YYTHD, lex, 0, SCH_COLLATIONS)) MYSQL_YYABORT; } -#line 32979 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33019 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1814: -#line 12076 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12116 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_GRANTS; @@ -32989,32 +33029,32 @@ memset(curr_user, 0, sizeof(st_lex_user)); lex->grant_user= curr_user; } -#line 32993 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33033 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1815: -#line 12086 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12126 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_GRANTS; lex->grant_user=(yyvsp[0].lex_user); lex->grant_user->auth= NULL_CSTR; } -#line 33004 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33044 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1816: -#line 12093 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12133 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command=SQLCOM_SHOW_CREATE_DB; Lex->create_info.options=(yyvsp[-1].num); Lex->name= (yyvsp[0].lex_str); } -#line 33014 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33054 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1817: -#line 12099 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12139 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; @@ -33023,11 +33063,11 @@ lex->only_view= 0; lex->create_info.storage_media= HA_SM_DEFAULT; } -#line 33027 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33067 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1818: -#line 12108 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12148 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; @@ -33035,195 +33075,195 @@ MYSQL_YYABORT; lex->only_view= 1; } -#line 33039 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33079 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1819: -#line 12116 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12156 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_SHOW_MASTER_STAT; } -#line 33047 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33087 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1820: -#line 12120 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12160 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; } -#line 33055 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33095 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1821: -#line 12124 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12164 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_PROC; lex->spname= (yyvsp[0].spname); } -#line 33066 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33106 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1822: -#line 12131 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12171 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_FUNC; lex->spname= (yyvsp[0].spname); } -#line 33077 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33117 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1823: -#line 12138 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12178 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER; lex->spname= (yyvsp[0].spname); } -#line 33087 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33127 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1824: -#line 12144 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12184 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_PROC; if (prepare_schema_table(YYTHD, lex, 0, SCH_PROCEDURES)) MYSQL_YYABORT; } -#line 33098 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33138 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1825: -#line 12151 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12191 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_FUNC; if (prepare_schema_table(YYTHD, lex, 0, SCH_PROCEDURES)) MYSQL_YYABORT; } -#line 33109 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33149 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1826: -#line 12158 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12198 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_PROC_CODE; Lex->spname= (yyvsp[0].spname); } -#line 33118 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33158 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1827: -#line 12163 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12203 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_FUNC_CODE; Lex->spname= (yyvsp[0].spname); } -#line 33127 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33167 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1828: -#line 12168 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12208 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->spname= (yyvsp[0].spname); Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT; } -#line 33136 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33176 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1829: -#line 12173 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12213 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_CREATE_USER; lex->grant_user=(yyvsp[0].lex_user); } -#line 33146 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33186 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1830: -#line 12182 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12222 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; } -#line 33152 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33192 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1831: -#line 12184 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12224 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; } -#line 33158 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33198 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1832: -#line 12186 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12226 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; } -#line 33164 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33204 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1837: -#line 12200 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12240 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.simple_string)= 0; } -#line 33170 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33210 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1838: -#line 12201 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12241 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.simple_string)= (yyvsp[0].lex_str).str; } -#line 33176 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33216 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1839: -#line 12205 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12245 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->verbose=0; } -#line 33182 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33222 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1840: -#line 12206 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12246 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->verbose=1; } -#line 33188 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33228 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1843: -#line 12215 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12255 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.log_file_name = 0; } -#line 33194 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33234 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1844: -#line 12216 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12256 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; } -#line 33200 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33240 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1845: -#line 12220 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12260 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.pos = 4; /* skip magic number */ } -#line 33206 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33246 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1846: -#line 12221 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12261 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->mi.pos = (yyvsp[0].ulonglong_number); } -#line 33212 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33252 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1848: -#line 12227 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12267 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->wild= new (YYTHD->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info); if (Lex->wild == NULL) MYSQL_YYABORT; } -#line 33223 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33263 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1849: -#line 12234 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12274 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -33231,22 +33271,22 @@ if ((yyvsp[0].item)) (yyvsp[0].item)->top_level_item(); } -#line 33235 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33275 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1851: -#line 12246 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12286 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->wild= new (YYTHD->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info); if (Lex->wild == NULL) MYSQL_YYABORT; } -#line 33246 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33286 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1852: -#line 12253 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12293 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (show_compatibility_56) { @@ -33269,11 +33309,11 @@ Select->set_where_cond((yyvsp[0].item)); } } -#line 33273 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33313 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1853: -#line 12280 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12320 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->current_select()->parsing_place= CTX_SELECT_LIST; @@ -33283,59 +33323,59 @@ if (prepare_schema_table(YYTHD, lex, (yyvsp[0].table), SCH_COLUMNS)) MYSQL_YYABORT; } -#line 33287 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33327 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1854: -#line 12290 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12330 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { // Ensure we're resetting parsing context of the right select - DBUG_ASSERT(Select->parsing_place == CTX_SELECT_LIST); + assert(Select->parsing_place == CTX_SELECT_LIST); Select->parsing_place= CTX_NONE; } -#line 33297 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33337 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1855: -#line 12296 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12336 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->describe|= DESCRIBE_NORMAL; } -#line 33305 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33345 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1857: -#line 12303 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12343 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { CONTEXTUALIZE((yyvsp[0].select)); } -#line 33311 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33351 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1858: -#line 12304 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12344 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MAKE_CMD((yyvsp[0].statement)); } -#line 33317 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33357 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1859: -#line 12305 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12345 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MAKE_CMD((yyvsp[0].statement)); } -#line 33323 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33363 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1860: -#line 12306 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12346 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MAKE_CMD((yyvsp[0].statement)); } -#line 33329 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33369 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1861: -#line 12307 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12347 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MAKE_CMD((yyvsp[0].statement)); } -#line 33335 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33375 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1862: -#line 12309 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12349 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_EXPLAIN_OTHER; if (Lex->sphead) @@ -33346,40 +33386,40 @@ } Lex->query_id= (my_thread_id)((yyvsp[0].ulong_num)); } -#line 33350 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33390 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1865: -#line 12328 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12368 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((Lex->explain_format= new Explain_format_traditional) == NULL) MYSQL_YYABORT; } -#line 33359 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33399 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1866: -#line 12333 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12373 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((Lex->explain_format= new Explain_format_traditional) == NULL) MYSQL_YYABORT; push_deprecated_warn_no_replacement(YYTHD, "EXTENDED"); } -#line 33369 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33409 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1867: -#line 12339 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12379 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((Lex->explain_format= new Explain_format_traditional) == NULL) MYSQL_YYABORT; push_deprecated_warn_no_replacement(YYTHD, "PARTITIONS"); } -#line 33379 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33419 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1868: -#line 12345 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12385 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!my_strcasecmp(system_charset_info, (yyvsp[0].lex_str).str, "JSON")) { @@ -33397,23 +33437,23 @@ MYSQL_YYABORT; } } -#line 33401 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33441 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1869: -#line 12365 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12405 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 33407 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33447 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1870: -#line 12366 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12406 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->wild= (yyvsp[0].string); } -#line 33413 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33453 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1871: -#line 12368 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12408 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->wild= new (YYTHD->mem_root) String((const char*) (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, @@ -33421,28 +33461,28 @@ if (Lex->wild == NULL) MYSQL_YYABORT; } -#line 33425 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33465 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1872: -#line 12382 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12422 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_FLUSH; lex->type= 0; lex->no_write_to_binlog= (yyvsp[0].num); } -#line 33436 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33476 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1873: -#line 12389 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12429 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 33442 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33482 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1874: -#line 12394 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12434 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_TABLES; /* @@ -33452,29 +33492,29 @@ YYPS->m_lock_type= TL_READ_NO_INSERT; YYPS->m_mdl_type= MDL_SHARED_HIGH_PRIO; } -#line 33456 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33496 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1875: -#line 12403 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12443 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 33462 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33502 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1876: -#line 12404 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12444 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 33468 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33508 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1878: -#line 12409 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12449 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 33474 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33514 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1879: -#line 12411 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12451 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { TABLE_LIST *tables= Lex->query_tables; Lex->type|= REFRESH_READ_LOCK; @@ -33485,11 +33525,11 @@ tables->open_type= OT_BASE_ONLY; /* Ignore temporary tables. */ } } -#line 33489 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33529 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1880: -#line 12422 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12462 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->query_tables == NULL) // Table list can't be empty { @@ -33497,11 +33537,11 @@ MYSQL_YYABORT; } } -#line 33501 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33541 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1881: -#line 12430 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12470 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { TABLE_LIST *tables= Lex->query_tables; Lex->type|= REFRESH_FOR_EXPORT; @@ -33512,188 +33552,188 @@ tables->open_type= OT_BASE_ONLY; /* Ignore temporary tables. */ } } -#line 33516 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33556 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1883: -#line 12445 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12485 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 33522 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33562 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1884: -#line 12450 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12490 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_ERROR_LOG; } -#line 33528 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33568 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1885: -#line 12452 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12492 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_ENGINE_LOG; } -#line 33534 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33574 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1886: -#line 12454 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12494 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_GENERAL_LOG; } -#line 33540 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33580 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1887: -#line 12456 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12496 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_SLOW_LOG; } -#line 33546 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33586 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1888: -#line 12458 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12498 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_BINARY_LOG; } -#line 33552 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33592 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1889: -#line 12460 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12500 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_RELAY_LOG; } -#line 33558 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33598 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1890: -#line 12462 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12502 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn_no_replacement(YYTHD, "FLUSH QUERY CACHE"); Lex->type|= REFRESH_QUERY_CACHE_FREE; } -#line 33567 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33607 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1891: -#line 12467 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12507 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_HOSTS; } -#line 33573 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33613 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1892: -#line 12469 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12509 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_GRANT; } -#line 33579 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33619 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1893: -#line 12471 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12511 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_LOG; } -#line 33585 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33625 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1894: -#line 12473 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12513 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_STATUS; } -#line 33591 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33631 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1895: -#line 12475 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12515 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_DES_KEY_FILE; } -#line 33597 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33637 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1896: -#line 12477 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12517 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_USER_RESOURCES; } -#line 33603 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33643 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1897: -#line 12479 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12519 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_OPTIMIZER_COSTS; } -#line 33609 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33649 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1898: -#line 12483 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12523 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 33615 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33655 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1899: -#line 12484 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12524 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 33621 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33661 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1900: -#line 12489 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12529 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_RESET; lex->type=0; } -#line 33630 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33670 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1901: -#line 12494 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12534 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 33636 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33676 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1904: -#line 12503 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12543 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_SLAVE; } -#line 33642 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33682 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1906: -#line 12505 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12545 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type|= REFRESH_MASTER; } -#line 33648 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33688 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1907: -#line 12507 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12547 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn_no_replacement(YYTHD, "RESET QUERY CACHE"); Lex->type|= REFRESH_QUERY_CACHE; } -#line 33657 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33697 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1908: -#line 12514 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12554 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->reset_slave_info.all= false; } -#line 33663 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33703 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1909: -#line 12515 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12555 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->reset_slave_info.all= true; } -#line 33669 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33709 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1910: -#line 12520 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12560 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->type=0; lex->sql_command = SQLCOM_PURGE; } -#line 33679 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33719 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1911: -#line 12526 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12566 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 33685 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33725 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1913: -#line 12535 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12575 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->to_log = (yyvsp[0].lex_str).str; } -#line 33693 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33733 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1914: -#line 12539 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12579 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -33702,11 +33742,11 @@ lex->purge_value_list.push_front((yyvsp[0].item)); lex->sql_command= SQLCOM_PURGE_BEFORE; } -#line 33706 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33746 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1915: -#line 12553 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12593 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -33715,39 +33755,39 @@ lex->kill_value_list.push_front((yyvsp[0].item)); lex->sql_command= SQLCOM_KILL; } -#line 33719 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33759 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1916: -#line 12564 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12604 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type= 0; } -#line 33725 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33765 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1917: -#line 12565 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12605 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type= 0; } -#line 33731 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33771 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1918: -#line 12566 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12606 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->type= ONLY_KILL_QUERY; } -#line 33737 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33777 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1919: -#line 12573 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12613 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command=SQLCOM_CHANGE_DB; lex->select_lex->db= (yyvsp[0].lex_str).str; } -#line 33747 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33787 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1920: -#line 12584 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12624 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -33759,11 +33799,11 @@ MYSQL_YYABORT; } } -#line 33763 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33803 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1921: -#line 12596 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12636 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_LOAD; @@ -33773,11 +33813,11 @@ if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str, 0, (yyvsp[-5].filetype)))) MYSQL_YYABORT; } -#line 33777 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33817 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1922: -#line 12606 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12646 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; /* Fix lock for LOAD DATA CONCURRENT REPLACE */ @@ -33795,274 +33835,274 @@ if (lex->local_file && lex->duplicates == DUP_ERROR) lex->set_ignore(true); } -#line 33799 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33839 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1923: -#line 12624 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12664 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->exchange->cs= (yyvsp[0].charset); } -#line 33805 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33845 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1924: -#line 12628 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12668 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->exchange->field.merge_field_separators((yyvsp[-4].field_separators)); Lex->exchange->line.merge_line_separators((yyvsp[-3].line_separators)); } -#line 33814 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33854 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1925: -#line 12635 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12675 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.filetype)= FILETYPE_CSV; } -#line 33820 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33860 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1926: -#line 12636 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12676 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.filetype)= FILETYPE_XML; } -#line 33826 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33866 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1927: -#line 12640 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12680 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=0;} -#line 33832 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33872 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1928: -#line 12641 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12681 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=1;} -#line 33838 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33878 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1929: -#line 12645 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12685 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_DEFAULT; } -#line 33844 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33884 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1930: -#line 12646 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12686 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT; } -#line 33850 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33890 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1931: -#line 12647 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12687 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } -#line 33856 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33896 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1932: -#line 12651 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12691 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->duplicates=DUP_ERROR; } -#line 33862 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33902 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1933: -#line 12652 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12692 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->duplicates=DUP_REPLACE; } -#line 33868 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33908 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1934: -#line 12653 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12693 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->set_ignore(true); } -#line 33874 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33914 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1935: -#line 12657 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12697 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators).cleanup(); } -#line 33880 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33920 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1936: -#line 12658 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12698 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators)= (yyvsp[0].field_separators); } -#line 33886 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33926 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1937: -#line 12663 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12703 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators)= (yyvsp[-1].field_separators); (yyval.field_separators).merge_field_separators((yyvsp[0].field_separators)); } -#line 33895 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33935 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1939: -#line 12672 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12712 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators).cleanup(); (yyval.field_separators).field_term= (yyvsp[0].string); } -#line 33904 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33944 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1940: -#line 12677 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12717 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators).cleanup(); (yyval.field_separators).enclosed= (yyvsp[0].string); (yyval.field_separators).opt_enclosed= 1; } -#line 33914 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33954 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1941: -#line 12683 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12723 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators).cleanup(); (yyval.field_separators).enclosed= (yyvsp[0].string); } -#line 33923 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33963 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1942: -#line 12688 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12728 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.field_separators).cleanup(); (yyval.field_separators).escaped= (yyvsp[0].string); } -#line 33932 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33972 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1943: -#line 12695 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12735 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.line_separators).cleanup(); } -#line 33938 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33978 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1944: -#line 12696 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12736 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.line_separators)= (yyvsp[0].line_separators); } -#line 33944 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33984 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1945: -#line 12701 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12741 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.line_separators)= (yyvsp[-1].line_separators); (yyval.line_separators).merge_line_separators((yyvsp[0].line_separators)); } -#line 33953 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 33993 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1947: -#line 12710 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12750 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.line_separators).cleanup(); (yyval.line_separators).line_term= (yyvsp[0].string); } -#line 33962 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34002 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1948: -#line 12715 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12755 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.line_separators).cleanup(); (yyval.line_separators).line_start= (yyvsp[0].string); } -#line 33971 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34011 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1949: -#line 12722 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12762 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { } -#line 33977 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34017 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1950: -#line 12724 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12764 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->exchange->line.line_term = (yyvsp[0].string); } -#line 33983 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34023 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1952: -#line 12729 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12769 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { - DBUG_ASSERT(Lex->exchange != 0); + assert(Lex->exchange != 0); Lex->exchange->skip_lines= atol((yyvsp[-1].lex_str).str); } -#line 33992 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34032 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1953: -#line 12736 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12776 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { } -#line 33998 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34038 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1954: -#line 12738 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12778 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { } -#line 34004 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34044 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1955: -#line 12742 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12782 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34010 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34050 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1956: -#line 12743 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12783 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34016 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34056 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1957: -#line 12744 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12784 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34022 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34062 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1958: -#line 12749 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12789 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->load_field_list.push_back((yyvsp[0].item)); } -#line 34028 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34068 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1959: -#line 12751 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12791 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->load_field_list.push_back((yyvsp[0].item)); } -#line 34034 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34074 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1960: -#line 12755 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12795 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyval.item)); } -#line 34040 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34080 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1961: -#line 12757 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12797 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= new (YYTHD->mem_root) Item_user_var_as_out_param((yyvsp[0].lex_str)); if ((yyval.item) == NULL) MYSQL_YYABORT; } -#line 34050 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34090 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1962: -#line 12765 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12805 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34056 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34096 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1963: -#line 12766 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12806 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34062 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34102 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1966: -#line 12776 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12816 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[-2].item), &(yyvsp[-2].item)); ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); @@ -34080,47 +34120,47 @@ MYSQL_YYABORT; (yyvsp[0].item)->item_name.copy((yylsp[-1]).cpp.start, length, YYTHD->charset()); } -#line 34084 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34124 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1967: -#line 12799 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12839 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.text_literal)= NEW_PTN PTI_text_literal_text_string((yyloc), YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[0].lex_str)); } -#line 34093 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34133 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1968: -#line 12804 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12844 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.text_literal)= NEW_PTN PTI_text_literal_nchar_string((yyloc), YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[0].lex_str)); } -#line 34102 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34142 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1969: -#line 12809 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12849 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.text_literal)= NEW_PTN PTI_text_literal_underscore_charset((yyloc), YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[-1].charset), (yyvsp[0].lex_str)); } -#line 34111 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34151 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1970: -#line 12814 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12854 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.text_literal)= NEW_PTN PTI_text_literal_concat((yyloc), YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[-1].text_literal), (yyvsp[0].lex_str)); } -#line 34120 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34160 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1971: -#line 12822 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12862 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.string)= new (YYTHD->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, @@ -34128,72 +34168,72 @@ if ((yyval.string) == NULL) MYSQL_YYABORT; } -#line 34132 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34172 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1972: -#line 12830 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12870 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX_STRING s= Item_hex_string::make_hex_str((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); (yyval.string)= new (YYTHD->mem_root) String(s.str, s.length, &my_charset_bin); if ((yyval.string) == NULL) MYSQL_YYABORT; } -#line 34143 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34183 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1973: -#line 12837 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12877 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX_STRING s= Item_bin_string::make_bin_str((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); (yyval.string)= new (YYTHD->mem_root) String(s.str, s.length, &my_charset_bin); if ((yyval.string) == NULL) MYSQL_YYABORT; } -#line 34154 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34194 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1974: -#line 12847 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12887 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.param_marker)= NEW_PTN Item_param((yyloc), (uint) ((yylsp[0]).raw.start - YYLIP->get_buf())); Lex->param_list.push_back((yyval.param_marker)); } -#line 34164 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34204 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1975: -#line 12855 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12895 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyval.item)); } -#line 34170 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34210 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1976: -#line 12856 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12896 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyval.item)); } -#line 34176 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34216 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1977: -#line 12858 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12898 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { ITEMIZE((yyvsp[0].item), &(yyvsp[0].item)); (yyvsp[0].item)->max_length++; (yyval.item)= ((Item_int *)(yyvsp[0].item))->neg(); } -#line 34187 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34227 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1978: -#line 12868 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12908 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= (yyvsp[0].text_literal); } -#line 34193 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34233 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1981: -#line 12872 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12912 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex_input_stream *lip= YYLIP; /* @@ -34206,214 +34246,214 @@ (yyval.item)= NEW_PTN Item_null((yyloc)); lip->next_state= MY_LEX_OPERATOR_OR_IDENT; } -#line 34210 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34250 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1982: -#line 12885 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12925 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_int((yyloc), NAME_STRING("FALSE"), 0, 1); } -#line 34218 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34258 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1983: -#line 12889 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12929 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_int((yyloc), NAME_STRING("TRUE"), 1, 1); } -#line 34226 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34266 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1984: -#line 12893 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12933 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_hex_string((yyloc), (yyvsp[0].lex_str)); } -#line 34234 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34274 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1985: -#line 12897 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12937 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_bin_string((yyloc), (yyvsp[0].lex_str)); } -#line 34242 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34282 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1986: -#line 12901 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12941 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_literal_underscore_charset_hex_num((yyloc), (yyvsp[-1].charset), (yyvsp[0].lex_str)); } -#line 34250 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34290 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1987: -#line 12905 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12945 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_literal_underscore_charset_bin_num((yyloc), (yyvsp[-1].charset), (yyvsp[0].lex_str)); } -#line 34258 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34298 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1988: -#line 12912 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12952 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_num_literal_num((yyloc), (yyvsp[0].lex_str)); } -#line 34266 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34306 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1989: -#line 12916 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12956 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_num_literal_num((yyloc), (yyvsp[0].lex_str)); } -#line 34274 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34314 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1990: -#line 12920 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12960 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); } -#line 34282 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34322 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1991: -#line 12924 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12964 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_decimal((yyloc), (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, YYCSCL); } -#line 34290 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34330 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1992: -#line 12928 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12968 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_float((yyloc), (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); } -#line 34298 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34338 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1993: -#line 12936 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12976 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_temporal_literal((yyloc), (yyvsp[0].lex_str), MYSQL_TYPE_DATE, YYCSCL); } -#line 34306 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34346 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1994: -#line 12940 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12980 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_temporal_literal((yyloc), (yyvsp[0].lex_str), MYSQL_TYPE_TIME, YYCSCL); } -#line 34314 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34354 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1995: -#line 12944 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 12984 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_temporal_literal((yyloc), (yyvsp[0].lex_str), MYSQL_TYPE_DATETIME, YYCSCL); } -#line 34322 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34362 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1998: -#line 12963 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13003 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_asterisk((yyloc), NULL, (yyvsp[-2].lex_str).str); } -#line 34330 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34370 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 1999: -#line 12967 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13007 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { const char *schema_name = YYCLIENT_NO_SCHEMA ? NULL : (yyvsp[-4].lex_str).str; (yyval.item)= NEW_PTN Item_asterisk((yyloc), schema_name, (yyvsp[-2].lex_str).str); } -#line 34339 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34379 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2000: -#line 12975 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13015 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_expr)= NEW_PTN PT_order_expr((yyvsp[-1].item), (yyvsp[0].num)); } -#line 34347 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34387 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2001: -#line 12982 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13022 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.order_expr)= NEW_PTN PT_order_expr((yyvsp[0].item), 1); } -#line 34355 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34395 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2002: -#line 12986 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13026 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn(YYTHD, "GROUP BY with ASC/DESC", "GROUP BY ... ORDER BY ... ASC/DESC"); (yyval.order_expr)= NEW_PTN PT_order_expr((yyvsp[-1].item), (yyvsp[0].num)); } -#line 34365 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34405 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2003: -#line 12995 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13035 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_simple_ident_ident((yyloc), (yyvsp[0].lex_str)); } -#line 34373 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34413 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2005: -#line 13003 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13043 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_simple_ident_nospvar_ident((yyloc), (yyvsp[0].lex_str)); } -#line 34381 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34421 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2007: -#line 13011 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13051 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_simple_ident_q_2d((yyloc), (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str); } -#line 34389 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34429 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2008: -#line 13015 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13055 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn(YYTHD, "..", "the table.column name without a dot prefix"); (yyval.item)= NEW_PTN PTI_simple_ident_q_3d((yyloc), NULL, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str); } -#line 34399 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34439 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2009: -#line 13021 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13061 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN PTI_simple_ident_q_3d((yyloc), (yyvsp[-4].lex_str).str, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str); } -#line 34407 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34447 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2010: -#line 13027 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13067 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str);} -#line 34413 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34453 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2011: -#line 13029 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13069 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { TABLE_LIST *table= Select->table_list.first; if (my_strcasecmp(table_alias_charset, (yyvsp[-4].lex_str).str, table->db)) @@ -34429,11 +34469,11 @@ } (yyval.lex_str)=(yyvsp[0].lex_str); } -#line 34433 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34473 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2012: -#line 13045 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13085 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { TABLE_LIST *table= Select->table_list.first; if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str, table->alias)) @@ -34443,30 +34483,30 @@ } (yyval.lex_str)=(yyvsp[0].lex_str); } -#line 34447 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34487 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2013: -#line 13055 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13095 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn(YYTHD, ".", "the column name without a dot prefix"); (yyval.lex_str)=(yyvsp[0].lex_str); } -#line 34456 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34496 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2014: -#line 13063 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13103 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table)= NEW_PTN Table_ident(to_lex_cstring((yyvsp[0].lex_str))); if ((yyval.table) == NULL) MYSQL_YYABORT; } -#line 34466 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34506 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2015: -#line 13069 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13109 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX_CSTRING schema_name= YYCLIENT_NO_SCHEMA ? LEX_CSTRING() : to_lex_cstring((yyvsp[-2].lex_str)); @@ -34474,11 +34514,11 @@ if ((yyval.table) == NULL) MYSQL_YYABORT; } -#line 34478 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34518 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2016: -#line 13077 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13117 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* For Delphi */ push_deprecated_warn(YYTHD, ".
", "the table name without a dot prefix"); @@ -34486,49 +34526,49 @@ if ((yyval.table) == NULL) MYSQL_YYABORT; } -#line 34490 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34530 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2017: -#line 13088 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13128 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_ident)= NEW_PTN Table_ident(to_lex_cstring((yyvsp[-1].lex_str))); if ((yyval.table_ident) == NULL) MYSQL_YYABORT; } -#line 34500 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34540 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2018: -#line 13094 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13134 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.table_ident)= NEW_PTN Table_ident(YYTHD, to_lex_cstring((yyvsp[-3].lex_str)), to_lex_cstring((yyvsp[-1].lex_str)), 0); if ((yyval.table_ident) == NULL) MYSQL_YYABORT; } -#line 34511 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34551 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2019: -#line 13104 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13144 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX_CSTRING db= { any_db, strlen(any_db) }; (yyval.table)= new Table_ident(YYTHD, db, to_lex_cstring((yyvsp[0].lex_str)), 0); if ((yyval.table) == NULL) MYSQL_YYABORT; } -#line 34522 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34562 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2020: -#line 13113 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13153 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)= (yyvsp[0].lex_str); } -#line 34528 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34568 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2021: -#line 13115 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13155 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; @@ -34555,11 +34595,11 @@ MYSQL_YYABORT; } } -#line 34559 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34599 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2022: -#line 13145 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13185 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!strcont((yyvsp[0].lex_str).str, "\n")) (yyval.lex_str)= (yyvsp[0].lex_str); @@ -34569,11 +34609,11 @@ MYSQL_YYABORT; } } -#line 34573 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34613 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2023: -#line 13158 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13198 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (strcont((yyvsp[0].lex_str).str, ".")) (yyval.lex_str)= (yyvsp[0].lex_str); @@ -34583,11 +34623,11 @@ MYSQL_YYABORT; } } -#line 34587 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34627 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2024: -#line 13171 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13211 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; @@ -34600,11 +34640,11 @@ MYSQL_YYABORT; } } -#line 34604 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34644 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2025: -#line 13187 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13227 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; @@ -34617,11 +34657,11 @@ MYSQL_YYABORT; } } -#line 34621 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34661 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2026: -#line 13203 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13243 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; @@ -34635,17 +34675,17 @@ MYSQL_YYABORT; } } -#line 34639 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34679 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2027: -#line 13219 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13259 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str); } -#line 34645 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34685 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2028: -#line 13221 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13261 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length); @@ -34653,17 +34693,17 @@ MYSQL_YYABORT; (yyval.lex_str).length= (yyvsp[0].symbol).length; } -#line 34657 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34697 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2029: -#line 13231 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13271 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str); } -#line 34663 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34703 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2030: -#line 13233 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13273 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length); @@ -34671,29 +34711,29 @@ MYSQL_YYABORT; (yyval.lex_str).length= (yyvsp[0].symbol).length; } -#line 34675 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34715 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2031: -#line 13243 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13283 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str);} -#line 34681 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34721 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2032: -#line 13244 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13284 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str);} -#line 34687 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34727 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2033: -#line 13245 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13285 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_str)=(yyvsp[0].lex_str);} -#line 34693 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34733 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2034: -#line 13250 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13290 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) @@ -34721,11 +34761,11 @@ system_charset_info, 0)) MYSQL_YYABORT; } -#line 34725 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34765 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2035: -#line 13278 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13318 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) @@ -34762,11 +34802,11 @@ my_casedn_str(system_charset_info, (yyvsp[0].lex_str).str); (yyval.lex_user)->host.str= (yyvsp[0].lex_str).str; } -#line 34766 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34806 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2036: -#line 13315 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13355 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!((yyval.lex_user)=(LEX_USER*) YYTHD->alloc(sizeof(st_lex_user)))) MYSQL_YYABORT; @@ -34777,2332 +34817,2332 @@ */ memset((yyval.lex_user), 0, sizeof(LEX_USER)); } -#line 34781 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34821 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2037: -#line 13329 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13369 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34787 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34827 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2038: -#line 13330 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13370 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34793 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34833 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2039: -#line 13331 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13371 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34799 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34839 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2040: -#line 13332 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13372 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34805 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34845 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2041: -#line 13333 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13373 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34811 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34851 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2042: -#line 13334 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13374 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34817 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34857 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2043: -#line 13335 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13375 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34823 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34863 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2044: -#line 13336 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13376 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34829 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34869 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2045: -#line 13337 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13377 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34835 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34875 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2046: -#line 13338 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13378 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34841 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34881 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2047: -#line 13339 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13379 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34847 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34887 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2048: -#line 13340 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13380 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34853 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34893 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2049: -#line 13341 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13381 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34859 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34899 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2050: -#line 13342 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13382 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34865 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34905 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2051: -#line 13343 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13383 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34871 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34911 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2052: -#line 13344 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13384 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34877 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34917 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2053: -#line 13345 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13385 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34883 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34923 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2054: -#line 13346 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13386 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34889 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34929 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2055: -#line 13347 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13387 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34895 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34935 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2056: -#line 13348 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13388 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34901 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34941 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2057: -#line 13349 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13389 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34907 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34947 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2058: -#line 13350 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13390 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34913 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34953 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2059: -#line 13351 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13391 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34919 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34959 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2060: -#line 13352 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13392 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34925 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34965 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2061: -#line 13353 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13393 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34931 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34971 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2062: -#line 13354 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13394 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34937 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34977 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2063: -#line 13355 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13395 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34943 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34983 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2064: -#line 13356 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13396 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34949 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34989 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2065: -#line 13357 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13397 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34955 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 34995 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2066: -#line 13358 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13398 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34961 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35001 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2067: -#line 13359 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13399 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34967 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35007 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2068: -#line 13360 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13400 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34973 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35013 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2069: -#line 13361 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13401 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34979 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35019 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2070: -#line 13362 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13402 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34985 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35025 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2071: -#line 13363 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13403 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34991 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35031 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2072: -#line 13364 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13404 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 34997 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35037 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2073: -#line 13365 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13405 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35003 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35043 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2074: -#line 13366 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13406 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35009 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35049 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2075: -#line 13367 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13407 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35015 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35055 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2076: -#line 13368 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13408 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35021 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35061 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2077: -#line 13369 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13409 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35027 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35067 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2078: -#line 13370 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13410 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35033 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35073 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2079: -#line 13371 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13411 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35039 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35079 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2080: -#line 13372 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13412 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35045 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35085 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2081: -#line 13373 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13413 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35051 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35091 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2082: -#line 13374 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13414 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35057 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35097 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2083: -#line 13375 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13415 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35063 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35103 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2084: -#line 13376 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13416 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35069 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35109 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2085: -#line 13377 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13417 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35075 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35115 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2086: -#line 13378 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13418 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35081 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35121 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2087: -#line 13379 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13419 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35087 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35127 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2088: -#line 13380 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13420 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35093 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35133 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2089: -#line 13381 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13421 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35099 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35139 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2090: -#line 13382 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13422 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35105 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35145 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2091: -#line 13383 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13423 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35111 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35151 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2092: -#line 13384 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13424 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35117 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35157 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2093: -#line 13385 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13425 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35123 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35163 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2094: -#line 13395 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13435 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35129 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35169 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2095: -#line 13396 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13436 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35135 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35175 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2096: -#line 13397 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13437 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35141 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35181 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2097: -#line 13398 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13438 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35147 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35187 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2098: -#line 13399 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13439 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35153 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35193 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2099: -#line 13400 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13440 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35159 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35199 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2100: -#line 13401 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13441 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35165 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35205 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2101: -#line 13402 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13442 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35171 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35211 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2102: -#line 13403 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13443 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35177 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35217 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2103: -#line 13404 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13444 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35183 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35223 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2104: -#line 13405 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13445 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35189 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35229 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2105: -#line 13406 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13446 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35195 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35235 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2106: -#line 13407 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13447 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35201 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35241 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2107: -#line 13408 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13448 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35207 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35247 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2108: -#line 13409 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13449 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35213 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35253 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2109: -#line 13410 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13450 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35219 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35259 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2110: -#line 13411 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13451 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35225 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35265 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2111: -#line 13412 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13452 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35231 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35271 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2112: -#line 13413 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13453 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35237 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35277 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2113: -#line 13414 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13454 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35243 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35283 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2114: -#line 13415 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13455 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35249 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35289 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2115: -#line 13416 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13456 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35255 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35295 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2116: -#line 13417 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13457 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35261 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35301 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2117: -#line 13418 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13458 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35267 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35307 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2118: -#line 13419 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13459 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35273 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35313 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2119: -#line 13420 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13460 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35279 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35319 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2120: -#line 13421 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13461 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35285 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35325 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2121: -#line 13422 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13462 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35291 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35331 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2122: -#line 13423 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13463 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35297 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35337 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2123: -#line 13424 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13464 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35303 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35343 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2124: -#line 13425 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13465 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35309 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35349 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2125: -#line 13426 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13466 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35315 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35355 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2126: -#line 13427 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13467 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35321 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35361 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2127: -#line 13428 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13468 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35327 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35367 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2128: -#line 13429 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13469 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35333 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35373 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2129: -#line 13430 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13470 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35339 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35379 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2130: -#line 13431 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13471 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35345 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35385 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2131: -#line 13432 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13472 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35351 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35391 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2132: -#line 13433 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13473 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35357 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35397 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2133: -#line 13434 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13474 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35363 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35403 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2134: -#line 13435 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13475 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35369 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35409 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2135: -#line 13436 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13476 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35375 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35415 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2136: -#line 13437 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13477 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35381 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35421 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2137: -#line 13438 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13478 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35387 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35427 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2138: -#line 13439 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13479 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35393 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35433 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2139: -#line 13440 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13480 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35399 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35439 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2140: -#line 13441 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13481 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35405 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35445 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2141: -#line 13442 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13482 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35411 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35451 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2142: -#line 13447 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13487 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35417 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35457 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2143: -#line 13448 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13488 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35423 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35463 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2144: -#line 13449 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13489 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35429 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35469 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2145: -#line 13450 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13490 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35435 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35475 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2146: -#line 13451 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13491 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35441 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35481 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2147: -#line 13452 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13492 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35447 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35487 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2148: -#line 13453 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13493 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35453 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35493 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2149: -#line 13454 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13494 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35459 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35499 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2150: -#line 13455 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13495 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35465 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35505 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2151: -#line 13456 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13496 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35471 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35511 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2152: -#line 13457 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13497 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35477 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35517 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2153: -#line 13458 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13498 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35483 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35523 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2154: -#line 13459 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13499 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35489 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35529 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2155: -#line 13460 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13500 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35495 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35535 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2156: -#line 13461 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13501 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35501 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35541 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2157: -#line 13462 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13502 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35507 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35547 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2158: -#line 13463 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13503 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35513 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35553 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2159: -#line 13464 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13504 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35519 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35559 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2160: -#line 13465 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13505 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35525 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35565 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2161: -#line 13466 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13506 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35531 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35571 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2162: -#line 13467 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13507 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35537 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35577 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2163: -#line 13468 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13508 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35543 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35583 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2164: -#line 13469 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13509 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35549 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35589 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2165: -#line 13470 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13510 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35555 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35595 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2166: -#line 13471 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13511 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35561 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35601 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2167: -#line 13472 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13512 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35567 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35607 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2168: -#line 13473 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13513 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35573 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35613 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2169: -#line 13474 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13514 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35579 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35619 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2170: -#line 13475 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13515 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35585 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35625 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2171: -#line 13476 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13516 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35591 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35631 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2172: -#line 13477 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13517 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35597 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35637 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2173: -#line 13478 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13518 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35603 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35643 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2174: -#line 13479 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13519 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35609 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35649 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2175: -#line 13480 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13520 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35615 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35655 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2176: -#line 13481 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13521 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35621 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35661 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2177: -#line 13482 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13522 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35627 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35667 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2178: -#line 13483 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13523 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35633 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35673 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2179: -#line 13484 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13524 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35639 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35679 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2180: -#line 13485 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13525 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35645 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35685 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2181: -#line 13486 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13526 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35651 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35691 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2182: -#line 13487 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13527 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35657 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35697 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2183: -#line 13488 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13528 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35663 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35703 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2184: -#line 13489 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13529 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35669 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35709 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2185: -#line 13490 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13530 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35675 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35715 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2186: -#line 13491 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13531 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35681 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35721 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2187: -#line 13492 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13532 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35687 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35727 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2188: -#line 13493 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13533 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35693 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35733 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2189: -#line 13494 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13534 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35699 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35739 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2190: -#line 13495 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13535 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35705 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35745 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2191: -#line 13496 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13536 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35711 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35751 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2192: -#line 13497 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13537 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35717 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35757 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2193: -#line 13498 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13538 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35723 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35763 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2194: -#line 13499 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13539 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35729 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35769 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2195: -#line 13500 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13540 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35735 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35775 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2196: -#line 13501 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13541 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35741 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35781 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2197: -#line 13502 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13542 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35747 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35787 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2198: -#line 13503 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13543 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35753 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35793 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2199: -#line 13504 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13544 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35759 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35799 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2200: -#line 13505 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13545 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35765 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35805 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2201: -#line 13506 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13546 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35771 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35811 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2202: -#line 13507 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13547 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35777 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35817 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2203: -#line 13508 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13548 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35783 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35823 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2204: -#line 13509 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13549 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35789 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35829 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2205: -#line 13510 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13550 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35795 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35835 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2206: -#line 13511 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13551 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35801 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35841 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2207: -#line 13512 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13552 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35807 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35847 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2208: -#line 13513 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13553 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35813 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35853 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2209: -#line 13514 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13554 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35819 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35859 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2210: -#line 13515 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13555 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35825 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35865 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2211: -#line 13516 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13556 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35831 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35871 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2212: -#line 13517 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13557 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35837 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35877 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2213: -#line 13518 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13558 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35843 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35883 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2214: -#line 13519 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13559 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35849 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35889 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2215: -#line 13520 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13560 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35855 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35895 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2216: -#line 13521 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13561 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35861 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35901 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2217: -#line 13522 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13562 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35867 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35907 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2218: -#line 13523 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13563 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35873 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35913 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2219: -#line 13524 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13564 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35879 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35919 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2220: -#line 13525 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13565 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35885 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35925 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2221: -#line 13526 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13566 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35891 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35931 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2222: -#line 13527 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13567 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35897 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35937 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2223: -#line 13528 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13568 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35903 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35943 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2224: -#line 13529 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13569 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35909 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35949 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2225: -#line 13530 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13570 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35915 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35955 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2226: -#line 13531 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13571 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35921 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35961 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2227: -#line 13532 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13572 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35927 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35967 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2228: -#line 13533 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13573 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35933 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35973 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2229: -#line 13534 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13574 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35939 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35979 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2230: -#line 13535 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13575 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35945 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35985 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2231: -#line 13536 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13576 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35951 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35991 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2232: -#line 13537 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13577 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35957 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 35997 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2233: -#line 13538 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13578 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35963 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36003 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2234: -#line 13539 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13579 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35969 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36009 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2235: -#line 13540 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13580 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35975 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36015 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2236: -#line 13541 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13581 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35981 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36021 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2237: -#line 13542 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13582 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35987 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36027 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2238: -#line 13543 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13583 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35993 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36033 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2239: -#line 13544 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13584 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 35999 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36039 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2240: -#line 13545 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13585 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36005 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36045 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2241: -#line 13546 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13586 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36011 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36051 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2242: -#line 13547 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13587 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36017 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36057 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2243: -#line 13548 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13588 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36023 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36063 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2244: -#line 13549 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13589 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36029 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36069 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2245: -#line 13550 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13590 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36035 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36075 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2246: -#line 13551 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13591 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36041 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36081 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2247: -#line 13552 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13592 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36047 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36087 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2248: -#line 13553 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13593 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36053 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36093 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2249: -#line 13554 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13594 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36059 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36099 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2250: -#line 13555 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13595 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36065 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36105 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2251: -#line 13556 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13596 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36071 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36111 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2252: -#line 13557 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13597 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36077 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36117 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2253: -#line 13558 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13598 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36083 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36123 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2254: -#line 13559 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13599 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36089 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36129 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2255: -#line 13560 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13600 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36095 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36135 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2256: -#line 13561 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13601 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36101 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36141 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2257: -#line 13562 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13602 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36107 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36147 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2258: -#line 13563 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13603 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36113 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36153 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2259: -#line 13564 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13604 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36119 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36159 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2260: -#line 13565 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13605 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36125 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36165 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2261: -#line 13566 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13606 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36131 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36171 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2262: -#line 13567 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13607 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36137 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36177 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2263: -#line 13568 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13608 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36143 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36183 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2264: -#line 13569 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13609 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36149 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36189 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2265: -#line 13570 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13610 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36155 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36195 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2266: -#line 13571 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13611 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36161 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36201 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2267: -#line 13572 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13612 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36167 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36207 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2268: -#line 13573 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13613 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36173 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36213 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2269: -#line 13574 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13614 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36179 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36219 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2270: -#line 13575 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13615 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36185 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36225 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2271: -#line 13576 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13616 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36191 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36231 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2272: -#line 13577 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13617 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36197 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36237 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2273: -#line 13578 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13618 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36203 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36243 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2274: -#line 13579 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13619 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36209 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36249 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2275: -#line 13580 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13620 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36215 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36255 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2276: -#line 13581 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13621 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36221 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36261 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2277: -#line 13582 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13622 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36227 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36267 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2278: -#line 13583 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13623 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36233 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36273 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2279: -#line 13584 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13624 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36239 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36279 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2280: -#line 13585 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13625 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36245 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36285 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2281: -#line 13586 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13626 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36251 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36291 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2282: -#line 13587 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13627 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36257 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36297 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2283: -#line 13588 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13628 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36263 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36303 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2284: -#line 13589 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13629 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36269 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36309 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2285: -#line 13590 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13630 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36275 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36315 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2286: -#line 13591 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13631 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36281 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36321 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2287: -#line 13592 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13632 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36287 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36327 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2288: -#line 13593 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13633 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36293 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36333 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2289: -#line 13594 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13634 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36299 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36339 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2290: -#line 13595 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13635 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36305 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36345 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2291: -#line 13596 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13636 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36311 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36351 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2292: -#line 13597 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13637 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36317 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36357 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2293: -#line 13598 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13638 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36323 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36363 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2294: -#line 13599 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13639 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36329 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36369 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2295: -#line 13600 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13640 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36335 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36375 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2296: -#line 13601 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13641 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36341 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36381 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2297: -#line 13602 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13642 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36347 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36387 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2298: -#line 13603 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13643 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36353 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36393 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2299: -#line 13604 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13644 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36359 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36399 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2300: -#line 13605 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13645 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36365 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36405 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2301: -#line 13606 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13646 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36371 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36411 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2302: -#line 13607 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13647 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36377 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36417 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2303: -#line 13608 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13648 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36383 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36423 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2304: -#line 13609 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13649 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36389 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36429 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2305: -#line 13610 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13650 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36395 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36435 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2306: -#line 13611 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13651 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36401 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36441 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2307: -#line 13612 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13652 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36407 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36447 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2308: -#line 13613 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13653 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36413 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36453 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2309: -#line 13614 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13654 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36419 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36459 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2310: -#line 13615 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13655 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36425 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36465 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2311: -#line 13616 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13656 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36431 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36471 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2312: -#line 13617 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13657 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36437 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36477 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2313: -#line 13618 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13658 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36443 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36483 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2314: -#line 13619 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13659 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36449 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36489 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2315: -#line 13620 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13660 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36455 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36495 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2316: -#line 13621 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13661 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36461 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36501 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2317: -#line 13622 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13662 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36467 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36507 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2318: -#line 13623 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13663 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36473 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36513 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2319: -#line 13624 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13664 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36479 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36519 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2320: -#line 13625 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13665 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36485 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36525 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2321: -#line 13626 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13666 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36491 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36531 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2322: -#line 13627 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13667 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36497 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36537 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2323: -#line 13628 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13668 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36503 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36543 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2324: -#line 13629 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13669 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36509 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36549 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2325: -#line 13630 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13670 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36515 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36555 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2326: -#line 13631 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13671 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36521 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36561 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2327: -#line 13632 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13672 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36527 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36567 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2328: -#line 13633 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13673 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36533 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36573 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2329: -#line 13634 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13674 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36539 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36579 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2330: -#line 13635 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13675 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36545 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36585 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2331: -#line 13636 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13676 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36551 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36591 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2332: -#line 13637 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13677 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36557 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36597 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2333: -#line 13638 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13678 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36563 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36603 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2334: -#line 13639 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13679 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36569 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36609 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2335: -#line 13640 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13680 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36575 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36615 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2336: -#line 13641 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13681 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36581 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36621 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2337: -#line 13642 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13682 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36587 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36627 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2338: -#line 13643 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13683 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36593 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36633 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2339: -#line 13644 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13684 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36599 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36639 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2340: -#line 13645 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13685 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36605 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36645 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2341: -#line 13646 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13686 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36611 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36651 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2342: -#line 13647 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13687 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36617 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36657 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2343: -#line 13648 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13688 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36623 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36663 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2344: -#line 13649 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13689 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36629 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36669 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2345: -#line 13650 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13690 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36635 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36675 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2346: -#line 13651 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13691 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36641 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36681 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2347: -#line 13652 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13692 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36647 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36687 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2348: -#line 13653 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13693 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36653 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36693 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2349: -#line 13654 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13694 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36659 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36699 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2350: -#line 13655 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13695 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36665 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36705 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2351: -#line 13656 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13696 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36671 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36711 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2352: -#line 13657 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13697 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36677 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36717 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2353: -#line 13658 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13698 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36683 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36723 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2354: -#line 13659 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13699 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36689 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36729 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2355: -#line 13660 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13700 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36695 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36735 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2356: -#line 13661 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13701 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36701 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36741 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2357: -#line 13662 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13702 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36707 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36747 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2358: -#line 13663 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13703 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36713 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36753 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2359: -#line 13664 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13704 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36719 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36759 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2360: -#line 13665 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13705 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36725 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36765 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2361: -#line 13666 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13706 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36731 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36771 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2362: -#line 13667 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13707 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36737 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36777 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2363: -#line 13668 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13708 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36743 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36783 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2364: -#line 13669 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13709 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36749 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36789 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2365: -#line 13670 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13710 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36755 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36795 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2366: -#line 13671 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13711 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36761 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36801 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2367: -#line 13672 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13712 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36767 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36807 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2368: -#line 13673 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13713 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36773 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36813 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2369: -#line 13674 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13714 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36779 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36819 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2370: -#line 13675 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13715 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36785 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36825 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2371: -#line 13676 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13716 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36791 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36831 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2372: -#line 13677 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13717 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36797 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36837 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2373: -#line 13678 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13718 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36803 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36843 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2374: -#line 13679 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13719 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36809 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36849 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2375: -#line 13680 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13720 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36815 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36855 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2376: -#line 13681 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13721 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36821 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36861 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2377: -#line 13682 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13722 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36827 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36867 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2378: -#line 13683 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13723 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36833 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36873 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2379: -#line 13684 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13724 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36839 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36879 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2380: -#line 13685 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13725 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36845 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36885 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2381: -#line 13686 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13726 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36851 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36891 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2382: -#line 13687 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13727 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36857 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36897 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2383: -#line 13688 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13728 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36863 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36903 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2384: -#line 13689 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13729 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36869 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36909 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2385: -#line 13690 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13730 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36875 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36915 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2386: -#line 13691 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13731 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36881 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36921 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2387: -#line 13692 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13732 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36887 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36927 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2388: -#line 13693 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13733 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36893 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36933 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2389: -#line 13694 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13734 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36899 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36939 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2390: -#line 13695 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13735 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36905 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36945 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2391: -#line 13696 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13736 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36911 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36951 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2392: -#line 13697 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13737 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36917 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36957 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2393: -#line 13698 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13738 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36923 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36963 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2394: -#line 13699 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13739 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36929 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36969 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2395: -#line 13700 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13740 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36935 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36975 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2396: -#line 13701 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13741 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36941 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36981 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2397: -#line 13702 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13742 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36947 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36987 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2398: -#line 13703 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13743 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36953 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36993 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2399: -#line 13704 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13744 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36959 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 36999 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2400: -#line 13705 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13745 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36965 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37005 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2401: -#line 13706 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13746 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36971 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37011 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2402: -#line 13707 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13747 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36977 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37017 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2403: -#line 13708 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13748 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36983 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37023 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2404: -#line 13709 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13749 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36989 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37029 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2405: -#line 13710 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13750 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 36995 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37035 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2406: -#line 13711 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13751 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37001 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37041 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2407: -#line 13712 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13752 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37007 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37047 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2408: -#line 13713 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13753 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37013 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37053 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2409: -#line 13714 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13754 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37019 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37059 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2410: -#line 13715 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13755 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37025 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37065 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2411: -#line 13716 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13756 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37031 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37071 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2412: -#line 13717 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13757 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37037 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37077 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2413: -#line 13718 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13758 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37043 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37083 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2414: -#line 13730 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13770 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.set)= NEW_PTN PT_set((yylsp[-1]), (yyvsp[0].start_option_value_list)); } -#line 37051 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37091 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2415: -#line 13739 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13779 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list)= NEW_PTN PT_start_option_value_list_no_type((yyvsp[-1].option_value_no_option_type), (yylsp[-1]), (yyvsp[0].option_value_list)); } -#line 37059 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37099 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2416: -#line 13743 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13783 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list)= NEW_PTN PT_start_option_value_list_transaction((yyvsp[0].transaction_characteristics), (yylsp[0])); } -#line 37067 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37107 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2417: -#line 13747 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13787 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list)= NEW_PTN PT_start_option_value_list_type((yyvsp[-1].var_type), (yyvsp[0].start_option_value_list_following_option_type)); } -#line 37075 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37115 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2418: -#line 13751 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13791 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password((yyvsp[0].simple_string), (yylsp[0])); } -#line 37083 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37123 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2419: -#line 13755 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13795 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn(YYTHD, "SET PASSWORD = " "PASSWORD('')", "SET PASSWORD = ''"); (yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password((yyvsp[-1].simple_string), (yylsp[-1])); } -#line 37094 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37134 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2420: -#line 13762 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13802 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password_for((yyvsp[-2].lex_user), (yyvsp[0].simple_string), (yylsp[0])); } -#line 37102 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37142 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2421: -#line 13766 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13806 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { push_deprecated_warn(YYTHD, "SET PASSWORD FOR = " "PASSWORD('')", @@ -37110,354 +37150,354 @@ "''"); (yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password_for((yyvsp[-5].lex_user), (yyvsp[-1].simple_string), (yylsp[-1])); } -#line 37114 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37154 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2422: -#line 13779 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13819 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list_following_option_type)= NEW_PTN PT_start_option_value_list_following_option_type_eq((yyvsp[-1].option_value_following_option_type), (yylsp[-1]), (yyvsp[0].option_value_list)); } -#line 37125 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37165 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2423: -#line 13786 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13826 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.start_option_value_list_following_option_type)= NEW_PTN PT_start_option_value_list_following_option_type_transaction((yyvsp[0].transaction_characteristics), (yylsp[0])); } -#line 37135 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37175 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2424: -#line 13795 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13835 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_list)= NULL; } -#line 37141 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37181 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2425: -#line 13796 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13836 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_list)= (yyvsp[0].option_value_list); } -#line 37147 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37187 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2426: -#line 13802 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13842 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_list)= NEW_PTN PT_option_value_list_head((yylsp[-1]), (yyvsp[0].node), (yylsp[0])); } -#line 37155 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37195 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2427: -#line 13806 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13846 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_list)= NEW_PTN PT_option_value_list((yyvsp[-2].option_value_list), (yylsp[-1]), (yyvsp[0].node), (yylsp[0])); } -#line 37163 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37203 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2428: -#line 13814 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13854 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_option_value_type((yyvsp[-1].var_type), (yyvsp[0].option_value_following_option_type)); } -#line 37171 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37211 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2429: -#line 13817 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13857 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= (yyvsp[0].option_value_no_option_type); } -#line 37177 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37217 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2430: -#line 13821 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13861 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_GLOBAL; } -#line 37183 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37223 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2431: -#line 13822 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13862 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } -#line 37189 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37229 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2432: -#line 13823 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13863 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } -#line 37195 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37235 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2433: -#line 13827 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13867 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } -#line 37201 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37241 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2434: -#line 13828 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13868 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_GLOBAL; } -#line 37207 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37247 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2435: -#line 13829 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13869 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } -#line 37213 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37253 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2436: -#line 13830 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13870 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } -#line 37219 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37259 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2437: -#line 13834 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13874 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_DEFAULT; } -#line 37225 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37265 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2438: -#line 13835 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13875 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_GLOBAL; } -#line 37231 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37271 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2439: -#line 13836 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13876 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } -#line 37237 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37277 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2440: -#line 13837 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13877 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.var_type)=OPT_SESSION; } -#line 37243 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37283 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2441: -#line 13843 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13883 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_following_option_type)= NEW_PTN PT_option_value_following_option_type((yyloc), (yyvsp[-2].internal_variable_name), (yyvsp[0].item)); } -#line 37251 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37291 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2442: -#line 13853 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13893 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_internal((yyvsp[-2].internal_variable_name), (yyvsp[0].item), (yylsp[0])); } -#line 37259 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37299 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2443: -#line 13857 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13897 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_user_var((yyvsp[-2].lex_str), (yyvsp[0].item)); } -#line 37267 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37307 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2444: -#line 13861 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13901 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_sys_var((yyvsp[-3].var_type), (yyvsp[-2].internal_variable_name), (yyvsp[0].item)); } -#line 37275 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37315 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2445: -#line 13865 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13905 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_charset((yyvsp[0].charset)); } -#line 37283 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37323 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2446: -#line 13869 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13909 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* Bad syntax, always fails with an error */ (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_names((yylsp[-1])); } -#line 37294 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37334 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2447: -#line 13876 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13916 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_names_charset((yyvsp[-1].charset), (yyvsp[0].charset)); } -#line 37302 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37342 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2448: -#line 13883 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13923 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.internal_variable_name)= NEW_PTN PT_internal_variable_name_1d((yyvsp[0].lex_str)); } -#line 37310 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37350 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2449: -#line 13887 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13927 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.internal_variable_name)= NEW_PTN PT_internal_variable_name_2d((yyloc), (yyvsp[-2].lex_str), (yyvsp[0].lex_str)); } -#line 37318 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37358 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2450: -#line 13891 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13931 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.internal_variable_name)= NEW_PTN PT_internal_variable_name_default((yyvsp[0].lex_str)); } -#line 37326 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37366 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2451: -#line 13898 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13938 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.transaction_characteristics)= NEW_PTN PT_transaction_characteristics((yyvsp[-1].transaction_access_mode), (yyvsp[0].isolation_level)); } -#line 37334 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37374 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2452: -#line 13902 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13942 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.transaction_characteristics)= NEW_PTN PT_transaction_characteristics((yyvsp[-1].isolation_level), (yyvsp[0].transaction_access_mode)); } -#line 37342 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37382 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2453: -#line 13909 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13949 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.transaction_access_mode)= NEW_PTN PT_transaction_access_mode((yyvsp[0].num)); } -#line 37350 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37390 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2454: -#line 13915 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13955 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.transaction_access_mode)= NULL; } -#line 37356 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37396 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2455: -#line 13916 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13956 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.transaction_access_mode)= (yyvsp[0].transaction_access_mode); } -#line 37362 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37402 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2456: -#line 13921 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13961 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.isolation_level)= NEW_PTN PT_isolation_level((yyvsp[0].tx_isolation)); } -#line 37370 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37410 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2457: -#line 13927 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13967 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.isolation_level)= NULL; } -#line 37376 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37416 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2458: -#line 13928 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13968 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.isolation_level)= (yyvsp[0].isolation_level); } -#line 37382 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37422 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2459: -#line 13932 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13972 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= true; } -#line 37388 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37428 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2460: -#line 13933 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13973 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= false; } -#line 37394 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37434 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2461: -#line 13937 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13977 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; } -#line 37400 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37440 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2462: -#line 13938 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13978 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.tx_isolation)= ISO_READ_COMMITTED; } -#line 37406 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37446 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2463: -#line 13939 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13979 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.tx_isolation)= ISO_REPEATABLE_READ; } -#line 37412 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37452 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2464: -#line 13940 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13980 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.tx_isolation)= ISO_SERIALIZABLE; } -#line 37418 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37458 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2465: -#line 13945 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13985 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.simple_string)=(yyvsp[0].lex_str).str; Lex->contains_plaintext_password= true; } -#line 37427 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37467 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2467: -#line 13954 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13994 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NULL; } -#line 37433 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37473 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2468: -#line 13956 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 13996 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_string((yyloc), "ON", 2, system_charset_info); } -#line 37441 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37481 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2469: -#line 13960 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14000 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_string((yyloc), "ALL", 3, system_charset_info); } -#line 37449 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37489 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2470: -#line 13964 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14004 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.item)= NEW_PTN Item_string((yyloc), "binary", 6, system_charset_info); } -#line 37457 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37497 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2471: -#line 13973 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14013 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; @@ -37468,17 +37508,17 @@ } lex->sql_command= SQLCOM_LOCK_TABLES; } -#line 37472 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37512 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2472: -#line 13984 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14024 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37478 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37518 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2477: -#line 13999 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14039 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { thr_lock_type lock_type= (thr_lock_type) (yyvsp[0].num); enum_mdl_type mdl_lock_type; @@ -37503,38 +37543,38 @@ mdl_lock_type)) MYSQL_YYABORT; } -#line 37507 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37547 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2478: -#line 14026 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14066 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TL_READ_NO_INSERT; } -#line 37513 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37553 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2479: -#line 14027 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14067 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TL_WRITE_DEFAULT; } -#line 37519 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37559 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2480: -#line 14029 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14069 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TL_WRITE_LOW_PRIORITY; push_deprecated_warn(YYTHD, "LOW_PRIORITY WRITE", "WRITE"); } -#line 37528 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37568 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2481: -#line 14033 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14073 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)= TL_READ; } -#line 37534 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37574 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2482: -#line 14038 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14078 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; @@ -37545,35 +37585,35 @@ } lex->sql_command= SQLCOM_UNLOCK_TABLES; } -#line 37549 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37589 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2483: -#line 14049 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14089 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37555 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37595 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2484: -#line 14055 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14095 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_SHUTDOWN; (yyval.statement)= NEW_PTN PT_shutdown(); } -#line 37564 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37604 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2485: -#line 14063 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14103 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_ALTER_INSTANCE; (yyval.statement)= NEW_PTN PT_alter_instance((yyvsp[0].alter_instance_action)); } -#line 37573 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37613 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2486: -#line 14070 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14110 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (!my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "INNODB")) { @@ -37585,11 +37625,11 @@ MYSQL_YYABORT; } } -#line 37589 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37629 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2487: -#line 14089 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14129 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -37605,11 +37645,11 @@ if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 37609 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37649 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2488: -#line 14105 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14145 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -37625,11 +37665,11 @@ if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 37629 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37669 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2489: -#line 14123 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14163 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* #4 */ LEX *lex=Lex; if (lex->sphead) @@ -37647,11 +37687,11 @@ if (!lex->current_select()->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0)) MYSQL_YYABORT; } -#line 37651 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37691 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2490: -#line 14143 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14183 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[-1].item) != NULL) ITEMIZE((yyvsp[-1].item), &(yyvsp[-1].item)); @@ -37676,128 +37716,128 @@ if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; } -#line 37680 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37720 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2491: -#line 14170 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14210 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->ident= null_lex_str; (yyval.ha_read_mode)=(yyvsp[0].ha_read_mode); } -#line 37686 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37726 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2492: -#line 14171 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14211 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->ident= (yyvsp[-1].lex_str); (yyval.ha_read_mode)=(yyvsp[0].ha_read_mode); } -#line 37692 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37732 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2493: -#line 14175 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14215 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= RFIRST; } -#line 37698 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37738 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2494: -#line 14176 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14216 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= RNEXT; } -#line 37704 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37744 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2495: -#line 14180 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14220 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= RFIRST; } -#line 37710 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37750 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2496: -#line 14181 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14221 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= RNEXT; } -#line 37716 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37756 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2497: -#line 14182 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14222 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= RPREV; } -#line 37722 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37762 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2498: -#line 14183 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14223 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_read_mode)= RLAST; } -#line 37728 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37768 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2499: -#line 14185 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14225 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { YYTHD->m_parser_state->m_yacc.m_ha_rkey_mode= (yyvsp[0].ha_rkey_mode); } -#line 37736 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37776 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2500: -#line 14189 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14229 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { CONTEXTUALIZE((yyvsp[-1].item_list2)); Lex->handler_insert_list= &(yyvsp[-1].item_list2)->value; (yyval.ha_read_mode)= RKEY; } -#line 37746 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37786 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2501: -#line 14197 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14237 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; } -#line 37752 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37792 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2502: -#line 14198 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14238 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; } -#line 37758 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37798 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2503: -#line 14199 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14239 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; } -#line 37764 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37804 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2504: -#line 14200 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14240 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; } -#line 37770 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37810 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2505: -#line 14201 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14241 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; } -#line 37776 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37816 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2506: -#line 14207 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14247 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_REVOKE; } -#line 37782 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37822 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2507: -#line 14208 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14248 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37788 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37828 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2508: -#line 14213 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14253 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->type= 0; } -#line 37797 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37837 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2509: -#line 14218 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14258 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->columns.elements) @@ -37807,11 +37847,11 @@ } lex->type= TYPE_ENUM_FUNCTION; } -#line 37811 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37851 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2510: -#line 14228 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14268 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->columns.elements) @@ -37821,50 +37861,50 @@ } lex->type= TYPE_ENUM_PROCEDURE; } -#line 37825 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37865 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2511: -#line 14238 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14278 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_REVOKE_ALL; } -#line 37833 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37873 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2512: -#line 14242 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14282 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->users_list.push_front ((yyvsp[-2].lex_user)); lex->type= TYPE_ENUM_PROXY; } -#line 37843 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37883 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2513: -#line 14250 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14290 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command= SQLCOM_GRANT; } -#line 37849 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37889 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2514: -#line 14251 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14291 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37855 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37895 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2515: -#line 14257 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14297 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->type= 0; } -#line 37864 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37904 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2516: -#line 14263 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14303 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->columns.elements) @@ -37874,11 +37914,11 @@ } lex->type= TYPE_ENUM_FUNCTION; } -#line 37878 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37918 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2517: -#line 14274 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14314 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->columns.elements) @@ -37888,257 +37928,257 @@ } lex->type= TYPE_ENUM_PROCEDURE; } -#line 37892 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37932 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2518: -#line 14284 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14324 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->users_list.push_front ((yyvsp[-3].lex_user)); lex->type= TYPE_ENUM_PROXY; } -#line 37902 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37942 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2521: -#line 14298 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14338 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; if (lex->grant == GLOBAL_ACLS && lex->sql_command == SQLCOM_REVOKE) lex->sql_command= SQLCOM_REVOKE_ALL; } -#line 37913 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37953 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2522: -#line 14305 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14345 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->all_privileges= 1; Lex->grant= GLOBAL_ACLS; } -#line 37922 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37962 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2527: -#line 14323 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14363 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->which_columns = SELECT_ACL;} -#line 37928 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37968 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2528: -#line 14324 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14364 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37934 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37974 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2529: -#line 14326 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14366 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->which_columns = INSERT_ACL;} -#line 37940 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37980 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2530: -#line 14327 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14367 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37946 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37986 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2531: -#line 14329 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14369 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->which_columns = UPDATE_ACL; } -#line 37952 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37992 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2532: -#line 14330 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14370 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37958 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 37998 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2533: -#line 14332 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14372 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->which_columns = REFERENCES_ACL;} -#line 37964 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38004 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2534: -#line 14333 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14373 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37970 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38010 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2535: -#line 14334 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14374 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= DELETE_ACL;} -#line 37976 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38016 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2536: -#line 14335 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14375 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 37982 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38022 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2537: -#line 14336 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14376 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= INDEX_ACL;} -#line 37988 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38028 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2538: -#line 14337 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14377 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= ALTER_ACL;} -#line 37994 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38034 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2539: -#line 14338 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14378 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= CREATE_ACL;} -#line 38000 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38040 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2540: -#line 14339 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14379 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= DROP_ACL;} -#line 38006 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38046 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2541: -#line 14340 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14380 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= EXECUTE_ACL;} -#line 38012 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38052 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2542: -#line 14341 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14381 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= RELOAD_ACL;} -#line 38018 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38058 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2543: -#line 14342 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14382 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= SHUTDOWN_ACL;} -#line 38024 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38064 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2544: -#line 14343 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14383 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= PROCESS_ACL;} -#line 38030 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38070 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2545: -#line 14344 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14384 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= FILE_ACL;} -#line 38036 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38076 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2546: -#line 14345 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14385 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= GRANT_ACL;} -#line 38042 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38082 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2547: -#line 14346 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14386 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= SHOW_DB_ACL;} -#line 38048 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38088 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2548: -#line 14347 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14387 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= SUPER_ACL;} -#line 38054 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38094 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2549: -#line 14348 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14388 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= CREATE_TMP_ACL;} -#line 38060 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38100 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2550: -#line 14349 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14389 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= LOCK_TABLES_ACL; } -#line 38066 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38106 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2551: -#line 14350 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14390 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= REPL_SLAVE_ACL; } -#line 38072 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38112 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2552: -#line 14351 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14391 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= REPL_CLIENT_ACL; } -#line 38078 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38118 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2553: -#line 14352 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14392 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= CREATE_VIEW_ACL; } -#line 38084 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38124 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2554: -#line 14353 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14393 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= SHOW_VIEW_ACL; } -#line 38090 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38130 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2555: -#line 14354 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14394 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= CREATE_PROC_ACL; } -#line 38096 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38136 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2556: -#line 14355 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14395 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= ALTER_PROC_ACL; } -#line 38102 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38142 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2557: -#line 14356 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14396 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= CREATE_USER_ACL; } -#line 38108 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38148 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2558: -#line 14357 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14397 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= EVENT_ACL;} -#line 38114 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38154 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2559: -#line 14358 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14398 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= TRIGGER_ACL; } -#line 38120 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38160 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2560: -#line 14359 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14399 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= CREATE_TABLESPACE_ACL; } -#line 38126 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38166 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2561: -#line 14363 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14403 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38132 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38172 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2562: -#line 14364 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14404 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38138 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38178 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2565: -#line 14374 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14414 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (lex->x509_subject) @@ -38148,11 +38188,11 @@ } lex->x509_subject=(yyvsp[0].lex_str).str; } -#line 38152 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38192 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2566: -#line 14384 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14424 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (lex->x509_issuer) @@ -38162,11 +38202,11 @@ } lex->x509_issuer=(yyvsp[0].lex_str).str; } -#line 38166 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38206 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2567: -#line 14394 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14434 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (lex->ssl_cipher) @@ -38176,11 +38216,11 @@ } lex->ssl_cipher=(yyvsp[0].lex_str).str; } -#line 38180 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38220 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2568: -#line 14407 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14447 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; size_t dummy; @@ -38195,11 +38235,11 @@ MYSQL_YYABORT; } } -#line 38199 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38239 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2569: -#line 14422 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14462 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->current_select()->db = (yyvsp[-2].lex_str).str; @@ -38212,11 +38252,11 @@ MYSQL_YYABORT; } } -#line 38216 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38256 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2570: -#line 14435 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14475 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->current_select()->db = NULL; @@ -38229,11 +38269,11 @@ MYSQL_YYABORT; } } -#line 38233 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38273 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2571: -#line 14448 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14488 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; if (!lex->current_select()->add_table_to_list(lex->thd, (yyvsp[0].table),NULL, @@ -38242,47 +38282,47 @@ if (lex->grant == GLOBAL_ACLS) lex->grant = TABLE_ACLS & ~GRANT_ACL; } -#line 38246 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38286 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2572: -#line 14460 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14500 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } -#line 38255 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38295 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2573: -#line 14465 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14505 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } -#line 38264 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38304 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2574: -#line 14473 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14513 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } -#line 38273 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38313 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2575: -#line 14478 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14518 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->users_list.push_back((yyvsp[0].lex_user))) MYSQL_YYABORT; } -#line 38282 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38322 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2576: -#line 14486 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14526 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)=(yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->auth.str= (yyvsp[0].lex_str).str; @@ -38290,11 +38330,11 @@ (yyvsp[-3].lex_user)->uses_identified_by_clause= true; Lex->contains_plaintext_password= true; } -#line 38294 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38334 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2577: -#line 14494 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14534 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-4].lex_user); (yyvsp[-4].lex_user)->auth.str= (yyvsp[0].lex_str).str; @@ -38309,11 +38349,11 @@ push_deprecated_warn(YYTHD, "IDENTIFIED BY PASSWORD", "IDENTIFIED WITH AS "); } -#line 38313 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38353 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2578: -#line 14509 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14549 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->plugin.str= (yyvsp[0].lex_str).str; @@ -38321,11 +38361,11 @@ (yyvsp[-3].lex_user)->auth= EMPTY_CSTR; (yyvsp[-3].lex_user)->uses_identified_with_clause= true; } -#line 38325 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38365 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2579: -#line 14517 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14557 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-5].lex_user); (yyvsp[-5].lex_user)->plugin.str= (yyvsp[-2].lex_str).str; @@ -38335,11 +38375,11 @@ (yyvsp[-5].lex_user)->uses_identified_with_clause= true; (yyvsp[-5].lex_user)->uses_authentication_string_clause= true; } -#line 38339 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38379 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2580: -#line 14527 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14567 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[-5].lex_user); (yyvsp[-5].lex_user)->plugin.str= (yyvsp[-2].lex_str).str; @@ -38350,29 +38390,29 @@ (yyvsp[-5].lex_user)->uses_identified_by_clause= true; Lex->contains_plaintext_password= true; } -#line 38354 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38394 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2581: -#line 14538 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14578 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.lex_user)= (yyvsp[0].lex_user); (yyvsp[0].lex_user)->auth= NULL_CSTR; } -#line 38363 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38403 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2582: -#line 14546 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14586 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->grant |= lex->which_columns; } -#line 38372 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38412 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2586: -#line 14560 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14600 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { String *new_str = new (YYTHD->mem_root) String((const char*) (yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info); if (new_str == NULL) @@ -38397,195 +38437,195 @@ lex->columns.push_back(col); } } -#line 38401 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38441 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2588: -#line 14589 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14629 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type=SSL_TYPE_SPECIFIED; } -#line 38409 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38449 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2589: -#line 14593 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14633 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type=SSL_TYPE_ANY; } -#line 38417 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38457 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2590: -#line 14597 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14637 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type=SSL_TYPE_X509; } -#line 38425 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38465 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2591: -#line 14601 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14641 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->ssl_type=SSL_TYPE_NONE; } -#line 38433 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38473 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2592: -#line 14607 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14647 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38439 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38479 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2594: -#line 14612 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14652 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38445 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38485 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2595: -#line 14613 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14653 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= GRANT_ACL;} -#line 38451 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38491 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2596: -#line 14617 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14657 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38457 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38497 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2597: -#line 14618 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14658 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38463 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38503 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2598: -#line 14622 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14662 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->grant |= GRANT_ACL;} -#line 38469 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38509 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2599: -#line 14624 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14664 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.questions=(yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR; } -#line 38479 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38519 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2600: -#line 14630 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14670 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.updates=(yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR; } -#line 38489 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38529 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2601: -#line 14636 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14676 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.conn_per_hour= (yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR; } -#line 38499 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38539 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2602: -#line 14642 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14682 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->mqh.user_conn= (yyvsp[0].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::USER_CONNECTIONS; } -#line 38509 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38549 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2603: -#line 14651 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14691 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command = SQLCOM_BEGIN; lex->start_transaction_opt= 0; } -#line 38519 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38559 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2604: -#line 14656 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14696 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38525 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38565 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2605: -#line 14660 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14700 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38531 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38571 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2606: -#line 14661 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14701 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38537 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38577 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2607: -#line 14666 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14706 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } -#line 38543 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38583 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2608: -#line 14667 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14707 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_NO; } -#line 38549 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38589 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2609: -#line 14668 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14708 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_YES; } -#line 38555 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38595 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2610: -#line 14673 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14713 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } -#line 38561 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38601 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2611: -#line 14674 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14714 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_YES; } -#line 38567 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38607 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2612: -#line 14675 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14715 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.m_yes_no_unk)= TVL_NO; } -#line 38573 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38613 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2613: -#line 14679 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14719 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38579 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38619 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2614: -#line 14680 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14720 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38585 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38625 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2615: -#line 14685 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14725 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_COMMIT; @@ -38594,11 +38634,11 @@ lex->tx_chain= (yyvsp[-1].m_yes_no_unk); lex->tx_release= (yyvsp[0].m_yes_no_unk); } -#line 38598 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38638 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2616: -#line 14697 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14737 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_ROLLBACK; @@ -38607,248 +38647,248 @@ lex->tx_chain= (yyvsp[-1].m_yes_no_unk); lex->tx_release= (yyvsp[0].m_yes_no_unk); } -#line 38611 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38651 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2617: -#line 14707 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14747 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT; lex->ident= (yyvsp[0].lex_str); } -#line 38621 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38661 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2618: -#line 14716 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14756 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_SAVEPOINT; lex->ident= (yyvsp[0].lex_str); } -#line 38631 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38671 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2619: -#line 14725 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14765 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex=Lex; lex->sql_command= SQLCOM_RELEASE_SAVEPOINT; lex->ident= (yyvsp[0].lex_str); } -#line 38641 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38681 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2620: -#line 14738 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14778 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.union_list)= NULL; } -#line 38647 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38687 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2622: -#line 14744 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14784 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.union_list)= NEW_PTN PT_union_list((yyvsp[-1].num), (yyvsp[0].select_init)); } -#line 38655 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38695 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2623: -#line 14750 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14790 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NULL; } -#line 38661 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38701 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2624: -#line 14751 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14791 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= (yyvsp[0].union_list); } -#line 38667 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38707 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2625: -#line 14752 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14792 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= (yyvsp[0].union_order_or_limit); } -#line 38673 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38713 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2626: -#line 14756 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14796 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NULL; } -#line 38679 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38719 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2627: -#line 14757 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14797 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= (yyvsp[0].union_order_or_limit); } -#line 38685 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38725 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2628: -#line 14762 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14802 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.union_order_or_limit)= NEW_PTN PT_union_order_or_limit((yyvsp[0].node)); } -#line 38693 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38733 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2629: -#line 14769 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14809 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= NEW_PTN PT_order_or_limit_order((yyvsp[-1].order), (yyvsp[0].limit_clause)); } -#line 38701 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38741 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2630: -#line 14772 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14812 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.node)= (yyvsp[0].limit_clause); } -#line 38707 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38747 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2631: -#line 14776 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14816 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=1; } -#line 38713 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38753 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2632: -#line 14777 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14817 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=1; } -#line 38719 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38759 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2633: -#line 14778 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14818 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.num)=0; } -#line 38725 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38765 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2634: -#line 14783 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14823 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_lex2)= NEW_PTN PT_query_specification_select((yyvsp[-2].optimizer_hints), (yyvsp[-1].select_part2_derived), (yyvsp[0].table_expression)); } -#line 38733 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38773 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2635: -#line 14788 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14828 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_lex2)= NEW_PTN PT_query_specification_parenthesis((yyvsp[-2].select_paren_derived), (yyvsp[0].node)); } -#line 38741 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38781 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2637: -#line 14796 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14836 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.select_lex2)= NEW_PTN PT_query_expression_body_union((yyloc), (yyvsp[-3].select_lex2), (yyvsp[-1].num), (yyvsp[0].select_lex2)); } -#line 38749 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38789 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2638: -#line 14803 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14843 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* TODO: remove this semantic action (currently this removal adds reduce/reduce conflict) */ } -#line 38760 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38800 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2639: -#line 14810 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14850 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.subselect)= NEW_PTN PT_subselect((yyloc), (yyvsp[0].select_lex2)); } -#line 38768 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38808 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2640: -#line 14816 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14856 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= 0; } -#line 38774 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38814 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2642: -#line 14822 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14862 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= (yyvsp[-1].ulonglong_number) | (yyvsp[0].ulonglong_number); } -#line 38782 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38822 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2644: -#line 14829 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14869 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_STRAIGHT_JOIN; } -#line 38788 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38828 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2645: -#line 14830 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14870 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_HIGH_PRIORITY; } -#line 38794 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38834 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2646: -#line 14831 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14871 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_DISTINCT; } -#line 38800 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38840 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2647: -#line 14832 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14872 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_SMALL_RESULT; } -#line 38806 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38846 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2648: -#line 14833 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14873 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_BIG_RESULT; } -#line 38812 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38852 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2649: -#line 14834 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14874 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= OPTION_BUFFER_RESULT; } -#line 38818 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38858 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2650: -#line 14835 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14875 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= OPTION_FOUND_ROWS; } -#line 38824 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38864 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2651: -#line 14836 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14876 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.ulonglong_number)= SELECT_ALL; } -#line 38830 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38870 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2652: -#line 14847 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14887 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38836 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38876 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2653: -#line 14849 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14889 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38842 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38882 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2654: -#line 14851 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14891 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38848 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38888 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2668: -#line 14884 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14924 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* We have to distinguish missing DEFINER-clause from case when @@ -38859,79 +38899,79 @@ */ YYTHD->lex->definer= 0; } -#line 38863 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38903 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2669: -#line 14898 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14938 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { YYTHD->lex->definer= get_current_user(YYTHD, (yyvsp[0].lex_user)); } -#line 38871 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38911 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2670: -#line 14911 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14951 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38877 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38917 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2671: -#line 14913 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14953 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38883 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38923 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2672: -#line 14915 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14955 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38889 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38929 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2673: -#line 14920 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14960 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_mode= VIEW_CREATE_OR_REPLACE; } -#line 38895 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38935 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2674: -#line 14925 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14965 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; } -#line 38901 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38941 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2675: -#line 14927 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14967 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_algorithm= VIEW_ALGORITHM_MERGE; } -#line 38907 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38947 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2676: -#line 14929 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14969 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_algorithm= VIEW_ALGORITHM_TEMPTABLE; } -#line 38913 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38953 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2677: -#line 14934 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14974 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_suid= VIEW_SUID_DEFAULT; } -#line 38919 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38959 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2678: -#line 14936 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14976 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_suid= VIEW_SUID_DEFINER; } -#line 38925 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38965 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2679: -#line 14938 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14978 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_suid= VIEW_SUID_INVOKER; } -#line 38931 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38971 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2680: -#line 14943 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 14983 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -38944,46 +38984,46 @@ MYSQL_YYABORT; lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB; } -#line 38948 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38988 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2682: -#line 14960 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15000 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 38954 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 38994 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2684: -#line 14966 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15006 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->view_list.push_back((LEX_STRING*) sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING))); } -#line 38963 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39003 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2685: -#line 14971 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15011 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->view_list.push_back((LEX_STRING*) sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING))); } -#line 38972 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39012 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2686: -#line 14978 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15018 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->parsing_options.allows_variable= FALSE; lex->parsing_options.allows_select_into= FALSE; lex->parsing_options.allows_select_procedure= FALSE; } -#line 38983 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39023 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2687: -#line 14985 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15025 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= Lex; @@ -38998,11 +39038,11 @@ lex->parsing_options.allows_select_into= TRUE; lex->parsing_options.allows_select_procedure= TRUE; } -#line 39002 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39042 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2688: -#line 15003 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15043 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (Lex->current_select()->set_braces(0)) { @@ -39018,119 +39058,119 @@ done here. */ } -#line 39022 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39062 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2689: -#line 15019 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15059 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].union_list) != NULL) CONTEXTUALIZE((yyvsp[0].union_list)); } -#line 39031 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39071 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2690: -#line 15024 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15064 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if ((yyvsp[0].node) != NULL) CONTEXTUALIZE((yyvsp[0].node)); } -#line 39040 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39080 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2691: -#line 15031 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15071 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->current_select()->set_braces(true); } -#line 39048 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39088 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2692: -#line 15035 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15075 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { if (setup_select_in_parentheses(Select)) MYSQL_YYABORT; } -#line 39057 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39097 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2694: -#line 15044 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15084 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->current_select()->table_list.save_and_clear(&Lex->save_list); } -#line 39065 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39105 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2695: -#line 15048 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15088 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { CONTEXTUALIZE((yyvsp[0].select_part2)); Lex->current_select()->table_list.push_front(&Lex->save_list); } -#line 39075 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39115 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2696: -#line 15057 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15097 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_check= VIEW_CHECK_NONE; } -#line 39081 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39121 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2697: -#line 15059 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15099 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_check= VIEW_CHECK_CASCADED; } -#line 39087 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39127 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2698: -#line 15061 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15101 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_check= VIEW_CHECK_CASCADED; } -#line 39093 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39133 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2699: -#line 15063 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15103 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->create_view_check= VIEW_CHECK_LOCAL; } -#line 39099 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39139 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2700: -#line 15074 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15114 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.trigger_action_order_type)= TRG_ORDER_FOLLOWS; } -#line 39105 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39145 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2701: -#line 15076 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15116 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.trigger_action_order_type)= TRG_ORDER_PRECEDES; } -#line 39111 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39151 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2702: -#line 15081 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15121 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.trg_characteristics).ordering_clause= TRG_ORDER_NONE; (yyval.trg_characteristics).anchor_trigger_name.str= NULL; (yyval.trg_characteristics).anchor_trigger_name.length= 0; } -#line 39121 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39161 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2703: -#line 15088 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15128 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.trg_characteristics).ordering_clause= (yyvsp[-1].trigger_action_order_type); (yyval.trg_characteristics).anchor_trigger_name= (yyvsp[0].lex_str); } -#line 39130 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39170 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2704: -#line 15105 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15145 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* $11 */ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -39180,11 +39220,11 @@ sp->set_body_start(thd, (yylsp[-1]).cpp.end); } -#line 39184 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39224 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2705: -#line 15155 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15195 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* $13 */ THD *thd= YYTHD; LEX *lex= Lex; @@ -39209,11 +39249,11 @@ MDL_SHARED_NO_WRITE)) MYSQL_YYABORT; } -#line 39213 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39253 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2706: -#line 15190 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15230 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -39230,11 +39270,11 @@ lex->udf.returns=(Item_result) (yyvsp[-2].num); lex->udf.dl=(yyvsp[0].lex_str).str; } -#line 39234 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39274 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2707: -#line 15208 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15248 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -39251,11 +39291,11 @@ lex->udf.returns=(Item_result) (yyvsp[-2].num); lex->udf.dl=(yyvsp[0].lex_str).str; } -#line 39255 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39295 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2708: -#line 15230 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15270 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* $4 */ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -39278,19 +39318,19 @@ sp->m_parser_data.set_parameter_start_ptr((yylsp[0]).cpp.end); } -#line 39282 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39322 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2709: -#line 15254 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15294 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* $7 */ Lex->sphead->m_parser_data.set_parameter_end_ptr((yylsp[0]).cpp.start); } -#line 39290 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39330 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2710: -#line 15258 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15298 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* $9 */ LEX *lex= Lex; lex->charset= NULL; @@ -39299,11 +39339,11 @@ lex->type= 0; lex->gcol_info= 0; } -#line 39303 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39343 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2711: -#line 15267 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15307 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* $11 */ LEX *lex= Lex; sp_head *sp= lex->sphead; @@ -39326,11 +39366,11 @@ memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics)); } -#line 39330 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39370 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2712: -#line 15290 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15330 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /* $13 */ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -39338,11 +39378,11 @@ lex->sphead->m_chistics= &lex->sp_chistics; lex->sphead->set_body_start(thd, yylloc.cpp.start); } -#line 39342 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39382 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2713: -#line 15298 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15338 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { THD *thd= YYTHD; LEX *lex= thd->lex; @@ -39397,11 +39437,11 @@ sp->m_name.str); } } -#line 39401 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39441 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2714: -#line 15357 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15397 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$3*/ THD *thd= YYTHD; LEX *lex= Lex; @@ -39421,19 +39461,19 @@ lex->sphead= sp; } -#line 39425 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39465 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2715: -#line 15377 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15417 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$5*/ Lex->sphead->m_parser_data.set_parameter_start_ptr((yylsp[0]).cpp.end); } -#line 39433 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39473 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2716: -#line 15382 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15422 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$8*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -39441,11 +39481,11 @@ lex->sphead->m_parser_data.set_parameter_end_ptr((yylsp[0]).cpp.start); memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics)); } -#line 39445 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39485 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2717: -#line 15390 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15430 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$10*/ THD *thd= YYTHD; LEX *lex= thd->lex; @@ -39453,11 +39493,11 @@ lex->sphead->m_chistics= &lex->sp_chistics; lex->sphead->set_body_start(thd, yylloc.cpp.start); } -#line 39457 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39497 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2718: -#line 15398 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15438 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { /*$12*/ THD *thd= YYTHD; LEX *lex= Lex; @@ -39466,77 +39506,77 @@ lex->sql_command= SQLCOM_CREATE_PROCEDURE; } -#line 39470 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39510 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2719: -#line 15412 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15452 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_START; Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_xa_start((yyvsp[-1].xid), (yyvsp[0].xa_option_type)); } -#line 39479 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39519 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2720: -#line 15417 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15457 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_END; Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_xa_end((yyvsp[-1].xid), (yyvsp[0].xa_option_type)); } -#line 39488 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39528 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2721: -#line 15422 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15462 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_PREPARE; Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_xa_prepare((yyvsp[0].xid)); } -#line 39497 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39537 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2722: -#line 15427 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15467 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_COMMIT; Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_xa_commit((yyvsp[-1].xid), (yyvsp[0].xa_option_type)); } -#line 39506 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39546 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2723: -#line 15432 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15472 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_ROLLBACK; Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_xa_rollback((yyvsp[0].xid)); } -#line 39515 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39555 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2724: -#line 15437 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15477 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { Lex->sql_command = SQLCOM_XA_RECOVER; Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_xa_recover((yyvsp[0].is_not_empty)); } -#line 39524 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39564 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2725: -#line 15444 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15484 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= false; } -#line 39530 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39570 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2726: -#line 15445 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15485 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.is_not_empty)= true; } -#line 39536 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39576 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2727: -#line 15449 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15489 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MYSQL_YYABORT_UNLESS((yyvsp[0].string)->length() <= MAXGTRIDSIZE); XID *xid; @@ -39545,11 +39585,11 @@ xid->set(1L, (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length(), 0, 0); (yyval.xid)= xid; } -#line 39549 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39589 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2728: -#line 15458 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15498 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { MYSQL_YYABORT_UNLESS((yyvsp[-2].string)->length() <= MAXGTRIDSIZE && (yyvsp[0].string)->length() <= MAXBQUALSIZE); @@ -39559,11 +39599,11 @@ xid->set(1L, (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length(), (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length()); (yyval.xid)= xid; } -#line 39563 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39603 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2729: -#line 15468 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15508 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { // check for overwflow of xid format id bool format_id_overflow_detected= ((yyvsp[0].ulong_num) > LONG_MAX); @@ -39578,91 +39618,91 @@ xid->set((yyvsp[0].ulong_num), (yyvsp[-4].string)->ptr(), (yyvsp[-4].string)->length(), (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length()); (yyval.xid)= xid; } -#line 39582 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39622 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2730: -#line 15485 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15525 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 39588 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39628 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2731: -#line 15486 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15526 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ {} -#line 39594 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39634 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2732: -#line 15490 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15530 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_NONE; } -#line 39600 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39640 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2733: -#line 15491 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15531 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_JOIN; } -#line 39606 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39646 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2734: -#line 15492 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15532 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_RESUME; } -#line 39612 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39652 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2735: -#line 15496 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15536 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_NONE; } -#line 39618 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39658 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2736: -#line 15497 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15537 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_ONE_PHASE; } -#line 39624 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39664 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2737: -#line 15502 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15542 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_NONE; } -#line 39630 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39670 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2738: -#line 15504 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15544 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_SUSPEND; } -#line 39636 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39676 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2739: -#line 15506 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15546 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { (yyval.xa_option_type)= XA_FOR_MIGRATE; } -#line 39642 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39682 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2740: -#line 15511 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15551 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_INSTALL_PLUGIN; lex->m_sql_cmd= new Sql_cmd_install_plugin((yyvsp[-2].lex_str), (yyvsp[0].lex_str)); } -#line 39652 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39692 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; case 2741: -#line 15520 "/var/lib/pb2/sb_1-1352048-1607569408.56/mysql-5.7.33-release-export-345788_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ +#line 15560 "/var/lib/pb2/sb_1-2574504-1616742074.46/mysql-5.7.34-release-export-675361_gpl/sql/sql_yacc.yy" /* yacc.c:1646 */ { LEX *lex= Lex; lex->sql_command= SQLCOM_UNINSTALL_PLUGIN; lex->m_sql_cmd= new Sql_cmd_uninstall_plugin((yyvsp[0].lex_str)); } -#line 39662 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39702 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ break; -#line 39666 "/var/lib/pb2/sb_1-1352048-1607569408.56/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ +#line 39706 "/var/lib/pb2/sb_1-2574504-1616742074.46/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff -Nru mysql-5.7-5.7.33/sql/sql_yacc.h mysql-5.7-5.7.34/sql/sql_yacc.h --- mysql-5.7-5.7.33/sql/sql_yacc.h 2020-12-10 03:13:46.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_yacc.h 2021-03-26 07:08:30.000000000 +0000 @@ -30,8 +30,8 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -#ifndef YY_MYSQL_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_YACC_H_INCLUDED -# define YY_MYSQL_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_YACC_H_INCLUDED +#ifndef YY_MYSQL_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_YACC_H_INCLUDED +# define YY_MYSQL_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_YACC_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -1373,4 +1373,4 @@ int MYSQLparse (class THD *YYTHD); -#endif /* !YY_MYSQL_VAR_LIB_PB2_SB_1_1352048_1607569408_56_DIST_GPL_SQL_SQL_YACC_H_INCLUDED */ +#endif /* !YY_MYSQL_VAR_LIB_PB2_SB_1_2574504_1616742074_46_DIST_GPL_SQL_SQL_YACC_H_INCLUDED */ diff -Nru mysql-5.7-5.7.33/sql/sql_yacc.yy mysql-5.7-5.7.34/sql/sql_yacc.yy --- mysql-5.7-5.7.33/sql/sql_yacc.yy 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sql_yacc.yy 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2020, Oracle and/or its affiliates. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -176,7 +176,7 @@ } while(0) -#ifndef DBUG_OFF +#ifndef NDEBUG #define YYDEBUG 1 #else #define YYDEBUG 0 @@ -219,7 +219,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG void turn_parser_debug_on() { /* @@ -1832,7 +1832,7 @@ Clear LEX_MASTER_INFO struct. repl_ignore_server_ids is cleared in THD::cleanup_after_query. So it is guaranteed to be empty here. */ - DBUG_ASSERT(Lex->mi.repl_ignore_server_ids.empty()); + assert(Lex->mi.repl_ignore_server_ids.empty()); lex->mi.set_unspecified(); } master_defs opt_channel @@ -1841,7 +1841,7 @@ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->sql_command = SQLCOM_CHANGE_REPLICATION_FILTER; lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_change_repl_filter(); if (lex->m_sql_cmd == NULL) @@ -1860,42 +1860,42 @@ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value($3, OPT_REPLICATE_DO_DB); } | REPLICATE_IGNORE_DB EQ opt_filter_db_list { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value($3, OPT_REPLICATE_IGNORE_DB); } | REPLICATE_DO_TABLE EQ opt_filter_table_list { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value($3, OPT_REPLICATE_DO_TABLE); } | REPLICATE_IGNORE_TABLE EQ opt_filter_table_list { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value($3, OPT_REPLICATE_IGNORE_TABLE); } | REPLICATE_WILD_DO_TABLE EQ opt_filter_string_list { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value($3, OPT_REPLICATE_WILD_DO_TABLE); } | REPLICATE_WILD_IGNORE_TABLE EQ opt_filter_string_list { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value($3, OPT_REPLICATE_WILD_IGNORE_TABLE); } @@ -1903,7 +1903,7 @@ { Sql_cmd_change_repl_filter * filter_sql_cmd= (Sql_cmd_change_repl_filter*) Lex->m_sql_cmd; - DBUG_ASSERT(filter_sql_cmd); + assert(filter_sql_cmd); filter_sql_cmd->set_filter_value($3, OPT_REPLICATE_REWRITE_DB); } ; @@ -2949,10 +2949,22 @@ uint num_vars= pctx->context_var_count(); enum enum_field_types var_type= (enum enum_field_types) $4; Item *dflt_value_item= $5; + const bool has_default_clause = (dflt_value_item != NULL); + bool is_const_item = false; + LEX_STRING dflt_value_query= EMPTY_STR; - if (dflt_value_item) - { + if (has_default_clause) { + // Handling a NEG_FUNC wrapping a constant. + if (dflt_value_item->type() == Item::FUNC_ITEM) { + Item_func *func_item = down_cast(dflt_value_item); + if (func_item->functype() == Item_func::NEG_FUNC) { + is_const_item = true; + } + } else if (dflt_value_item->const_item()) { + is_const_item = true; + } + // sp_opt_default only pushes start ptr for DEFAULT clause. const char *expr_start_ptr= sp->m_parser_data.pop_expr_start_ptr(); @@ -2972,10 +2984,13 @@ MYSQL_YYABORT; } + sp_variable *first_spvar = NULL; + const uint first_var_num = num_vars - $2; + // We can have several variables in DECLARE statement. // We need to create an sp_instr_set instruction for each variable. - for (uint i = num_vars-$2 ; i < num_vars ; i++) + for (uint i = first_var_num; i < num_vars; i++) { uint var_idx= pctx->var_context2runtime(i); sp_variable *spvar= pctx->find_variable(var_idx); @@ -2984,8 +2999,33 @@ MYSQL_YYABORT; spvar->type= var_type; + + // Transforming the following declare statements having non-const + // expressions: + // DECLARE a, b, c type DEFAULT expr; + // to + // DECLARE a type DEFAULT expr, b type DEFAULT a, + // c type DEFAULT a; + + if (i == first_var_num) { + first_spvar = spvar; + } else if (has_default_clause && !is_const_item) { + Item_splocal *item = + NEW_PTN Item_splocal(first_spvar->name, first_spvar->offset, + first_spvar->type, 0, 0); + if (item == NULL) + MYSQL_YYABORT; // OOM +#ifndef NDEBUG + item->m_sp = lex->sphead; +#endif + dflt_value_item = item; + } spvar->default_value= dflt_value_item; + if (has_default_clause && !is_const_item && (i > first_var_num)) { + dflt_value_query = first_spvar->name; + } + if (fill_field_definition(thd, sp, var_type, &spvar->field_def)) MYSQL_YYABORT; @@ -3126,7 +3166,7 @@ LEX *cursor_lex= Lex; sp_head *sp= cursor_lex->sphead; - DBUG_ASSERT(cursor_lex->sql_command == SQLCOM_SELECT); +assert(cursor_lex->sql_command == SQLCOM_SELECT); if (cursor_lex->result) { @@ -3721,8 +3761,8 @@ instructions for them were already added during processing of "set" rule. */ - DBUG_ASSERT(lex->sql_command != SQLCOM_SET_OPTION || - lex->var_list.is_empty()); + assert(lex->sql_command != SQLCOM_SET_OPTION || + lex->var_list.is_empty()); if (lex->sql_command != SQLCOM_SET_OPTION) { /* Extract the query statement from the tokenizer. */ @@ -6084,8 +6124,8 @@ table being created/altered and parent tables. */ TABLE_LIST *last_non_sel_table= lex->create_last_non_select_table; - DBUG_ASSERT(last_non_sel_table->next_global == - lex->create_info.merge_list.first); + assert(last_non_sel_table->next_global == + lex->create_info.merge_list.first); last_non_sel_table->next_global= 0; Lex->query_tables_last= &last_non_sel_table->next_global; @@ -7519,7 +7559,7 @@ lex->no_write_to_binlog= 0; lex->create_info.storage_media= HA_SM_DEFAULT; lex->create_last_non_select_table= lex->last_table(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); } alter_commands { @@ -7908,7 +7948,7 @@ LEX *lex= thd->lex; lex->no_write_to_binlog= $3; lex->check_opt.init(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_optimize_partition(); if (lex->m_sql_cmd == NULL) @@ -7922,7 +7962,7 @@ LEX *lex= thd->lex; lex->no_write_to_binlog= $3; lex->check_opt.init(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_analyze_partition(); if (lex->m_sql_cmd == NULL) @@ -7933,7 +7973,7 @@ THD *thd= YYTHD; LEX *lex= thd->lex; lex->check_opt.init(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_check_partition(); if (lex->m_sql_cmd == NULL) @@ -7947,7 +7987,7 @@ LEX *lex= thd->lex; lex->no_write_to_binlog= $3; lex->check_opt.init(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_repair_partition(); if (lex->m_sql_cmd == NULL) @@ -7966,7 +8006,7 @@ THD *thd= YYTHD; LEX *lex= thd->lex; lex->check_opt.init(); - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_truncate_partition(); if (lex->m_sql_cmd == NULL) @@ -7993,7 +8033,7 @@ TL_READ_NO_INSERT, MDL_SHARED_NO_WRITE)) MYSQL_YYABORT; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_table_exchange_partition(); if (lex->m_sql_cmd == NULL) @@ -8713,7 +8753,7 @@ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_repair_table(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; @@ -8751,7 +8791,7 @@ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_analyze_table(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; @@ -8786,7 +8826,7 @@ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_check_table(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; @@ -8827,7 +8867,7 @@ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_optimize_table(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; @@ -11739,7 +11779,7 @@ { THD *thd= YYTHD; LEX* lex= thd->lex; - DBUG_ASSERT(!lex->m_sql_cmd); + assert(!lex->m_sql_cmd); lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_truncate_table(); if (lex->m_sql_cmd == NULL) MYSQL_YYABORT; @@ -12289,7 +12329,7 @@ opt_describe_column { // Ensure we're resetting parsing context of the right select - DBUG_ASSERT(Select->parsing_place == CTX_SELECT_LIST); + assert(Select->parsing_place == CTX_SELECT_LIST); Select->parsing_place= CTX_NONE; } | describe_command opt_extended_describe @@ -12727,7 +12767,7 @@ /* empty */ | IGNORE_SYM NUM lines_or_rows { - DBUG_ASSERT(Lex->exchange != 0); + assert(Lex->exchange != 0); Lex->exchange->skip_lines= atol($2.str); } ; diff -Nru mysql-5.7-5.7.33/sql/srv_session.cc mysql-5.7-5.7.34/sql/srv_session.cc --- mysql-5.7-5.7.33/sql/srv_session.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/srv_session.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -811,7 +811,7 @@ my_set_thread_local(THR_srv_session_thread, NULL); - DBUG_ASSERT(my_get_thread_local(THR_stack_start_address)); + assert(my_get_thread_local(THR_stack_start_address)); my_set_thread_local(THR_stack_start_address, NULL); my_thread_end(); } @@ -945,7 +945,7 @@ DBUG_ENTER("Srv_session::open"); DBUG_PRINT("info",("Session=%p THD=%p DA=%p", this, &thd, &da)); - DBUG_ASSERT(state == SRV_SESSION_CREATED || state == SRV_SESSION_CLOSED); + assert(state == SRV_SESSION_CREATED || state == SRV_SESSION_CLOSED); thd.set_protocol(&protocol_error); thd.push_diagnostics_area(&da); @@ -1116,7 +1116,7 @@ DBUG_PRINT("info",("Session=%p THD=%p current_thd=%p", this, &thd, current_thd)); - DBUG_ASSERT(&thd == current_thd); + assert(&thd == current_thd); thd.restore_globals(); set_psi(NULL); @@ -1154,7 +1154,7 @@ DBUG_PRINT("info",("Session=%p THD=%p current_thd=%p", this, &thd, current_thd)); - DBUG_ASSERT(state < SRV_SESSION_CLOSED); + assert(state < SRV_SESSION_CLOSED); /* RAII @@ -1249,7 +1249,7 @@ DBUG_RETURN(1); } - DBUG_ASSERT(thd.get_protocol() == &protocol_error); + assert(thd.get_protocol() == &protocol_error); // RAII:the destructor restores the state Srv_session::Session_backup_and_attach backup(this, false); @@ -1276,7 +1276,7 @@ if (command != COM_QUERY) thd.reset_for_next_command(); - DBUG_ASSERT(thd.m_statement_psi == NULL); + assert(thd.m_statement_psi == NULL); thd.m_statement_psi= MYSQL_START_STATEMENT(&thd.m_statement_state, stmt_info_new_packet.m_key, thd.db().str, diff -Nru mysql-5.7-5.7.33/sql/srv_session.h mysql-5.7-5.7.34/sql/srv_session.h --- mysql-5.7-5.7.33/sql/srv_session.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/srv_session.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/srv_session_info_service.cc mysql-5.7-5.7.34/sql/srv_session_info_service.cc --- mysql-5.7-5.7.33/sql/srv_session_info_service.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/srv_session_info_service.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/srv_session_service.cc mysql-5.7-5.7.34/sql/srv_session_service.cc --- mysql-5.7-5.7.33/sql/srv_session_service.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/srv_session_service.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/ssl_wrapper_service.cc mysql-5.7-5.7.34/sql/ssl_wrapper_service.cc --- mysql-5.7-5.7.33/sql/ssl_wrapper_service.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/ssl_wrapper_service.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/strfunc.cc mysql-5.7-5.7.34/sql/strfunc.cc --- mysql-5.7-5.7.33/sql/strfunc.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/strfunc.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/strfunc.h mysql-5.7-5.7.34/sql/strfunc.h --- mysql-5.7-5.7.33/sql/strfunc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/strfunc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/string_service.cc mysql-5.7-5.7.34/sql/string_service.cc --- mysql-5.7-5.7.33/sql/string_service.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/string_service.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/string_service.h mysql-5.7-5.7.34/sql/string_service.h --- mysql-5.7-5.7.33/sql/string_service.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/string_service.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sys_vars.cc mysql-5.7-5.7.34/sql/sys_vars.cc --- mysql-5.7-5.7.33/sql/sys_vars.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sys_vars.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -83,7 +83,7 @@ ptrdiff_t offset, ulonglong new_value) { bool error= false; - DBUG_ASSERT(offset == offsetof(KEY_CACHE, param_buff_size)); + assert(offset == offsetof(KEY_CACHE, param_buff_size)); if (new_value == 0) { @@ -135,7 +135,7 @@ ptrdiff_t offset, ulonglong new_value) { bool error= false; - DBUG_ASSERT(offset != offsetof(KEY_CACHE, param_buff_size)); + assert(offset != offsetof(KEY_CACHE, param_buff_size)); keycache_var(key_cache, offset)= new_value; @@ -783,7 +783,7 @@ static bool check_has_super(sys_var *self, THD *thd, set_var *var) { - DBUG_ASSERT(self->scope() != sys_var::GLOBAL);// don't abuse check_has_super() + assert(self->scope() != sys_var::GLOBAL);// don't abuse check_has_super() #ifndef NO_EMBEDDED_ACCESS_CHECKS if (!(thd->security_context()->check_access(SUPER_ACL))) { @@ -1185,7 +1185,7 @@ static const char *repository_names[]= { "FILE", "TABLE", -#ifndef DBUG_OFF +#ifndef NDEBUG "DUMMY", #endif 0 @@ -1503,7 +1503,7 @@ READ_ONLY GLOBAL_VAR(mysql_real_data_home_ptr), CMD_LINE(REQUIRED_ARG, 'h'), IN_FS_CHARSET, DEFAULT(mysql_real_data_home)); -#ifndef DBUG_OFF +#ifndef NDEBUG static Sys_var_dbug Sys_dbug( "debug", "Debug log", sys_var::SESSION, CMD_LINE(OPT_ARG, '#'), DEFAULT(""), NO_MUTEX_GUARD, NOT_IN_BINLOG, @@ -2418,7 +2418,7 @@ VALID_RANGE(1, 1024), DEFAULT(8), BLOCK_SIZE(1), NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0), ON_UPDATE(0), DEPRECATED_VAR("")); -// relies on DBUG_ASSERT(sizeof(my_thread_id) == 4); +// relies on assert(sizeof(my_thread_id) == 4); static Sys_var_uint Sys_pseudo_thread_id( "pseudo_thread_id", "This variable is for internal server use", @@ -3706,9 +3706,9 @@ binlog_checksum_options= static_cast(var->save_result.ulonglong_value); } - DBUG_ASSERT(binlog_checksum_options == var->save_result.ulonglong_value); - DBUG_ASSERT(mysql_bin_log.checksum_alg_reset == - binary_log::BINLOG_CHECKSUM_ALG_UNDEF); + assert(binlog_checksum_options == var->save_result.ulonglong_value); + assert(mysql_bin_log.checksum_alg_reset == + binary_log::BINLOG_CHECKSUM_ALG_UNDEF); mysql_mutex_unlock(mysql_bin_log.get_log_lock()); if (check_purge) @@ -4108,7 +4108,7 @@ if (var->type == OPT_DEFAULT && (thd->in_active_multi_stmt_transaction() || thd->in_sub_stmt)) { - DBUG_ASSERT(thd->in_multi_stmt_transaction_mode() || thd->in_sub_stmt); + assert(thd->in_multi_stmt_transaction_mode() || thd->in_sub_stmt); my_error(ER_CANT_CHANGE_TX_CHARACTERISTICS, MYF(0)); return true; } @@ -4247,7 +4247,7 @@ if (var->type == OPT_DEFAULT && (thd->in_active_multi_stmt_transaction() || thd->in_sub_stmt)) { - DBUG_ASSERT(thd->in_multi_stmt_transaction_mode() || thd->in_sub_stmt); + assert(thd->in_multi_stmt_transaction_mode() || thd->in_sub_stmt); my_error(ER_CANT_CHANGE_TX_CHARACTERISTICS, MYF(0)); return true; } @@ -4463,6 +4463,35 @@ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0), ON_UPDATE(0), DEPRECATED_VAR("")); +/** + Pre-update function to commit connection's active transactions when autocommit + is enabled. + + @note This hook relies on the fact that it is called while not holding any + locks. Breaking this assumption might result in deadlocks as commit + acquires many different locks in its process (e.g. to open GTID-related + tables). + + @param[in] self A pointer to the sys_var, i.e. Sys_autocommit. + @param[in] thd A reference to THD object. + @param[in] var A pointer to the set_var created by the parser. + + @retval true Error during commit + @retval false Otherwise +*/ +static bool pre_autocommit(sys_var *self, THD *thd, set_var *var) +{ + if (!(var->type == OPT_GLOBAL) && + (thd->variables.option_bits & OPTION_NOT_AUTOCOMMIT) && + var->save_result.ulonglong_value) + { + // Autocommit mode is about to be activated. + if (trans_commit_stmt(thd) || trans_commit(thd)) + return true; + } + return false; +} + static bool fix_autocommit(sys_var *self, THD *thd, enum_var_type type) { if (type == OPT_GLOBAL) @@ -4477,12 +4506,6 @@ if (thd->variables.option_bits & OPTION_AUTOCOMMIT && thd->variables.option_bits & OPTION_NOT_AUTOCOMMIT) { // activating autocommit - - if (trans_commit_stmt(thd) || trans_commit(thd)) - { - thd->variables.option_bits&= ~OPTION_AUTOCOMMIT; - return true; - } /* Don't close thread tables or release metadata locks: if we do so, we risk releasing locks/closing tables of expressions used to assign @@ -4517,7 +4540,8 @@ static Sys_var_bit Sys_autocommit( "autocommit", "autocommit", SESSION_VAR(option_bits), NO_CMD_LINE, OPTION_AUTOCOMMIT, DEFAULT(TRUE), - NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0), ON_UPDATE(fix_autocommit)); + NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0), + PRE_UPDATE(pre_autocommit), ON_UPDATE(fix_autocommit)); export sys_var *Sys_autocommit_ptr= &Sys_autocommit; // for sql_yacc.yy static Sys_var_mybool Sys_big_tables( @@ -4547,7 +4571,7 @@ static bool fix_sql_log_bin_after_update(sys_var *self, THD *thd, enum_var_type type) { - DBUG_ASSERT(type == OPT_SESSION); + assert(type == OPT_SESSION); if (thd->variables.sql_log_bin) thd->variables.option_bits |= OPTION_BIN_LOG; @@ -4651,7 +4675,7 @@ "profiling", "profiling", SESSION_VAR(option_bits), NO_CMD_LINE, OPTION_PROFILING, DEFAULT(FALSE), NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0), - ON_UPDATE(0), DEPRECATED_VAR("")); + PRE_UPDATE(0), ON_UPDATE(0), DEPRECATED_VAR("")); static Sys_var_ulong Sys_profiling_history_size( "profiling_history_size", "Limit of query profiling memory", @@ -5354,22 +5378,22 @@ "Update progress status of Multi-threaded slave and flush " "the relay log info to disk after every #th milli-seconds.", GLOBAL_VAR(opt_mts_checkpoint_period), CMD_LINE(REQUIRED_ARG), -#ifndef DBUG_OFF +#ifndef NDEBUG VALID_RANGE(0, UINT_MAX), DEFAULT(300), BLOCK_SIZE(1)); #else VALID_RANGE(1, UINT_MAX), DEFAULT(300), BLOCK_SIZE(1)); -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ static Sys_var_uint Sys_checkpoint_mts_group( "slave_checkpoint_group", "Maximum number of processed transactions by Multi-threaded slave " "before a checkpoint operation is called to update progress status.", GLOBAL_VAR(opt_mts_checkpoint_group), CMD_LINE(REQUIRED_ARG), -#ifndef DBUG_OFF +#ifndef NDEBUG VALID_RANGE(1, MTS_MAX_BITS_IN_GROUP), DEFAULT(512), BLOCK_SIZE(1)); #else VALID_RANGE(32, MTS_MAX_BITS_IN_GROUP), DEFAULT(512), BLOCK_SIZE(8)); -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ #endif /* HAVE_REPLICATION */ static Sys_var_uint Sys_sync_binlog_period( @@ -5637,7 +5661,7 @@ static bool update_gtid_next_list(sys_var *self, THD *thd, enum_var_type type) { - DBUG_ASSERT(type == OPT_SESSION); + assert(type == OPT_SESSION); if (thd->get_gtid_next_list() != NULL) return gtid_acquire_ownership_multiple(thd) != 0 ? true : false; return false; diff -Nru mysql-5.7-5.7.33/sql/sys_vars.h mysql-5.7-5.7.34/sql/sys_vars.h --- mysql-5.7-5.7.33/sql/sys_vars.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sys_vars.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #ifndef SYS_VARS_H_INCLUDED #define SYS_VARS_H_INCLUDED -/* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -69,6 +69,7 @@ #define NOT_IN_BINLOG sys_var::VARIABLE_NOT_IN_BINLOG #define ON_READ(X) X #define ON_CHECK(X) X +#define PRE_UPDATE(X) X #define ON_UPDATE(X) X #define READ_ONLY sys_var::READONLY+ #define NOT_VISIBLE sys_var::INVISIBLE+ @@ -154,12 +155,12 @@ if (offset >= 0) global_var(T)= def_val; - DBUG_ASSERT(size == sizeof(T)); - DBUG_ASSERT(min_val < max_val); - DBUG_ASSERT(min_val <= def_val); - DBUG_ASSERT(max_val >= def_val); - DBUG_ASSERT(block_size > 0); - DBUG_ASSERT(def_val % block_size == 0); + assert(size == sizeof(T)); + assert(min_val < max_val); + assert(min_val <= def_val); + assert(max_val >= def_val); + assert(block_size > 0); + assert(def_val % block_size == 0); } bool do_check(THD *thd, set_var *var) { @@ -366,8 +367,8 @@ { option.var_type= GET_ENUM; global_var(ulong)= def_val; - DBUG_ASSERT(def_val < typelib.count); - DBUG_ASSERT(size == sizeof(ulong)); + assert(def_val < typelib.count); + assert(size == sizeof(ulong)); } bool session_update(THD *thd, set_var *var) { @@ -416,9 +417,9 @@ { option.var_type= GET_BOOL; global_var(my_bool)= def_val; - DBUG_ASSERT(def_val < 2); - DBUG_ASSERT(getopt.arg_type == OPT_ARG || getopt.id == -1); - DBUG_ASSERT(size == sizeof(my_bool)); + assert(def_val < 2); + assert(getopt.arg_type == OPT_ARG || getopt.id == -1); + assert(size == sizeof(my_bool)); } bool session_update(THD *thd, set_var *var) { @@ -515,8 +516,8 @@ command_line_no_value(command_line_no_value_arg) { for (alias_count= 0; aliases[alias_count].alias; alias_count++) - DBUG_ASSERT(aliases[alias_count].number < value_count); - DBUG_ASSERT(def_val < alias_count); + assert(aliases[alias_count].number < value_count); + assert(def_val < alias_count); option.var_type= GET_STR; option.value= &command_line_value; @@ -524,8 +525,8 @@ global_var(ulong)= aliases[def_val].number; - DBUG_ASSERT(getopt.arg_type == OPT_ARG || getopt.id == -1); - DBUG_ASSERT(size == sizeof(ulong)); + assert(getopt.arg_type == OPT_ARG || getopt.id == -1); + assert(size == sizeof(ulong)); } /** @@ -619,7 +620,7 @@ bool session_update(THD *thd, set_var *var) { DBUG_ENTER("Sys_var_multi_enum::session_update"); - DBUG_ASSERT(0); + assert(0); /* Currently not used: uncomment if this class is used as a base for a session variable. @@ -632,7 +633,7 @@ bool global_update(THD *thd, set_var *var) { DBUG_ENTER("Sys_var_multi_enum::global_update"); - DBUG_ASSERT(0); + assert(0); /* Currently not used: uncomment if this some inheriting class does not override.. @@ -646,13 +647,13 @@ void session_save_default(THD *thd, set_var *var) { DBUG_ENTER("Sys_var_multi_enum::session_save_default"); - DBUG_ASSERT(0); + assert(0); /* Currently not used: uncomment if this class is used as a base for a session variable. int value= find_value((char *)option.def_value); - DBUG_ASSERT(value != -1); + assert(value != -1); var->save_result.ulonglong_value= value; */ DBUG_VOID_RETURN; @@ -661,7 +662,7 @@ { DBUG_ENTER("Sys_var_multi_enum::global_save_default"); int value= find_value((char *)option.def_value); - DBUG_ASSERT(value != -1); + assert(value != -1); var->save_result.ulonglong_value= value; DBUG_VOID_RETURN; } @@ -669,7 +670,7 @@ uchar *session_value_ptr(THD *running_thd, THD *target_thd, LEX_STRING *base) { DBUG_ENTER("Sys_var_multi_enum::session_value_ptr"); - DBUG_ASSERT(0); + assert(0); /* Currently not used: uncomment if this class is used as a base for a session variable. @@ -732,7 +733,7 @@ is_os_charset= is_os_charset_arg == IN_FS_CHARSET; option.var_type= (flags & ALLOCATED) ? GET_STR_ALLOC : GET_STR; global_var(const char*)= def_val; - DBUG_ASSERT(size == sizeof(char *)); + assert(size == sizeof(char *)); } void cleanup() @@ -862,23 +863,23 @@ } bool do_check(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); return true; } bool session_update(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); return true; } bool global_update(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); return false; } void session_save_default(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); } + { assert(FALSE); } void global_save_default(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); } + { assert(FALSE); } bool check_update_type(Item_result type) { return true; } protected: @@ -934,7 +935,7 @@ on_check_func, on_update_func, substitute) { global_var(LEX_STRING).length= strlen(def_val); - DBUG_ASSERT(size == sizeof(LEX_STRING)); + assert(size == sizeof(LEX_STRING)); *const_cast(&show_val_type)= SHOW_LEX_STRING; } bool global_update(THD *thd, set_var *var) @@ -946,7 +947,7 @@ } }; -#ifndef DBUG_OFF +#ifndef NDEBUG /** @@session.dbug and @@global.dbug variables. @@ -1066,7 +1067,7 @@ option.var_type|= GET_ASK_ADDR; option.value= (uchar**)1; // crash me, please keycache_var(dflt_key_cache, off)= def_val; - DBUG_ASSERT(scope() == GLOBAL); + assert(scope() == GLOBAL); } bool global_update(THD *thd, set_var *var) { @@ -1136,10 +1137,10 @@ option.min_value= (longlong) getopt_double2ulonglong(min_val); option.max_value= (longlong) getopt_double2ulonglong(max_val); global_var(double)= (double)option.def_value; - DBUG_ASSERT(min_val <= max_val); - DBUG_ASSERT(min_val <= def_val); - DBUG_ASSERT(max_val >= def_val); - DBUG_ASSERT(size == sizeof(double)); + assert(min_val <= max_val); + assert(min_val <= def_val); + assert(max_val >= def_val); + assert(size == sizeof(double)); } bool do_check(THD *thd, set_var *var) { @@ -1269,11 +1270,11 @@ { option.var_type= GET_FLAGSET; global_var(ulonglong)= def_val; - DBUG_ASSERT(typelib.count > 1); - DBUG_ASSERT(typelib.count <= 65); - DBUG_ASSERT(def_val < MAX_SET(typelib.count)); - DBUG_ASSERT(strcmp(values[typelib.count-1], "default") == 0); - DBUG_ASSERT(size == sizeof(ulonglong)); + assert(typelib.count > 1); + assert(typelib.count <= 65); + assert(def_val < MAX_SET(typelib.count)); + assert(strcmp(values[typelib.count-1], "default") == 0); + assert(size == sizeof(ulonglong)); } bool do_check(THD *thd, set_var *var) { @@ -1381,10 +1382,10 @@ { option.var_type= GET_SET; global_var(ulonglong)= def_val; - DBUG_ASSERT(typelib.count > 0); - DBUG_ASSERT(typelib.count <= 64); - DBUG_ASSERT(def_val < MAX_SET(typelib.count)); - DBUG_ASSERT(size == sizeof(ulonglong)); + assert(typelib.count > 0); + assert(typelib.count <= 64); + assert(def_val < MAX_SET(typelib.count)); + assert(size == sizeof(ulonglong)); } bool do_check(THD *thd, set_var *var) { @@ -1489,8 +1490,8 @@ plugin_type(plugin_type_arg) { option.var_type= GET_STR; - DBUG_ASSERT(size == sizeof(plugin_ref)); - DBUG_ASSERT(getopt.id == -1); // force NO_CMD_LINE + assert(size == sizeof(plugin_ref)); + assert(getopt.id == -1); // force NO_CMD_LINE } bool do_check(THD *thd, set_var *var) { @@ -1567,7 +1568,7 @@ LEX_CSTRING pname_cstr= {pname.str,pname.length}; plugin= my_plugin_lock_by_name(thd, pname_cstr, plugin_type); } - DBUG_ASSERT(plugin); + assert(plugin); var->save_result.plugin= my_plugin_lock(thd, &plugin); } @@ -1608,7 +1609,7 @@ lock, binlog_status_arg, on_check_func, on_update_func, substitute, parse_flag) { - DBUG_ASSERT(scope() == ONLY_SESSION); + assert(scope() == ONLY_SESSION); option.var_type= GET_NO_ARG; } bool do_check(THD *thd, set_var *var) @@ -1629,7 +1630,7 @@ } bool global_update(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); return true; } void session_save_default(THD *thd, set_var *var) @@ -1639,7 +1640,7 @@ } void global_save_default(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); } uchar *session_value_ptr(THD *running_thd, THD *target_thd, LEX_STRING *base) { @@ -1648,7 +1649,7 @@ } uchar *global_value_ptr(THD *thd, LEX_STRING *base) { - DBUG_ASSERT(FALSE); + assert(FALSE); return 0; } bool check_update_type(Item_result type) @@ -1693,6 +1694,7 @@ ulonglong bitmask_arg, my_bool def_val, PolyLock *lock=0, enum binlog_status_enum binlog_status_arg=VARIABLE_NOT_IN_BINLOG, on_check_function on_check_func=0, + pre_update_function pre_update_func=0, on_update_function on_update_func=0, const char *substitute=0) : Sys_var_typelib(name_arg, comment, flag_args, off, getopt, @@ -1701,12 +1703,13 @@ substitute) { option.var_type= GET_BOOL; + pre_update= pre_update_func; reverse_semantics= my_count_bits(bitmask_arg) > 1; bitmask= reverse_semantics ? ~bitmask_arg : bitmask_arg; set(global_var_ptr(), def_val); - DBUG_ASSERT(def_val < 2); - DBUG_ASSERT(getopt.id == -1); // force NO_CMD_LINE - DBUG_ASSERT(size == sizeof(ulonglong)); + assert(def_val < 2); + assert(getopt.id == -1); // force NO_CMD_LINE + assert(size == sizeof(ulonglong)); } bool session_update(THD *thd, set_var *var) { @@ -1776,20 +1779,20 @@ substitute), read_func(read_func_arg), update_func(update_func_arg) { - DBUG_ASSERT(scope() == ONLY_SESSION); - DBUG_ASSERT(getopt.id == -1); // NO_CMD_LINE, because the offset is fake + assert(scope() == ONLY_SESSION); + assert(getopt.id == -1); // NO_CMD_LINE, because the offset is fake } bool session_update(THD *thd, set_var *var) { return update_func(thd, var); } bool global_update(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); return true; } void session_save_default(THD *thd, set_var *var) { var->value= 0; } void global_save_default(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); } + { assert(FALSE); } uchar *session_value_ptr(THD *running_thd, THD *target_thd, LEX_STRING *base) { running_thd->sys_var_tmp.ulonglong_value= read_func(target_thd); @@ -1797,7 +1800,7 @@ } uchar *global_value_ptr(THD *thd, LEX_STRING *base) { - DBUG_ASSERT(FALSE); + assert(FALSE); return 0; } }; @@ -1830,20 +1833,20 @@ substitute), read_func(read_func_arg), update_func(update_func_arg) { - DBUG_ASSERT(scope() == ONLY_SESSION); - DBUG_ASSERT(getopt.id == -1); // NO_CMD_LINE, because the offset is fake + assert(scope() == ONLY_SESSION); + assert(getopt.id == -1); // NO_CMD_LINE, because the offset is fake } bool session_update(THD *thd, set_var *var) { return update_func(thd, var); } bool global_update(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); return true; } void session_save_default(THD *thd, set_var *var) { var->value= 0; } void global_save_default(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); } + { assert(FALSE); } uchar *session_value_ptr(THD *running_thd, THD *target_thd, LEX_STRING *base) { running_thd->sys_var_tmp.double_value= read_func(target_thd); @@ -1851,7 +1854,7 @@ } uchar *global_value_ptr(THD *thd, LEX_STRING *base) { - DBUG_ASSERT(FALSE); + assert(FALSE); return 0; } }; @@ -1884,33 +1887,33 @@ lock, binlog_status_arg, on_check_func, on_update_func, substitute, parse_flag) { - DBUG_ASSERT(scope() == GLOBAL); - DBUG_ASSERT(getopt.id == -1); - DBUG_ASSERT(lock == 0); - DBUG_ASSERT(binlog_status_arg == VARIABLE_NOT_IN_BINLOG); - DBUG_ASSERT(is_readonly()); - DBUG_ASSERT(on_update == 0); - DBUG_ASSERT(size == sizeof(enum SHOW_COMP_OPTION)); + assert(scope() == GLOBAL); + assert(getopt.id == -1); + assert(lock == 0); + assert(binlog_status_arg == VARIABLE_NOT_IN_BINLOG); + assert(is_readonly()); + assert(on_update == 0); + assert(size == sizeof(enum SHOW_COMP_OPTION)); } bool do_check(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); return true; } bool session_update(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); return true; } bool global_update(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); return true; } void session_save_default(THD *thd, set_var *var) { } void global_save_default(THD *thd, set_var *var) { } uchar *session_value_ptr(THD *running_thd, THD *target_thd, LEX_STRING *base) { - DBUG_ASSERT(FALSE); + assert(FALSE); return 0; } uchar *global_value_ptr(THD *thd, LEX_STRING *base) @@ -1963,8 +1966,8 @@ thus all struct command-line options should be added manually to my_long_options in mysqld.cc */ - DBUG_ASSERT(getopt.id == -1); - DBUG_ASSERT(size == sizeof(void *)); + assert(getopt.id == -1); + assert(size == sizeof(void *)); } bool do_check(THD *thd, set_var *var) { return false; } @@ -2026,8 +2029,8 @@ lock, binlog_status_arg, on_check_func, on_update_func, substitute, parse_flag) { - DBUG_ASSERT(getopt.id == -1); - DBUG_ASSERT(size == sizeof(Time_zone *)); + assert(getopt.id == -1); + assert(size == sizeof(Time_zone *)); } bool do_check(THD *thd, set_var *var) { @@ -2217,7 +2220,7 @@ lock, binlog_status_arg, on_check_func, on_update_func, substitute, parse_flag) { - DBUG_ASSERT(size == sizeof(Gtid_specification)); + assert(size == sizeof(Gtid_specification)); } bool session_update(THD *thd, set_var *var) { @@ -2229,8 +2232,8 @@ if (!var->value) { // set session gtid_next= default - DBUG_ASSERT(var->save_result.string_value.str); - DBUG_ASSERT(var->save_result.string_value.length); + assert(var->save_result.string_value.str); + assert(var->save_result.string_value.length); res= var->save_result.string_value.str; } else if (var->value->val_str(&str)) @@ -2253,7 +2256,7 @@ DBUG_RETURN(ret); } bool global_update(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); return true; } + { assert(FALSE); return true; } void session_save_default(THD *thd, set_var *var) { DBUG_ENTER("Sys_var_gtid_next::session_save_default"); @@ -2263,7 +2266,7 @@ DBUG_VOID_RETURN; } void global_save_default(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); } + { assert(FALSE); } bool do_check(THD *thd, set_var *var) { return false; } bool check_update_type(Item_result type) @@ -2280,7 +2283,7 @@ DBUG_RETURN((uchar *)ret); } uchar *global_value_ptr(THD *thd, LEX_STRING *base) - { DBUG_ASSERT(FALSE); return NULL; } + { assert(FALSE); return NULL; } }; #ifdef HAVE_GTID_NEXT_LIST @@ -2309,7 +2312,7 @@ lock, binlog_status_arg, on_check_func, on_update_func, substitute, parse_flag) { - DBUG_ASSERT(size == sizeof(Gtid_set_or_null)); + assert(size == sizeof(Gtid_set_or_null)); } bool session_update(THD *thd, set_var *var) { @@ -2350,7 +2353,7 @@ DBUG_RETURN(false); } bool global_update(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); return true; } + { assert(FALSE); return true; } void session_save_default(THD *thd, set_var *var) { DBUG_ENTER("Sys_var_gtid_set::session_save_default"); @@ -2362,7 +2365,7 @@ DBUG_VOID_RETURN; } void global_save_default(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); } + { assert(FALSE); } bool do_check(THD *thd, set_var *var) { DBUG_ENTER("Sys_var_gtid_set::do_check"); @@ -2373,7 +2376,7 @@ var->save_result.string_value.str= NULL; DBUG_RETURN(FALSE); } - DBUG_ASSERT(res->ptr() != NULL); + assert(res->ptr() != NULL); var->save_result.string_value.str= thd->strmake(res->ptr(), res->length()); if (var->save_result.string_value.str == NULL) { @@ -2404,7 +2407,7 @@ DBUG_RETURN((uchar *)buf); } uchar *global_value_ptr(THD *thd, LEX_STRING *base) - { DBUG_ASSERT(FALSE); return NULL; } + { assert(FALSE); return NULL; } }; #endif @@ -2427,21 +2430,21 @@ NULL/*on_check_func*/, NULL/*on_update_func*/, NULL/*substitute*/, PARSE_NORMAL/*parse_flag*/) { - DBUG_ASSERT(flag_arg == sys_var::GLOBAL || flag_arg == sys_var::SESSION || - flag_arg == sys_var::ONLY_SESSION); + assert(flag_arg == sys_var::GLOBAL || flag_arg == sys_var::SESSION || + flag_arg == sys_var::ONLY_SESSION); } bool session_update(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); return true; } + { assert(FALSE); return true; } bool global_update(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); return true; } - void session_save_default(THD *thd, set_var *var) { DBUG_ASSERT(FALSE); } - void global_save_default(THD *thd, set_var *var) { DBUG_ASSERT(FALSE); } - bool do_check(THD *thd, set_var *var) { DBUG_ASSERT(FALSE); return true; } - bool check_update_type(Item_result type) { DBUG_ASSERT(FALSE); return true; } + { assert(FALSE); return true; } + void session_save_default(THD *thd, set_var *var) { assert(FALSE); } + void global_save_default(THD *thd, set_var *var) { assert(FALSE); } + bool do_check(THD *thd, set_var *var) { assert(FALSE); return true; } + bool check_update_type(Item_result type) { assert(FALSE); return true; } virtual uchar *session_value_ptr(THD *running_thd, THD *target_thd, LEX_STRING *base) - { DBUG_ASSERT(FALSE); return NULL; } + { assert(FALSE); return NULL; } virtual uchar *global_value_ptr(THD *thd, LEX_STRING *base) - { DBUG_ASSERT(FALSE); return NULL; } + { assert(FALSE); return NULL; } }; @@ -2547,12 +2550,12 @@ bool session_update(THD *thd, set_var *var) { - DBUG_ASSERT(FALSE); + assert(FALSE); return true; } void session_save_default(THD *thd, set_var *var) - { DBUG_ASSERT(FALSE); } + { assert(FALSE); } bool global_update(THD *thd, set_var *var); @@ -2612,7 +2615,7 @@ } uchar *session_value_ptr(THD *running_thd, THD *target_thd, LEX_STRING *base) - { DBUG_ASSERT(0); return NULL; } + { assert(0); return NULL; } }; @@ -2633,7 +2636,7 @@ DBUG_RETURN((uchar *)running_thd->mem_strdup("")); else if (target_thd->owned_gtid.sidno == THD::OWNED_SIDNO_ANONYMOUS) { - DBUG_ASSERT(gtid_state->get_anonymous_ownership_count() > 0); + assert(gtid_state->get_anonymous_ownership_count() > 0); DBUG_RETURN((uchar *)running_thd->mem_strdup("ANONYMOUS")); } else if (target_thd->owned_gtid.sidno == THD::OWNED_SIDNO_GTID_SET) @@ -2649,7 +2652,7 @@ else my_error(ER_OUT_OF_RESOURCES, MYF(0)); #else - DBUG_ASSERT(0); + assert(0); #endif } else @@ -2747,7 +2750,7 @@ enum_gtid_mode new_gtid_mode= (enum_gtid_mode)var->save_result.ulonglong_value; enum_gtid_mode old_gtid_mode= get_gtid_mode(GTID_MODE_LOCK_SID); - DBUG_ASSERT(new_gtid_mode <= GTID_MODE_ON); + assert(new_gtid_mode <= GTID_MODE_ON); DBUG_PRINT("info", ("old_gtid_mode=%d new_gtid_mode=%d", old_gtid_mode, new_gtid_mode)); @@ -2797,8 +2800,8 @@ // Can't set GTID_MODE != ON when group replication is enabled. if (is_group_replication_running()) { - DBUG_ASSERT(old_gtid_mode == GTID_MODE_ON); - DBUG_ASSERT(new_gtid_mode == GTID_MODE_ON_PERMISSIVE); + assert(old_gtid_mode == GTID_MODE_ON); + assert(new_gtid_mode == GTID_MODE_ON_PERMISSIVE); my_error(ER_CANT_SET_GTID_MODE, MYF(0), get_gtid_mode_string(new_gtid_mode), "group replication requires @@GLOBAL.GTID_MODE=ON"); @@ -2902,8 +2905,8 @@ end: ret= false; err: - DBUG_ASSERT(lock_count >= 0); - DBUG_ASSERT(lock_count <= 4); + assert(lock_count >= 0); + assert(lock_count <= 4); if (lock_count == 4) global_sid_lock->unlock(); mysql_mutex_unlock(mysql_bin_log.get_log_lock()); @@ -2956,7 +2959,7 @@ enum_gtid_consistency_mode old_mode= get_gtid_consistency_mode(); enum_gtid_mode gtid_mode= get_gtid_mode(GTID_MODE_LOCK_SID); - DBUG_ASSERT(new_mode <= GTID_CONSISTENCY_MODE_WARN); + assert(new_mode <= GTID_CONSISTENCY_MODE_WARN); DBUG_PRINT("info", ("old enforce_gtid_consistency=%d " "new enforce_gtid_consistency=%d " diff -Nru mysql-5.7-5.7.33/sql/sys_vars_resource_mgr.cc mysql-5.7-5.7.34/sql/sys_vars_resource_mgr.cc --- mysql-5.7-5.7.33/sql/sys_vars_resource_mgr.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sys_vars_resource_mgr.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sys_vars_resource_mgr.h mysql-5.7-5.7.34/sql/sys_vars_resource_mgr.h --- mysql-5.7-5.7.33/sql/sys_vars_resource_mgr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sys_vars_resource_mgr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SYS_VARS_RESOURCE_MGR_INCLUDED #define SYS_VARS_RESOURCE_MGR_INCLUDED #include -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/sys_vars_shared.h mysql-5.7-5.7.34/sql/sys_vars_shared.h --- mysql-5.7-5.7.33/sql/sys_vars_shared.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/sys_vars_shared.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef SYS_VARS_SHARED_INCLUDED #define SYS_VARS_SHARED_INCLUDED -/* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/table_cache.cc mysql-5.7-5.7.34/sql/table_cache.cc --- mysql-5.7-5.7.33/sql/table_cache.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/table_cache.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -131,9 +131,9 @@ while ((entry= it++)) { /* We must not have TABLEs in the free list that have their file closed. */ - DBUG_ASSERT(entry->db_stat && entry->file); + assert(entry->db_stat && entry->file); /* Merge children should be detached from a merge parent */ - DBUG_ASSERT(! entry->file->extra(HA_EXTRA_IS_ATTACHED_CHILDREN)); + assert(! entry->file->extra(HA_EXTRA_IS_ATTACHED_CHILDREN)); if (entry->in_use) DBUG_PRINT("error",("Used table is in share's list of unused tables")); @@ -169,7 +169,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG /** Print debug information for the contents of the table cache. */ @@ -367,9 +367,9 @@ Table_cache_element::TABLE_list::Iterator it(cache_el[i]->free_tables); TABLE *table; -#ifndef DBUG_OFF +#ifndef NDEBUG if (remove_type == TDC_RT_REMOVE_ALL) - DBUG_ASSERT(cache_el[i]->used_tables.is_empty()); + assert(cache_el[i]->used_tables.is_empty()); else if (remove_type == TDC_RT_REMOVE_NOT_OWN || remove_type == TDC_RT_REMOVE_NOT_OWN_KEEP_SHARE) { @@ -377,7 +377,7 @@ while ((table= it2++)) { if (table->in_use != thd) - DBUG_ASSERT(0); + assert(0); } } #endif @@ -403,7 +403,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG /** Print debug information for the contents of all table cache instances. */ diff -Nru mysql-5.7-5.7.33/sql/table_cache.h mysql-5.7-5.7.34/sql/table_cache.h --- mysql-5.7-5.7.33/sql/table_cache.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/table_cache.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -139,7 +139,7 @@ void free_all_unused_tables(); -#ifndef DBUG_OFF +#ifndef NDEBUG void print_tables(); #endif }; @@ -187,7 +187,7 @@ void free_all_unused_tables(); -#ifndef DBUG_OFF +#ifndef NDEBUG void print_tables(); #endif @@ -359,7 +359,7 @@ assert_owner(); - DBUG_ASSERT(table->in_use == thd); + assert(table->in_use == thd); /* Try to get Table_cache_element representing this table in the cache @@ -377,9 +377,9 @@ Allocate new Table_cache_element object and add it to the cache and array in TABLE_SHARE. */ - DBUG_ASSERT(! my_hash_search(&m_cache, - (uchar*)table->s->table_cache_key.str, - table->s->table_cache_key.length)); + assert(! my_hash_search(&m_cache, + (uchar*)table->s->table_cache_key.str, + table->s->table_cache_key.length)); if (!(el= new Table_cache_element(table->s))) return true; @@ -487,7 +487,7 @@ if ((table= el->free_tables.front())) { - DBUG_ASSERT(!table->in_use); + assert(!table->in_use); /* Unlink table from list of unused TABLE objects for this @@ -506,9 +506,9 @@ table->in_use= thd; /* The ex-unused table must be fully functional. */ - DBUG_ASSERT(table->db_stat && table->file); + assert(table->db_stat && table->file); /* The children must be detached from the table. */ - DBUG_ASSERT(! table->file->extra(HA_EXTRA_IS_ATTACHED_CHILDREN)); + assert(! table->file->extra(HA_EXTRA_IS_ATTACHED_CHILDREN)); } return table; @@ -530,11 +530,11 @@ assert_owner(); - DBUG_ASSERT(table->in_use); - DBUG_ASSERT(table->file); + assert(table->in_use); + assert(table->file); /* We shouldn't put the table to 'unused' list if the share is old. */ - DBUG_ASSERT(! table->s->has_old_version()); + assert(! table->s->has_old_version()); table->in_use= NULL; diff -Nru mysql-5.7-5.7.33/sql/table.cc mysql-5.7-5.7.34/sql/table.cc --- mysql-5.7-5.7.33/sql/table.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/table.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -235,7 +235,7 @@ grant_table= 0; version= 0; privilege= NO_ACCESS; -#ifndef DBUG_OFF +#ifndef NDEBUG want_privilege= 0; #endif } @@ -284,8 +284,8 @@ static TABLE_CATEGORY get_table_category(const LEX_STRING &db, const LEX_STRING &name) { - DBUG_ASSERT(db.str != NULL); - DBUG_ASSERT(name.str != NULL); + assert(db.str != NULL); + assert(name.str != NULL); if (is_infoschema_db(db.str, db.length)) return TABLE_CATEGORY_INFORMATION; @@ -557,7 +557,7 @@ { DBUG_ENTER("free_table_share"); DBUG_PRINT("enter", ("table: %s.%s", share->db.str, share->table_name.str)); - DBUG_ASSERT(share->ref_count == 0); + assert(share->ref_count == 0); if (share->m_flush_tickets.is_empty()) { @@ -746,7 +746,7 @@ The following is a safety test and should never fail as the old file name should never be longer than the new one. */ - DBUG_ASSERT(length <= share->normalized_path.length); + assert(length <= share->normalized_path.length); /* If the old and the new names have the same length, then table name does not have tricky characters, @@ -854,7 +854,7 @@ void KEY_PART_INFO::init_flags() { - DBUG_ASSERT(field); + assert(field); if (field->type() == MYSQL_TYPE_BLOB || field->type() == MYSQL_TYPE_GEOMETRY) key_part_flag|= HA_BLOB_PART; @@ -1129,7 +1129,7 @@ ha_checktype(thd, db_type, false, false)); handlerton *se_hton= plugin_data(se_plugin); - DBUG_ASSERT(se_hton); + assert(se_hton); // Now, assemble the parameters: // 1. The tablespace name (to be retrieved). @@ -1468,7 +1468,7 @@ return 4; gcol_info_length= uint2korr(*gcol_screen_pos + 1); - DBUG_ASSERT(gcol_info_length); // Expect non-null expression + assert(gcol_info_length); // Expect non-null expression fld_stored_in_db= (bool) (uint) (*gcol_screen_pos)[3]; gcol_info->set_field_stored(fld_stored_in_db); @@ -1710,7 +1710,7 @@ goto err; DBUG_PRINT("info", ("default_part_db_type = %u", head[61])); legacy_db_type= (enum legacy_db_type) (uint) *(head+3); - DBUG_ASSERT(share->db_plugin == NULL); + assert(share->db_plugin == NULL); /* if the storage engine is dynamic, no point in resolving it by its dynamically allocated legacy_db_type. We will resolve it later by name. @@ -1911,8 +1911,8 @@ keyinfo->comment.length); strpos+= 2 + keyinfo->comment.length; } - DBUG_ASSERT(MY_TEST(keyinfo->flags & HA_USES_COMMENT) == - (keyinfo->comment.length > 0)); + assert(MY_TEST(keyinfo->flags & HA_USES_COMMENT) == + (keyinfo->comment.length > 0)); } share->reclength = uint2korr((head+16)); @@ -2014,8 +2014,8 @@ Partition engine is ready, share->db_plugin must already contain a properly locked reference to it. */ - DBUG_ASSERT(is_ha_partition_handlerton(plugin_data( - share->db_plugin))); + assert(is_ha_partition_handlerton(plugin_data( + share->db_plugin))); DBUG_PRINT("info", ("setting dbtype to '%.*s' (%d)", str_db_type_length, next_chunk + 2, ha_legacy_type(share->db_type()))); @@ -2373,7 +2373,7 @@ comment_pos= orig_comment_pos; gcol_screen_pos= orig_gcol_screen_pos; // Generated columns can be present only in new .FRMs. - DBUG_ASSERT(new_frm_ver >= 3); + assert(new_frm_ver >= 3); for (i=0 ; i < share->fields; i++, strpos+=field_pack_length) { if ((strpos[10] & Field::GENERATED_FIELD) && // Field::unireg_check @@ -2408,8 +2408,8 @@ error= 4; share->field[share->fields]= 0; // End marker /* Sanity checks: */ - DBUG_ASSERT(share->fields >= share->stored_fields); - DBUG_ASSERT(share->reclength >= share->stored_rec_length); + assert(share->fields >= share->stored_fields); + assert(share->reclength >= share->stored_rec_length); /* Fix key->name and key_part->field */ if (key_parts) @@ -2439,7 +2439,7 @@ primary_key=key; for (i=0 ; i < keyinfo->user_defined_key_parts ;i++) { - DBUG_ASSERT(key_part[i].fieldnr > 0); + assert(key_part[i].fieldnr > 0); // Table field corresponding to the i'th key part. Field *table_field= share->field[key_part[i].fieldnr - 1]; @@ -2680,7 +2680,7 @@ bitmap_set_all(&share->all_set); delete handler_file; -#ifndef DBUG_OFF +#ifndef NDEBUG if (use_hash) (void) my_hash_check(&share->name_hash); #endif @@ -2718,7 +2718,7 @@ DBUG_ENTER("validate_generate_expr"); Item* expr= field->gcol_info->expr_item; const char *field_name= field->field_name; - DBUG_ASSERT(expr); + assert(expr); /** These are not allowed: @@ -2735,7 +2735,7 @@ my_error(ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED, MYF(0), field_name); DBUG_RETURN(TRUE); } - DBUG_ASSERT(!expr->has_subquery()); // 4) + assert(!expr->has_subquery()); // 4) /* Walk through the Item tree, checking the validity of items belonging to the generated column. @@ -2781,7 +2781,7 @@ char db_name_string[FN_REFLEN]; bool save_use_only_table_context; enum_mark_columns save_mark_used_columns= thd->mark_used_columns; - DBUG_ASSERT(func_expr); + assert(func_expr); DBUG_ENTER("fix_fields_gcol_func"); /* @@ -2855,7 +2855,7 @@ goto end; // Virtual columns expressions that substitute themselves are invalid - DBUG_ASSERT(new_func == func_expr); + assert(new_func == func_expr); result= FALSE; end: @@ -2879,7 +2879,7 @@ my_bitmap_map *bitbuf= static_cast(alloc_root(&table->mem_root, bitmap_buffer_size(table->s->fields))); - DBUG_ASSERT(num_non_virtual_base_cols == 0); + assert(num_non_virtual_base_cols == 0); bitmap_init(&base_columns_map, bitbuf, table->s->fields, 0); MY_BITMAP *save_old_read_set= table->read_set; @@ -2938,9 +2938,9 @@ bool *error_reported) { DBUG_ENTER("unpack_gcol_info_from_frm"); - DBUG_ASSERT(field->table == table); + assert(field->table == table); LEX_STRING *gcol_expr= &field->gcol_info->expr_str; - DBUG_ASSERT(gcol_expr); + assert(gcol_expr); /* Step 1: Construct a statement for the parser. The parsed string needs to take the following format: @@ -3141,7 +3141,7 @@ } else { - DBUG_ASSERT(!db_stat); + assert(!db_stat); } error= 4; @@ -3418,7 +3418,7 @@ ibd file might be missing */ error= 1; - DBUG_ASSERT(my_errno() == HA_ERR_TABLESPACE_MISSING); + assert(my_errno() == HA_ERR_TABLESPACE_MISSING); break; case HA_ERR_NO_SUCH_TABLE: /* @@ -4040,8 +4040,8 @@ */ for (i= 0; i < keys; i++) { - DBUG_ASSERT(MY_TEST(key_info[i].flags & HA_USES_COMMENT) == - (key_info[i].comment.length > 0)); + assert(MY_TEST(key_info[i].flags & HA_USES_COMMENT) == + (key_info[i].comment.length > 0)); if (key_info[i].flags & HA_USES_COMMENT) key_comment_total_bytes += 2 + key_info[i].comment.length; } @@ -4586,7 +4586,7 @@ gvisitor->m_lock_open_count--; if (locked) { - DBUG_ASSERT(gvisitor->m_lock_open_count == 0); + assert(gvisitor->m_lock_open_count == 0); table_cache_manager.unlock_all_and_tdc(); } @@ -4638,7 +4638,7 @@ up to date and the share is referenced. Otherwise our thread will never be woken up from wait. */ - DBUG_ASSERT(version != refresh_version && ref_count != 0); + assert(version != refresh_version && ref_count != 0); m_flush_tickets.push_front(&ticket); @@ -4696,7 +4696,7 @@ case MDL_wait::KILLED: return TRUE; default: - DBUG_ASSERT(0); + assert(0); return TRUE; } } @@ -4715,7 +4715,7 @@ void TABLE::init(THD *thd, TABLE_LIST *tl) { - DBUG_ASSERT(s->ref_count > 0 || s->tmp_table != NO_TMP_TABLE); + assert(s->ref_count > 0 || s->tmp_table != NO_TMP_TABLE); if (thd->lex->need_correct_ident()) alias_name_used= my_strcasecmp(table_alias_charset, @@ -4743,18 +4743,18 @@ reginfo.impossible_range= 0; /* Catch wrong handling of the auto_increment_field_not_null. */ - DBUG_ASSERT(!auto_increment_field_not_null); + assert(!auto_increment_field_not_null); auto_increment_field_not_null= FALSE; pos_in_table_list= tl; clear_column_bitmaps(); - DBUG_ASSERT(key_read == 0); + assert(key_read == 0); no_keyread= false; /* Tables may be reused in a sub statement. */ - DBUG_ASSERT(!file->extra(HA_EXTRA_IS_ATTACHED_CHILDREN)); + assert(!file->extra(HA_EXTRA_IS_ATTACHED_CHILDREN)); /* Do not call refix_gc_items() for tables which are not directly used by the @@ -4772,7 +4772,7 @@ if (!pos_in_table_list->prelocking_placeholder) { bool error MY_ATTRIBUTE((unused))= refix_gc_items(thd); - DBUG_ASSERT(!error); + assert(!error); } } @@ -4784,7 +4784,7 @@ for (Field **vfield_ptr= vfield; *vfield_ptr; vfield_ptr++) { Field *vfield= *vfield_ptr; - DBUG_ASSERT(vfield->gcol_info && vfield->gcol_info->expr_item); + assert(vfield->gcol_info && vfield->gcol_info->expr_item); if (!vfield->gcol_info->expr_item->fixed) { bool res= false; @@ -4914,7 +4914,7 @@ for (Field **ptr= visible_field_ptr(); *ptr; ptr++, i++) { Item_field *item_field= (Item_field*) it++; - DBUG_ASSERT(item_field != 0); + assert(item_field != 0); item_field->reset_field(*ptr); } } @@ -4937,7 +4937,7 @@ List *belongs_to, class st_select_lex *select) { - DBUG_ASSERT(belongs_to && select); + assert(belongs_to && select); TABLE_LIST *const join_nest= (TABLE_LIST*) alloc_root(allocator, sizeof(TABLE_LIST)); @@ -4976,7 +4976,7 @@ bool TABLE_LIST::merge_underlying_tables(class st_select_lex *select) { - DBUG_ASSERT(nested_join->join_list.is_empty()); + assert(nested_join->join_list.is_empty()); List_iterator_fast li(select->top_join_list); TABLE_LIST *tl; @@ -5044,7 +5044,7 @@ { DBUG_ENTER("TABLE_LIST::merge_where"); - DBUG_ASSERT(is_merged()); + assert(is_merged()); Item *const condition= derived_unit()->first_select()->where_cond(); @@ -5087,9 +5087,9 @@ List_iterator_fast it(select->item_list); uint field_count= 0; - DBUG_ASSERT(derived->is_prepared()); + assert(derived->is_prepared()); - DBUG_ASSERT(!field_translation); + assert(!field_translation); Prepared_stmt_arena_holder ps_arena_holder(thd); @@ -5191,7 +5191,7 @@ bool TABLE_LIST::prepare_check_option(THD *thd, bool is_cascaded) { DBUG_ENTER("TABLE_LIST::prepare_check_option"); - DBUG_ASSERT(is_view()); + assert(is_view()); /* True if conditions of underlying views should be treated as WITH CASCADED @@ -5387,7 +5387,7 @@ } else { - DBUG_ASSERT(view && merge_underlying_list); + assert(view && merge_underlying_list); for (TABLE_LIST *tbl= merge_underlying_list; tbl; tbl= tbl->next_local) if (tbl->set_insert_values(mem_root)) return true; /* purecov: inspected */ @@ -5449,7 +5449,7 @@ if (is_leaf_for_name_resolution()) return this; - DBUG_ASSERT(nested_join); + assert(nested_join); for (cur_nested_join= nested_join; cur_nested_join; @@ -5506,7 +5506,7 @@ if (is_leaf_for_name_resolution()) return this; - DBUG_ASSERT(nested_join); + assert(nested_join); for (cur_nested_join= nested_join; cur_nested_join; @@ -5541,7 +5541,7 @@ void TABLE_LIST::set_want_privilege(ulong want_privilege) { -#ifndef DBUG_OFF +#ifndef NDEBUG // Remove SHOW_VIEW_ACL, because it will be checked during making view want_privilege&= ~SHOW_VIEW_ACL; @@ -5572,11 +5572,11 @@ DBUG_ENTER("TABLE_LIST::prepare_view_securety_context"); DBUG_PRINT("enter", ("table: %s", alias)); - DBUG_ASSERT(!prelocking_placeholder && view); + assert(!prelocking_placeholder && view); if (view_suid) { DBUG_PRINT("info", ("This table is suid view => load contest")); - DBUG_ASSERT(view && view_sctx); + assert(view && view_sctx); if (acl_getroot(view_sctx, const_cast(definer.user.str), const_cast(definer.host.str), @@ -5635,10 +5635,10 @@ TABLE_LIST *upper_view= this; DBUG_ENTER("TABLE_LIST::find_view_security_context"); - DBUG_ASSERT(view); + assert(view); while (upper_view && !upper_view->view_suid) { - DBUG_ASSERT(!upper_view->prelocking_placeholder); + assert(!upper_view->prelocking_placeholder); upper_view= upper_view->referencing_view; } if (upper_view) @@ -5646,7 +5646,7 @@ DBUG_PRINT("info", ("Securety context of view %s will be used", upper_view->alias)); sctx= upper_view->view_sctx; - DBUG_ASSERT(sctx); + assert(sctx); } else { @@ -5678,14 +5678,14 @@ #ifndef NO_EMBEDDED_ACCESS_CHECKS Security_context *save_security_ctx= thd->security_context(); - DBUG_ASSERT(!prelocking_placeholder); + assert(!prelocking_placeholder); if (prepare_view_securety_context(thd)) DBUG_RETURN(TRUE); thd->set_security_context(find_view_security_context(thd)); opt_trace_disable_if_no_security_context_access(thd); while ((tbl= tb++)) { - DBUG_ASSERT(tbl->referencing_view); + assert(tbl->referencing_view); const char *local_db, *local_table_name; if (tbl->is_view()) { @@ -5720,7 +5720,7 @@ Natural_join_column::Natural_join_column(Field_translator *field_param, TABLE_LIST *tab) { - DBUG_ASSERT(tab->field_translation); + assert(tab->field_translation); view_field= field_param; table_field= NULL; table_ref= tab; @@ -5731,7 +5731,7 @@ Natural_join_column::Natural_join_column(Item_field *field_param, TABLE_LIST *tab) { - DBUG_ASSERT(tab->table == field_param->field->table); + assert(tab->table == field_param->field->table); table_field= field_param; /* Cache table, to have no resolution problem after natural join nests have @@ -5749,7 +5749,7 @@ { if (view_field) { - DBUG_ASSERT(table_field == NULL); + assert(table_field == NULL); return view_field->name; } @@ -5761,7 +5761,7 @@ { if (view_field) { - DBUG_ASSERT(table_field == NULL); + assert(table_field == NULL); SELECT_LEX *select= thd->lex->current_select(); return create_view_field(thd, table_ref, &view_field->item, view_field->name, &select->context); @@ -5774,7 +5774,7 @@ { if (view_field) { - DBUG_ASSERT(table_field == NULL); + assert(table_field == NULL); return NULL; } return table_field->field; @@ -5783,7 +5783,7 @@ const char *Natural_join_column::table_name() { - DBUG_ASSERT(table_ref); + assert(table_ref); return table_ref->alias; } @@ -5798,11 +5798,11 @@ ensure consistency. An exception are I_S schema tables, which are inconsistent in this respect. */ - DBUG_ASSERT(!strcmp(table_ref->db, - table_ref->table->s->db.str) || - (table_ref->schema_table && - is_infoschema_db(table_ref->table->s->db.str, - table_ref->table->s->db.length))); + assert(!strcmp(table_ref->db, + table_ref->table->s->db.str) || + (table_ref->schema_table && + is_infoschema_db(table_ref->table->s->db.str, + table_ref->table->s->db.length))); return table_ref->db; } @@ -5817,7 +5817,7 @@ void Field_iterator_view::set(TABLE_LIST *table) { - DBUG_ASSERT(table->field_translation); + assert(table->field_translation); view= table; ptr= table->field_translation; array_end= table->field_translation_end; @@ -5876,11 +5876,11 @@ ('mysql_schema_table' function). So we can return directly the field. This case happens only for 'show & where' commands. */ - DBUG_ASSERT(field && field->fixed); + assert(field && field->fixed); DBUG_RETURN(field); } - DBUG_ASSERT(field); + assert(field); if (!field->fixed) { if (field->fix_fields(thd, field_ref)) @@ -5926,7 +5926,7 @@ void Field_iterator_natural_join::set(TABLE_LIST *table_ref) { - DBUG_ASSERT(table_ref->join_columns); + assert(table_ref->join_columns); column_ref_it.init(*(table_ref->join_columns)); cur_column_ref= column_ref_it++; } @@ -5935,9 +5935,9 @@ void Field_iterator_natural_join::next() { cur_column_ref= column_ref_it++; - DBUG_ASSERT(!cur_column_ref || ! cur_column_ref->table_field || - cur_column_ref->table_ref->table == - cur_column_ref->table_field->field->table); + assert(!cur_column_ref || ! cur_column_ref->table_field || + cur_column_ref->table_ref->table == + cur_column_ref->table_field->field->table); } @@ -5954,18 +5954,18 @@ if (table_ref->is_join_columns_complete) { /* Necesary, but insufficient conditions. */ - DBUG_ASSERT(table_ref->is_natural_join || - table_ref->nested_join || - (table_ref->join_columns && - /* This is a merge view. */ - ((table_ref->field_translation && - table_ref->join_columns->elements == - (ulong)(table_ref->field_translation_end - - table_ref->field_translation)) || - /* This is stored table or a tmptable view. */ - (!table_ref->field_translation && - table_ref->join_columns->elements == - table_ref->table->s->fields)))); + assert(table_ref->is_natural_join || + table_ref->nested_join || + (table_ref->join_columns && + /* This is a merge view. */ + ((table_ref->field_translation && + table_ref->join_columns->elements == + (ulong)(table_ref->field_translation_end - + table_ref->field_translation)) || + /* This is stored table or a tmptable view. */ + (!table_ref->field_translation && + table_ref->join_columns->elements == + table_ref->table->s->fields)))); field_it= &natural_join_it; DBUG_PRINT("info",("field_it for '%s' is Field_iterator_natural_join", table_ref->alias)); @@ -5973,7 +5973,7 @@ /* This is a merge view, so use field_translation. */ else if (table_ref->field_translation) { - DBUG_ASSERT(table_ref->is_merged()); + assert(table_ref->is_merged()); field_it= &view_field_it; DBUG_PRINT("info", ("field_it for '%s' is Field_iterator_view", table_ref->alias)); @@ -5981,7 +5981,7 @@ /* This is a base table or stored view. */ else { - DBUG_ASSERT(table_ref->table || table_ref->is_view()); + assert(table_ref->table || table_ref->is_view()); field_it= &table_field_it; DBUG_PRINT("info", ("field_it for '%s' is Field_iterator_table", table_ref->alias)); @@ -5993,10 +5993,10 @@ void Field_iterator_table_ref::set(TABLE_LIST *table) { - DBUG_ASSERT(table); + assert(table); first_leaf= table->first_leaf_for_name_resolution(); last_leaf= table->last_leaf_for_name_resolution(); - DBUG_ASSERT(first_leaf && last_leaf); + assert(first_leaf && last_leaf); table_ref= first_leaf; set_field_iterator(); } @@ -6013,7 +6013,7 @@ if (field_it->end_of_fields() && table_ref != last_leaf) { table_ref= table_ref->next_name_resolution_table; - DBUG_ASSERT(table_ref); + assert(table_ref); set_field_iterator(); } } @@ -6026,8 +6026,8 @@ else if (table_ref->is_natural_join) return natural_join_it.column_ref()->table_name(); - DBUG_ASSERT(!strcmp(table_ref->table_name, - table_ref->table->s->table_name.str)); + assert(!strcmp(table_ref->table_name, + table_ref->table->s->table_name.str)); return table_ref->table_name; } @@ -6044,10 +6044,10 @@ ensure consistency. An exception are I_S schema tables, which are inconsistent in this respect. */ - DBUG_ASSERT(!strcmp(table_ref->db, table_ref->table->s->db.str) || - (table_ref->schema_table && - is_infoschema_db(table_ref->table->s->db.str, - table_ref->table->s->db.length))); + assert(!strcmp(table_ref->db, table_ref->table->s->db.str) || + (table_ref->schema_table && + is_infoschema_db(table_ref->table->s->db.str, + table_ref->table->s->db.length))); return table_ref->db; } @@ -6135,13 +6135,13 @@ already created via one of the two constructor calls above. In this case we just return the already created column reference. */ - DBUG_ASSERT(table_ref->is_join_columns_complete); + assert(table_ref->is_join_columns_complete); is_created= FALSE; nj_col= natural_join_it.column_ref(); - DBUG_ASSERT(nj_col); + assert(nj_col); } - DBUG_ASSERT(!nj_col->table_field || - nj_col->table_ref->table == nj_col->table_field->field->table); + assert(!nj_col->table_field || + nj_col->table_ref->table == nj_col->table_field->field->table); /* If the natural join column was just created add it to the list of @@ -6151,7 +6151,7 @@ if (is_created) { /* Make sure not all columns were materialized. */ - DBUG_ASSERT(!add_table_ref->is_join_columns_complete); + assert(!add_table_ref->is_join_columns_complete); if (!add_table_ref->join_columns) { /* Create a list of natural join columns on demand. */ @@ -6197,16 +6197,16 @@ { Natural_join_column *nj_col; - DBUG_ASSERT(field_it == &natural_join_it); + assert(field_it == &natural_join_it); /* The field belongs to a NATURAL join, therefore the column reference was already created via one of the two constructor calls above. In this case we just return the already created column reference. */ nj_col= natural_join_it.column_ref(); - DBUG_ASSERT(nj_col && - (!nj_col->table_field || - nj_col->table_ref->table == nj_col->table_field->field->table)); + assert(nj_col && + (!nj_col->table_field || + nj_col->table_ref->table == nj_col->table_field->field->table)); return nj_col; } @@ -6312,7 +6312,7 @@ DBUG_PRINT("warning", ("Found duplicated field")); thd->dup_field= field; } - DBUG_ASSERT(!get_fields_in_item_tree); + assert(!get_fields_in_item_tree); if (field->is_gcol()) mark_gcol_in_maps(field); @@ -6405,7 +6405,7 @@ void TABLE::mark_auto_increment_column() { - DBUG_ASSERT(found_next_number_field); + assert(found_next_number_field); /* We must set bit in read set as update_auto_increment() is using the store() to check overflow of auto_increment values @@ -6605,8 +6605,8 @@ void TABLE::mark_columns_per_binlog_row_image() { DBUG_ENTER("mark_columns_per_binlog_row_image"); - DBUG_ASSERT(read_set->bitmap); - DBUG_ASSERT(write_set->bitmap); + assert(read_set->bitmap); + assert(write_set->bitmap); /** If in RBR we may need to mark some extra columns, @@ -6659,7 +6659,7 @@ break; default: - DBUG_ASSERT(FALSE); + assert(FALSE); } file->column_bitmaps_signal(); } @@ -6684,7 +6684,7 @@ bool TABLE::alloc_keys(uint key_count) { - DBUG_ASSERT(!s->keys); + assert(!s->keys); max_keys= key_count; if (!(key_info= s->key_info= (KEY*) alloc_root(&mem_root, sizeof(KEY)*max_keys))) @@ -6716,7 +6716,7 @@ bool TABLE::add_tmp_key(Field_map *key_parts, char *key_name) { - DBUG_ASSERT(!created && s->keys < max_keys && key_parts); + assert(!created && s->keys < max_keys && key_parts); KEY* cur_key= key_info + s->keys; Field **reg_field; @@ -6733,7 +6733,7 @@ { KEY_PART_INFO tkp; // Ensure that we're not creating a key over a blob field. - DBUG_ASSERT(!((*reg_field)->flags & BLOB_FLAG)); + assert(!((*reg_field)->flags & BLOB_FLAG)); /* Check if possible key is too long, ignore it if so. The reason to use MI_MAX_KEY_LENGTH (myisam's default) is that it is @@ -6829,7 +6829,7 @@ void TABLE::use_index(int key_to_save) { - DBUG_ASSERT(!created && s->keys && key_to_save < (int)s->keys); + assert(!created && s->keys && key_to_save < (int)s->keys); Field **reg_field; /* @@ -6979,7 +6979,7 @@ for (vfield_ptr= vfield; *vfield_ptr; vfield_ptr++) { tmp_vfield= *vfield_ptr; - DBUG_ASSERT(tmp_vfield->gcol_info && tmp_vfield->gcol_info->expr_item); + assert(tmp_vfield->gcol_info && tmp_vfield->gcol_info->expr_item); /* We need to evaluate the GC if: @@ -7011,7 +7011,7 @@ for (vfield_ptr= vfield; *vfield_ptr; vfield_ptr++) { tmp_vfield= *vfield_ptr; - DBUG_ASSERT(tmp_vfield->gcol_info && tmp_vfield->gcol_info->expr_item); + assert(tmp_vfield->gcol_info && tmp_vfield->gcol_info->expr_item); tmp_vfield->table->mark_column_used(in_use, tmp_vfield, MARK_COLUMNS_WRITE); bitmap_updated= TRUE; @@ -7040,7 +7040,7 @@ for (Field **vfield_ptr= vfield; *vfield_ptr; vfield_ptr++) { Field *tmp_vfield= *vfield_ptr; - DBUG_ASSERT(tmp_vfield->gcol_info && tmp_vfield->gcol_info->expr_item); + assert(tmp_vfield->gcol_info && tmp_vfield->gcol_info->expr_item); Mark_field mark_fld(MARK_COLUMNS_TEMP); tmp_vfield->gcol_info->expr_item->walk(&Item::mark_field_in_map, Item::WALK_PREFIX, (uchar *) &mark_fld); @@ -7328,7 +7328,7 @@ /// @returns true if materializable table contains one or zero rows bool TABLE_LIST::materializable_is_const() const { - DBUG_ASSERT(uses_materialization()); + assert(uses_materialization()); return derived_unit()->query_result()->estimated_rowcount <= 1; } @@ -7340,7 +7340,7 @@ uint TABLE_LIST::leaf_tables_count() const { // Join nests are not permissible, except as merged views - DBUG_ASSERT(nested_join == NULL || is_merged()); + assert(nested_join == NULL || is_merged()); if (!is_merged()) // Base table or materialized view return 1; @@ -7611,7 +7611,7 @@ Derived_key *entry; uint key= 0; char buf[NAME_CHAR_LEN]; - DBUG_ASSERT(uses_materialization()); + assert(uses_materialization()); if (!derived_key_list.elements) return FALSE; @@ -7686,8 +7686,8 @@ bool retval= false; DBUG_ENTER("check_read_removal"); - DBUG_ASSERT(file->ha_table_flags() & HA_READ_BEFORE_WRITE_REMOVAL); - DBUG_ASSERT(index != MAX_KEY); + assert(file->ha_table_flags() & HA_READ_BEFORE_WRITE_REMOVAL); + assert(index != MAX_KEY); // Index must be unique if ((key_info[index].flags & HA_NOSAME) == 0) @@ -7762,7 +7762,7 @@ bool update_generated_read_fields(uchar *buf, TABLE *table, uint active_index) { DBUG_ENTER("update_generated_read_fields"); - DBUG_ASSERT(table && table->vfield); + assert(table && table->vfield); if (active_index != MAX_KEY && table->key_read) { /* @@ -7794,7 +7794,7 @@ for (Field **vfield_ptr= table->vfield; *vfield_ptr; vfield_ptr++) { Field *vfield= *vfield_ptr; - DBUG_ASSERT(vfield->gcol_info && vfield->gcol_info->expr_item); + assert(vfield->gcol_info && vfield->gcol_info->expr_item); /* Only calculate those virtual generated fields that are marked in the read_set bitmap. @@ -7864,13 +7864,13 @@ Field **vfield_ptr; int error= 0; - DBUG_ASSERT(table->vfield); + assert(table->vfield); /* Iterate over generated fields in the table */ for (vfield_ptr= table->vfield; *vfield_ptr; vfield_ptr++) { Field *vfield; vfield= (*vfield_ptr); - DBUG_ASSERT(vfield->gcol_info && vfield->gcol_info->expr_item); + assert(vfield->gcol_info && vfield->gcol_info->expr_item); /* Only update those fields that are marked in the bitmap */ if (bitmap_is_set(bitmap, vfield->field_index)) diff -Nru mysql-5.7-5.7.33/sql/table.h mysql-5.7-5.7.34/sql/table.h --- mysql-5.7-5.7.33/sql/table.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/table.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef TABLE_INCLUDED #define TABLE_INCLUDED -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -321,7 +321,7 @@ The set is implemented as a bitmap, with the bits defined in sql_acl.h. */ ulong privilege; -#ifndef DBUG_OFF +#ifndef NDEBUG /** @brief the set of privileges that the current user needs to fulfil in order to carry out the requested operation. Used in debug build to @@ -643,7 +643,7 @@ plugin_ref db_plugin; /* storage engine plugin */ inline handlerton *db_type() const /* table_type for handler */ { - // DBUG_ASSERT(db_plugin); + // assert(db_plugin); return db_plugin ? plugin_data(db_plugin) : NULL; } enum row_type row_type; /* How rows are stored */ @@ -1341,7 +1341,7 @@ void set_keyread(bool flag) { - DBUG_ASSERT(file); + assert(file); if (flag && !key_read) { key_read= 1; @@ -1366,7 +1366,7 @@ */ inline bool index_contains_some_virtual_gcol(uint index_no) { - DBUG_ASSERT(index_no < s->keys); + assert(index_no < s->keys); return key_info[index_no].flags & HA_VIRTUAL_GEN_KEY; } bool update_const_key_parts(Item *conds); @@ -1835,8 +1835,8 @@ void set_join_cond(Item *val) { // If optimization has started, it's too late to change m_join_cond. - DBUG_ASSERT(m_join_cond_optim == NULL || - m_join_cond_optim == (Item*)1); + assert(m_join_cond_optim == NULL || + m_join_cond_optim == (Item*)1); m_join_cond= val; } Item *join_cond_optim() const { return m_join_cond_optim; } @@ -1846,8 +1846,8 @@ Either we are setting to "empty", or there must pre-exist a permanent condition. */ - DBUG_ASSERT(cond == NULL || cond == (Item*)1 || - m_join_cond != NULL); + assert(cond == NULL || cond == (Item*)1 || + m_join_cond != NULL); m_join_cond_optim= cond; } Item **join_cond_optim_ref() { return &m_join_cond_optim; } @@ -1858,7 +1858,7 @@ /// Set the semi-join condition for a semi-join nest void set_sj_cond(Item *cond) { - DBUG_ASSERT(m_sj_cond == NULL); + assert(m_sj_cond == NULL); m_sj_cond= cond; } @@ -1957,7 +1957,7 @@ /// Set table to be merged void set_merged() { - DBUG_ASSERT(effective_algorithm == VIEW_ALGORITHM_UNDEFINED); + assert(effective_algorithm == VIEW_ALGORITHM_UNDEFINED); effective_algorithm= VIEW_ALGORITHM_MERGE; } @@ -1971,8 +1971,8 @@ void set_uses_materialization() { // @todo We should do this only once, but currently we cannot: - //DBUG_ASSERT(effective_algorithm == VIEW_ALGORITHM_UNDEFINED); - DBUG_ASSERT(effective_algorithm != VIEW_ALGORITHM_MERGE); + //assert(effective_algorithm == VIEW_ALGORITHM_UNDEFINED); + assert(effective_algorithm != VIEW_ALGORITHM_MERGE); effective_algorithm= VIEW_ALGORITHM_TEMPTABLE; } @@ -1996,12 +1996,12 @@ { if (is_view_or_derived()) { - DBUG_ASSERT(is_merged()); // Cannot be a materialized view + assert(is_merged()); // Cannot be a materialized view return leaf_tables_count() > 1; } else { - DBUG_ASSERT(nested_join == NULL); // Must be a base table + assert(nested_join == NULL); // Must be a base table return false; } } @@ -2049,7 +2049,7 @@ /// Return the valid LEX object for a view. LEX *view_query() const { - DBUG_ASSERT(view != NULL && view != (LEX *)1); + assert(view != NULL && view != (LEX *)1); return view; } @@ -2065,14 +2065,14 @@ /// Return the query expression of a derived table or view. st_select_lex_unit *derived_unit() const { - DBUG_ASSERT(derived); + assert(derived); return derived; } /// Set temporary name from underlying temporary table: void set_name_temporary() { - DBUG_ASSERT(is_view_or_derived() && uses_materialization()); + assert(is_view_or_derived() && uses_materialization()); table_name= table->s->table_name.str; table_name_length= table->s->table_name.length; db= (char *)""; @@ -2082,8 +2082,8 @@ /// Reset original name for temporary table. void reset_name_temporary() { - DBUG_ASSERT(is_view_or_derived() && uses_materialization()); - DBUG_ASSERT(db != view_db.str && table_name != view_name.str); + assert(is_view_or_derived() && uses_materialization()); + assert(db != view_db.str && table_name != view_name.str); if (is_view()) { db= view_db.str; @@ -2242,11 +2242,11 @@ TABLE_LIST *updatable_base_table() { TABLE_LIST *tbl= this; - DBUG_ASSERT(tbl->is_updatable() && !tbl->is_multiple_tables()); + assert(tbl->is_updatable() && !tbl->is_multiple_tables()); while (tbl->is_view_or_derived()) { tbl= tbl->merge_underlying_list; - DBUG_ASSERT(tbl->is_updatable() && !tbl->is_multiple_tables()); + assert(tbl->is_updatable() && !tbl->is_multiple_tables()); } return tbl; } @@ -2591,7 +2591,7 @@ /// Set table number void set_tableno(uint tableno) { - DBUG_ASSERT(tableno < MAX_TABLES); + assert(tableno < MAX_TABLES); m_tableno= tableno; m_map= (table_map)1 << tableno; } @@ -2601,7 +2601,7 @@ /// Return table map derived from table number table_map map() const { - DBUG_ASSERT(((table_map)1 << m_tableno) == m_map); + assert(((table_map)1 << m_tableno) == m_map); return m_map; } @@ -2882,7 +2882,7 @@ static inline my_bitmap_map *dbug_tmp_use_all_columns(TABLE *table, MY_BITMAP *bitmap) { -#ifndef DBUG_OFF +#ifndef NDEBUG return tmp_use_all_columns(table, bitmap); #else return 0; @@ -2892,7 +2892,7 @@ static inline void dbug_tmp_restore_column_map(MY_BITMAP *bitmap, my_bitmap_map *old) { -#ifndef DBUG_OFF +#ifndef NDEBUG tmp_restore_column_map(bitmap, old); #endif } @@ -2907,7 +2907,7 @@ MY_BITMAP *read_set, MY_BITMAP *write_set) { -#ifndef DBUG_OFF +#ifndef NDEBUG save[0]= read_set->bitmap; save[1]= write_set->bitmap; (void) tmp_use_all_columns(table, read_set); @@ -2920,7 +2920,7 @@ MY_BITMAP *write_set, my_bitmap_map **old) { -#ifndef DBUG_OFF +#ifndef NDEBUG tmp_restore_column_map(read_set, old[0]); tmp_restore_column_map(write_set, old[1]); #endif diff -Nru mysql-5.7-5.7.33/sql/table_trigger_dispatcher.cc mysql-5.7-5.7.34/sql/table_trigger_dispatcher.cc --- mysql-5.7-5.7.33/sql/table_trigger_dispatcher.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/table_trigger_dispatcher.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -270,7 +270,7 @@ of Field objects here. */ - DBUG_ASSERT(m_subject_table); + assert(m_subject_table); m_old_field= m_subject_table->field; m_new_field= m_subject_table->field; @@ -357,7 +357,7 @@ if (*trigger_found) return false; - DBUG_ASSERT (!*trigger_found); + assert (!*trigger_found); my_message(ER_TRG_DOES_NOT_EXIST, ER(ER_TRG_DOES_NOT_EXIST), MYF(0)); return true; @@ -378,7 +378,7 @@ { Field **fld, **old_fld; - DBUG_ASSERT(m_subject_table); + assert(m_subject_table); m_record1_field= (Field **) alloc_root( get_mem_root(), @@ -534,8 +534,8 @@ enum_trigger_event_type event, enum_trigger_action_time_type action_time) { - DBUG_ASSERT(event != TRG_EVENT_MAX); - DBUG_ASSERT(action_time != TRG_ACTION_MAX); + assert(event != TRG_EVENT_MAX); + assert(action_time != TRG_ACTION_MAX); Trigger_chain *tc= get_triggers(event, action_time); @@ -723,7 +723,7 @@ if (fatal_parse_error || t->has_parse_error()) { - DBUG_ASSERT(!t->get_sp()); // SP must be NULL. + assert(!t->get_sp()); // SP must be NULL. if (t->has_parse_error()) set_parse_error_message(t->get_parse_error_message()); @@ -737,7 +737,7 @@ continue; } - DBUG_ASSERT(!t->has_parse_error()); + assert(!t->has_parse_error()); sp_head *sp= t->get_sp(); @@ -777,7 +777,7 @@ if (!tc) return false; - DBUG_ASSERT(m_subject_table); + assert(m_subject_table); if (old_row_is_record1) { @@ -793,8 +793,8 @@ This trigger must have been processed by the pre-locking algorithm. */ - DBUG_ASSERT(m_subject_table->pos_in_table_list->trg_event_map & - static_cast(1 << static_cast(event))); + assert(m_subject_table->pos_in_table_list->trg_event_map & + static_cast(1 << static_cast(event))); bool rc= tc->execute_triggers(thd); @@ -824,8 +824,8 @@ Query_tables_list *prelocking_ctx, TABLE_LIST *table_list) { - DBUG_ASSERT(static_cast(table_list->lock_type) >= - static_cast(TL_WRITE_ALLOW_WRITE)); + assert(static_cast(table_list->lock_type) >= + static_cast(TL_WRITE_ALLOW_WRITE)); for (int i= 0; i < (int) TRG_EVENT_MAX; ++i) { @@ -854,7 +854,7 @@ void Table_trigger_dispatcher::enable_fields_temporary_nullability(THD *thd) { - DBUG_ASSERT(m_subject_table); + assert(m_subject_table); for (Field **next_field= m_subject_table->field; *next_field; ++next_field) { @@ -885,7 +885,7 @@ void Table_trigger_dispatcher::disable_fields_temporary_nullability() { - DBUG_ASSERT(m_subject_table); + assert(m_subject_table); for (Field **next_field= m_subject_table->field; *next_field; ++next_field) (*next_field)->reset_tmp_nullable(); @@ -929,7 +929,7 @@ if (check_for_broken_triggers()) return true; - DBUG_ASSERT(m_subject_table); + assert(m_subject_table); for (int i= 0; i < (int) TRG_ACTION_MAX; ++i) { diff -Nru mysql-5.7-5.7.33/sql/table_trigger_dispatcher.h mysql-5.7-5.7.34/sql/table_trigger_dispatcher.h --- mysql-5.7-5.7.33/sql/table_trigger_dispatcher.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/table_trigger_dispatcher.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -100,15 +100,15 @@ Trigger_chain *get_triggers(int event, int action_time) { - DBUG_ASSERT(0 <= event && event < TRG_EVENT_MAX); - DBUG_ASSERT(0 <= action_time && action_time < TRG_ACTION_MAX); + assert(0 <= event && event < TRG_EVENT_MAX); + assert(0 <= action_time && action_time < TRG_ACTION_MAX); return m_trigger_map[event][action_time]; } const Trigger_chain *get_triggers(int event, int action_time) const { - DBUG_ASSERT(0 <= event && event < TRG_EVENT_MAX); - DBUG_ASSERT(0 <= action_time && action_time < TRG_ACTION_MAX); + assert(0 <= event && event < TRG_EVENT_MAX); + assert(0 <= action_time && action_time < TRG_ACTION_MAX); return m_trigger_map[event][action_time]; } diff -Nru mysql-5.7-5.7.33/sql/table_trigger_field_support.h mysql-5.7-5.7.34/sql/table_trigger_field_support.h --- mysql-5.7-5.7.33/sql/table_trigger_field_support.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/table_trigger_field_support.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/tc_log.cc mysql-5.7-5.7.34/sql/tc_log.cc --- mysql-5.7-5.7.33/sql/tc_log.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/tc_log.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -100,8 +100,8 @@ bool crashed=FALSE; PAGE *pg; - DBUG_ASSERT(total_ha_2pc > 1); - DBUG_ASSERT(opt_name && opt_name[0]); + assert(total_ha_2pc > 1); + assert(opt_name && opt_name[0]); tc_log_page_size= my_getpagesize(); @@ -146,7 +146,7 @@ inited=2; npages=(uint)file_length/tc_log_page_size; - DBUG_ASSERT(npages >= 3); // to guarantee non-empty pool + assert(npages >= 3); // to guarantee non-empty pool if (!(pages=(PAGE *)my_malloc(key_memory_TC_LOG_MMAP_pages, npages*sizeof(PAGE), MYF(MY_WME|MY_ZEROFILL)))) goto err; @@ -389,7 +389,7 @@ goto done; // we're done } } // page was not synced! do it now - DBUG_ASSERT(active == p && syncing == NULL); + assert(active == p && syncing == NULL); syncing= p; // place is vacant - take it active= NULL; // page is not active anymore mysql_cond_broadcast(&COND_active); // in case somebody's waiting @@ -410,7 +410,7 @@ */ bool TC_LOG_MMAP::sync() { - DBUG_ASSERT(syncing != active); + assert(syncing != active); /* sit down and relax - this can take a while... @@ -450,13 +450,13 @@ PAGE *p= pages + (cookie / tc_log_page_size); my_xid *x= (my_xid *)(data + cookie); - DBUG_ASSERT(*x == xid); - DBUG_ASSERT(x >= p->start && x < p->end); + assert(*x == xid); + assert(x >= p->start && x < p->end); *x= 0; mysql_mutex_lock(&LOCK_tc); p->free++; - DBUG_ASSERT(p->free <= p->size); + assert(p->free <= p->size); set_if_smaller(p->ptr, x); if (p->free == p->size) // the page is completely empty tc_log_cur_pages_used--; diff -Nru mysql-5.7-5.7.33/sql/tc_log.h mysql-5.7-5.7.34/sql/tc_log.h --- mysql-5.7-5.7.33/sql/tc_log.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/tc_log.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -227,7 +227,7 @@ while (*p->ptr) { p->ptr++; - DBUG_ASSERT(p->ptr < p->end); // because p->free > 0 + assert(p->ptr < p->end); // because p->free > 0 } /* found! store xid there and mark the page dirty */ diff -Nru mysql-5.7-5.7.33/sql/thr_malloc.cc mysql-5.7-5.7.34/sql/thr_malloc.cc --- mysql-5.7-5.7.33/sql/thr_malloc.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/thr_malloc.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/thr_malloc.h mysql-5.7-5.7.34/sql/thr_malloc.h --- mysql-5.7-5.7.33/sql/thr_malloc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/thr_malloc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/transaction.cc mysql-5.7-5.7.34/sql/transaction.cc --- mysql-5.7-5.7.33/sql/transaction.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/transaction.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -81,7 +81,7 @@ Always commit statement transaction before manipulating with the normal one. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT)); if (unlikely(thd->in_sub_stmt)) { @@ -125,7 +125,7 @@ thd->locked_tables_list.unlock_locked_tables(thd); - DBUG_ASSERT(!thd->locked_tables_mode); + assert(!thd->locked_tables_mode); if (thd->in_multi_stmt_transaction_mode() || (thd->variables.option_bits & OPTION_TABLE_LOCK)) @@ -150,8 +150,8 @@ thd->mdl_context.release_transactional_locks(); // The RO/RW options are mutually exclusive. - DBUG_ASSERT(!((flags & MYSQL_START_TRANS_OPT_READ_ONLY) && - (flags & MYSQL_START_TRANS_OPT_READ_WRITE))); + assert(!((flags & MYSQL_START_TRANS_OPT_READ_ONLY) && + (flags & MYSQL_START_TRANS_OPT_READ_WRITE))); if (flags & MYSQL_START_TRANS_OPT_READ_ONLY) { thd->tx_read_only= true; @@ -178,7 +178,7 @@ } DBUG_EXECUTE_IF("dbug_set_high_prio_trx", { - DBUG_ASSERT(thd->tx_priority==0); + assert(thd->tx_priority==0); thd->tx_priority= 1; }); @@ -267,7 +267,7 @@ thd->lex->start_transaction_opt= 0; /* The transaction should be marked as complete in P_S. */ - DBUG_ASSERT(thd->m_transaction_psi == NULL); + assert(thd->m_transaction_psi == NULL); thd->tx_priority= 0; @@ -298,9 +298,9 @@ by asserting that conditions that are checked in the former function are true. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT) && - !thd->in_sub_stmt && - !thd->get_transaction()->xid_state()->check_in_xa(false)); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT) && + !thd->in_sub_stmt && + !thd->get_transaction()->xid_state()->check_in_xa(false)); if (thd->in_multi_stmt_transaction_mode() || (thd->variables.option_bits & OPTION_TABLE_LOCK)) @@ -324,7 +324,7 @@ thd->get_transaction()->reset_unsafe_rollback_flags(Transaction_ctx::SESSION); /* The transaction should be marked as complete in P_S. */ - DBUG_ASSERT(thd->m_transaction_psi == NULL); + assert(thd->m_transaction_psi == NULL); /* Upon implicit commit, reset the current transaction @@ -367,7 +367,7 @@ thd->lex->start_transaction_opt= 0; /* The transaction should be marked as complete in P_S. */ - DBUG_ASSERT(thd->m_transaction_psi == NULL); + assert(thd->m_transaction_psi == NULL); thd->tx_priority= 0; @@ -403,8 +403,8 @@ Don't perform rollback in the middle of sub-statement, wait till its end. */ - DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT) && - !thd->in_sub_stmt); + assert(thd->get_transaction()->is_empty(Transaction_ctx::STMT) && + !thd->in_sub_stmt); thd->server_status&= ~(SERVER_STATUS_IN_TRANS | SERVER_STATUS_IN_TRANS_READONLY); @@ -415,9 +415,9 @@ Transaction_ctx::SESSION); /* Rollback should clear transaction_rollback_request flag. */ - DBUG_ASSERT(!thd->transaction_rollback_request); + assert(!thd->transaction_rollback_request); /* The transaction should be marked as complete in P_S. */ - DBUG_ASSERT(thd->m_transaction_psi == NULL); + assert(thd->m_transaction_psi == NULL); trans_track_end_trx(thd); @@ -450,13 +450,13 @@ a savepoint for each nested statement, and release the savepoint when statement has succeeded. */ - DBUG_ASSERT(! thd->in_sub_stmt); + assert(! thd->in_sub_stmt); /* Some code in MYSQL_BIN_LOG::commit and ha_commit_low() is not safe for attachable transactions. */ - DBUG_ASSERT(!thd->is_attachable_ro_transaction_active()); + assert(!thd->is_attachable_ro_transaction_active()); thd->get_transaction()->merge_unsafe_rollback_flags(); @@ -473,8 +473,8 @@ notify_after_transaction_commit(thd)) sql_print_warning("Failed to collect GTID to send in the response packet!"); /* In autocommit=1 mode the transaction should be marked as complete in P_S */ - DBUG_ASSERT(thd->in_active_multi_stmt_transaction() || - thd->m_transaction_psi == NULL); + assert(thd->in_active_multi_stmt_transaction() || + thd->m_transaction_psi == NULL); thd->get_transaction()->reset(Transaction_ctx::STMT); @@ -500,13 +500,13 @@ a savepoint for each nested statement, and release the savepoint when statement has succeeded. */ - DBUG_ASSERT(! thd->in_sub_stmt); + assert(! thd->in_sub_stmt); /* Some code in MYSQL_BIN_LOG::rollback and ha_rollback_low() is not safe for attachable transactions. */ - DBUG_ASSERT(!thd->is_attachable_ro_transaction_active()); + assert(!thd->is_attachable_ro_transaction_active()); thd->get_transaction()->merge_unsafe_rollback_flags(); @@ -540,10 +540,10 @@ } /* In autocommit=1 mode the transaction should be marked as complete in P_S */ - DBUG_ASSERT(thd->in_active_multi_stmt_transaction() || - thd->m_transaction_psi == NULL || - /* Todo: BUG#20488921 is in the way. */ - DBUG_EVALUATE_IF("simulate_xa_commit_log_failure", true, false)); + assert(thd->in_active_multi_stmt_transaction() || + thd->m_transaction_psi == NULL || + /* Todo: BUG#20488921 is in the way. */ + DBUG_EVALUATE_IF("simulate_xa_commit_log_failure", true, false)); thd->get_transaction()->reset(Transaction_ctx::STMT); @@ -569,17 +569,17 @@ int res= 0; /* This function only handles attachable transactions. */ - DBUG_ASSERT(thd->is_attachable_ro_transaction_active()); + assert(thd->is_attachable_ro_transaction_active()); /* Since the attachable transaction is AUTOCOMMIT we only need to commit statement transaction. */ - DBUG_ASSERT(! thd->get_transaction()->is_active(Transaction_ctx::SESSION)); + assert(! thd->get_transaction()->is_active(Transaction_ctx::SESSION)); /* Attachable transactions should not do anything unsafe. */ - DBUG_ASSERT(!thd->get_transaction()-> - cannot_safely_rollback(Transaction_ctx::STMT)); + assert(!thd->get_transaction()-> + cannot_safely_rollback(Transaction_ctx::STMT)); if (thd->get_transaction()->is_active(Transaction_ctx::STMT)) @@ -587,7 +587,7 @@ res= ha_commit_attachable(thd); } - DBUG_ASSERT(thd->m_transaction_psi == NULL); + assert(thd->m_transaction_psi == NULL); thd->get_transaction()->reset(Transaction_ctx::STMT); diff -Nru mysql-5.7-5.7.33/sql/transaction.h mysql-5.7-5.7.34/sql/transaction.h --- mysql-5.7-5.7.33/sql/transaction.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/transaction.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/transaction_info.cc mysql-5.7-5.7.34/sql/transaction_info.cc --- mysql-5.7-5.7.33/sql/transaction_info.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/transaction_info.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/transaction_info.h mysql-5.7-5.7.34/sql/transaction_info.h --- mysql-5.7-5.7.33/sql/transaction_info.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/transaction_info.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -76,9 +76,9 @@ DBUG_PRINT("enter", ("ht: 0x%llx (%s)", (ulonglong) ht_arg, ha_legacy_type_name(ht_arg->db_type))); - DBUG_ASSERT(m_flags == 0); - DBUG_ASSERT(m_ht == NULL); - DBUG_ASSERT(m_next == NULL); + assert(m_flags == 0); + assert(m_ht == NULL); + assert(m_next == NULL); m_ht= ht_arg; m_flags= (int) TRX_READ_ONLY; /* Assume read-only at start. */ @@ -108,13 +108,13 @@ void set_trx_read_write() { - DBUG_ASSERT(is_started()); + assert(is_started()); m_flags|= (int) TRX_READ_WRITE; } bool is_trx_read_write() const { - DBUG_ASSERT(is_started()); + assert(is_started()); return m_flags & (int) TRX_READ_WRITE; } @@ -124,7 +124,7 @@ */ void set_trx_noop_read_write() { - DBUG_ASSERT(is_started()); + assert(is_started()); m_flags|= (int) TRX_NOOP_READ_WRITE; } @@ -133,7 +133,7 @@ */ bool is_trx_noop_read_write() const { - DBUG_ASSERT(is_started()); + assert(is_started()); return m_flags & (int) TRX_NOOP_READ_WRITE; } @@ -154,7 +154,7 @@ Can be called many times, e.g. when we have many read-write statements in a transaction. */ - DBUG_ASSERT(is_started()); + assert(is_started()); if (stmt_trx->is_trx_read_write()) set_trx_read_write(); if (stmt_trx->is_trx_noop_read_write()) @@ -163,13 +163,13 @@ Ha_trx_info *next() const { - DBUG_ASSERT(is_started()); + assert(is_started()); return m_next; } handlerton *ht() const { - DBUG_ASSERT(is_started()); + assert(is_started()); return m_ht; } @@ -365,7 +365,7 @@ bool real_commit; // Is this a "real" commit? bool commit_low; // see MYSQL_BIN_LOG::ordered_commit bool run_hooks; // Call the after_commit hook -#ifndef DBUG_OFF +#ifndef NDEBUG bool ready_preempt; // internal in MYSQL_BIN_LOG::ordered_commit #endif } m_flags; diff -Nru mysql-5.7-5.7.33/sql/trigger.cc mysql-5.7-5.7.34/sql/trigger.cc --- mysql-5.7-5.7.33/sql/trigger.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/trigger.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -562,7 +562,7 @@ // Ensure that lex.sp_head is NULL in case of parse errors. - DBUG_ASSERT(!parse_error || (parse_error && lex.sphead == NULL)); + assert(!parse_error || (parse_error && lex.sphead == NULL)); // fatal_parse_error will be returned from this method. @@ -615,8 +615,8 @@ // Set correct m_event and m_action_time. - DBUG_ASSERT(m_event == TRG_EVENT_MAX); - DBUG_ASSERT(m_action_time == TRG_ACTION_MAX); + assert(m_event == TRG_EVENT_MAX); + assert(m_action_time == TRG_ACTION_MAX); m_event= lex.sphead->m_trg_chistics.event; m_action_time= lex.sphead->m_trg_chistics.action_time; @@ -632,7 +632,7 @@ // Take ownership of SP object. - DBUG_ASSERT(!m_sp); + assert(!m_sp); m_sp= lex.sphead; lex.sphead= NULL; /* Prevent double cleanup. */ @@ -648,14 +648,14 @@ &lex.sp_chistics, m_sql_mode); - DBUG_ASSERT(!m_sp->get_creation_ctx()); + assert(!m_sp->get_creation_ctx()); m_sp->set_creation_ctx(creation_ctx); // Set the definer attribute in SP. if (!m_definer.length) { - DBUG_ASSERT(m_definer.str); // m_definer must be EMPTY_STR here. + assert(m_definer.str); // m_definer must be EMPTY_STR here. /* This trigger was created/imported in MySQL version, which does not support @@ -683,7 +683,7 @@ m_sp->m_name.str, m_sp->m_name.length); #endif -#ifndef DBUG_OFF +#ifndef NDEBUG /* Check that we correctly update trigger definitions when we rename tables with triggers. @@ -696,19 +696,19 @@ */ char fname[NAME_LEN + 1]; - DBUG_ASSERT((!my_strcasecmp(table_alias_charset, - lex.query_tables->db, m_db_name.str) || - (check_n_cut_mysql50_prefix(m_db_name.str, - fname, sizeof(fname)) && - !my_strcasecmp(table_alias_charset, - lex.query_tables->db, fname)))); - DBUG_ASSERT((!my_strcasecmp(table_alias_charset, - lex.query_tables->table_name, - m_subject_table_name.str) || - (check_n_cut_mysql50_prefix(m_subject_table_name.str, - fname, sizeof(fname)) && - !my_strcasecmp(table_alias_charset, - lex.query_tables->table_name, fname)))); + assert((!my_strcasecmp(table_alias_charset, + lex.query_tables->db, m_db_name.str) || + (check_n_cut_mysql50_prefix(m_db_name.str, + fname, sizeof(fname)) && + !my_strcasecmp(table_alias_charset, + lex.query_tables->db, fname)))); + assert((!my_strcasecmp(table_alias_charset, + lex.query_tables->table_name, + m_subject_table_name.str) || + (check_n_cut_mysql50_prefix(m_subject_table_name.str, + fname, sizeof(fname)) && + !my_strcasecmp(table_alias_charset, + lex.query_tables->table_name, fname)))); #endif cleanup: @@ -800,9 +800,9 @@ // NOTE: 'on_table_name' is supposed to point inside m_definition. - DBUG_ASSERT(m_on_table_name.str); - DBUG_ASSERT(m_on_table_name.str > m_definition.str); - DBUG_ASSERT(m_on_table_name.str < (m_definition.str + m_definition.length)); + assert(m_on_table_name.str); + assert(m_on_table_name.str > m_definition.str); + assert(m_on_table_name.str < (m_definition.str + m_definition.length)); size_t before_on_len= m_on_table_name.str - m_definition.str; diff -Nru mysql-5.7-5.7.33/sql/trigger_chain.cc mysql-5.7-5.7.34/sql/trigger_chain.cc --- mysql-5.7-5.7.33/sql/trigger_chain.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/trigger_chain.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -66,7 +66,7 @@ case TRG_ORDER_FOLLOWS: case TRG_ORDER_PRECEDES: { - DBUG_ASSERT(referenced_trigger_name.str); + assert(referenced_trigger_name.str); List_iterator it(m_triggers); List_iterator it2= it; @@ -106,7 +106,7 @@ } } - DBUG_ASSERT(false); + assert(false); return true; } diff -Nru mysql-5.7-5.7.33/sql/trigger_chain.h mysql-5.7-5.7.34/sql/trigger_chain.h --- mysql-5.7-5.7.33/sql/trigger_chain.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/trigger_chain.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/trigger_creation_ctx.cc mysql-5.7-5.7.34/sql/trigger_creation_ctx.cc --- mysql-5.7-5.7.33/sql/trigger_creation_ctx.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/trigger_creation_ctx.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/trigger_creation_ctx.h mysql-5.7-5.7.34/sql/trigger_creation_ctx.h --- mysql-5.7-5.7.33/sql/trigger_creation_ctx.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/trigger_creation_ctx.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/trigger_def.h mysql-5.7-5.7.34/sql/trigger_def.h --- mysql-5.7-5.7.33/sql/trigger_def.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/trigger_def.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/trigger.h mysql-5.7-5.7.34/sql/trigger.h --- mysql-5.7-5.7.33/sql/trigger.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/trigger.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/trigger_loader.cc mysql-5.7-5.7.34/sql/trigger_loader.cc --- mysql-5.7-5.7.33/sql/trigger_loader.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/trigger_loader.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -617,11 +617,11 @@ if (trg.definitions.is_empty()) { - DBUG_ASSERT(trg.sql_modes.is_empty()); - DBUG_ASSERT(trg.definers_list.is_empty()); - DBUG_ASSERT(trg.client_cs_names.is_empty()); - DBUG_ASSERT(trg.connection_cl_names.is_empty()); - DBUG_ASSERT(trg.db_cl_names.is_empty()); + assert(trg.sql_modes.is_empty()); + assert(trg.definers_list.is_empty()); + assert(trg.client_cs_names.is_empty()); + assert(trg.connection_cl_names.is_empty()); + assert(trg.db_cl_names.is_empty()); DBUG_RETURN(false); } diff -Nru mysql-5.7-5.7.33/sql/trigger_loader.h mysql-5.7-5.7.34/sql/trigger_loader.h --- mysql-5.7-5.7.33/sql/trigger_loader.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/trigger_loader.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/tzfile.h mysql-5.7-5.7.34/sql/tzfile.h --- mysql-5.7-5.7.33/sql/tzfile.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/tzfile.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef TZFILE_INCLUDED #define TZFILE_INCLUDED -/* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/tztime.cc mysql-5.7-5.7.34/sql/tztime.cc --- mysql-5.7-5.7.33/sql/tztime.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/tztime.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -65,11 +65,11 @@ #if defined(TZINFO2SQL) #define ABBR_ARE_USED #else -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) /* Let use abbreviations for debug purposes */ #undef ABBR_ARE_USED #define ABBR_ARE_USED -#endif /* !defined(DBUG_OFF) */ +#endif /* !defined(NDEBUG) */ #endif /* defined(TZINFO2SQL) */ /* Structure describing local time type (e.g. Moscow summer time (MSD)) */ @@ -669,7 +669,7 @@ /* Function will work without this assertion but result would be meaningless. */ - DBUG_ASSERT(higher_bound > 0 && t >= range_boundaries[0]); + assert(higher_bound > 0 && t >= range_boundaries[0]); /* Do binary search for minimal interval which contain t. We preserve: @@ -820,12 +820,12 @@ sec_since_epoch(int year, int mon, int mday, int hour, int min ,int sec) { /* Guard against my_time_t overflow(on system with 32 bit my_time_t) */ - DBUG_ASSERT(!(year == TIMESTAMP_MAX_YEAR && mon == 1 && mday > 17)); + assert(!(year == TIMESTAMP_MAX_YEAR && mon == 1 && mday > 17)); /* It turns out that only whenever month is normalized or unnormalized plays role. */ - DBUG_ASSERT(mon > 0 && mon < 13); + assert(mon > 0 && mon < 13); long days= year * DAYS_PER_NYEAR - EPOCH_YEAR * DAYS_PER_NYEAR + LEAPS_THRU_END_OF(year - 1) - LEAPS_THRU_END_OF(EPOCH_YEAR - 1); @@ -957,7 +957,7 @@ saved_seconds ? 0 : t->second); /* We have at least one range */ - DBUG_ASSERT(sp->revcnt >= 1); + assert(sp->revcnt >= 1); if (local_t < sp->revts[0] || local_t > sp->revts[sp->revcnt]) { @@ -1161,7 +1161,7 @@ Time_zone_utc::TIME_to_gmt_sec(const MYSQL_TIME *t, my_bool *in_dst_time_gap) const { /* Should be never called */ - DBUG_ASSERT(0); + assert(0); return 0; } @@ -1208,7 +1208,7 @@ Time_zone_utc::get_name() const { /* Should be never called */ - DBUG_ASSERT(0); + assert(0); return 0; } @@ -1915,8 +1915,8 @@ HA_ERR_LOCK_WAIT_TIMEOUT/HA_ERR_LOCK_DEADLOCK on return from read from storage engine. */ - DBUG_ASSERT(res != HA_ERR_LOCK_WAIT_TIMEOUT && - res != HA_ERR_LOCK_DEADLOCK); + assert(res != HA_ERR_LOCK_WAIT_TIMEOUT && + res != HA_ERR_LOCK_DEADLOCK); #ifdef EXTRA_DEBUG /* Most probably user has mistyped time zone name, so no need to bark here @@ -1947,8 +1947,8 @@ HA_WHOLE_KEY, HA_READ_KEY_EXACT); if (res) { - DBUG_ASSERT(res != HA_ERR_LOCK_WAIT_TIMEOUT && - res != HA_ERR_LOCK_DEADLOCK); + assert(res != HA_ERR_LOCK_WAIT_TIMEOUT && + res != HA_ERR_LOCK_DEADLOCK); sql_print_error("Can't find description of time zone '%u'", tzid); goto end; @@ -2019,7 +2019,7 @@ #endif /* ttid is increasing because we are reading using index */ - DBUG_ASSERT(ttid >= tmp_tz_info.typecnt); + assert(ttid >= tmp_tz_info.typecnt); tmp_tz_info.typecnt= ttid + 1; @@ -2029,8 +2029,8 @@ if (res != HA_ERR_END_OF_FILE) { - DBUG_ASSERT(res != HA_ERR_LOCK_WAIT_TIMEOUT && - res != HA_ERR_LOCK_DEADLOCK); + assert(res != HA_ERR_LOCK_WAIT_TIMEOUT && + res != HA_ERR_LOCK_DEADLOCK); sql_print_error("Error while loading time zone description from " "mysql.time_zone_transition_type table"); goto end; @@ -2089,8 +2089,8 @@ */ if (res != HA_ERR_END_OF_FILE && res != HA_ERR_KEY_NOT_FOUND) { - DBUG_ASSERT(res != HA_ERR_LOCK_WAIT_TIMEOUT && - res != HA_ERR_LOCK_DEADLOCK); + assert(res != HA_ERR_LOCK_WAIT_TIMEOUT && + res != HA_ERR_LOCK_DEADLOCK); sql_print_error("Error while loading time zone description from " "mysql.time_zone_transition table"); goto end; diff -Nru mysql-5.7-5.7.33/sql/tztime.h mysql-5.7-5.7.34/sql/tztime.h --- mysql-5.7-5.7.33/sql/tztime.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/tztime.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef TZTIME_INCLUDED #define TZTIME_INCLUDED -/* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/udf_example.cc mysql-5.7-5.7.34/sql/udf_example.cc --- mysql-5.7-5.7.33/sql/udf_example.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/udf_example.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/udf_example.def mysql-5.7-5.7.34/sql/udf_example.def --- mysql-5.7-5.7.33/sql/udf_example.def 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/udf_example.def 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -; Copyright (c) 2006, 2020, Oracle and/or its affiliates. +; Copyright (c) 2006, 2021, Oracle and/or its affiliates. ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/uniques.cc mysql-5.7-5.7.34/sql/uniques.cc --- mysql-5.7-5.7.33/sql/uniques.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/uniques.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -499,7 +499,7 @@ // read_to_buffer() needs only rec_length. Sort_param sort_param; sort_param.rec_length= key_length; - DBUG_ASSERT(!sort_param.using_addon_fields()); + assert(!sort_param.using_addon_fields()); /* Invariant: queue must contain top element from each tree, until a tree @@ -515,7 +515,7 @@ bytes_read= read_to_buffer(file, top, &sort_param); if (bytes_read == (uint) (-1)) goto end; - DBUG_ASSERT(bytes_read); + assert(bytes_read); queue.push(top); } top= queue.top(); @@ -656,7 +656,7 @@ if (my_b_tell(&file) == 0) { /* Whole tree is in memory; Don't use disk if you don't need to */ - DBUG_ASSERT(table->sort.sorted_result == NULL); + assert(table->sort.sorted_result == NULL); if ((record_pointers= table->sort.sorted_result= (uchar*) my_malloc(key_memory_Filesort_info_record_pointers, size * tree.elements_in_tree, MYF(0)))) diff -Nru mysql-5.7-5.7.33/sql/uniques.h mysql-5.7-5.7.34/sql/uniques.h --- mysql-5.7-5.7.33/sql/uniques.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/uniques.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/unireg.cc mysql-5.7-5.7.34/sql/unireg.cc --- mysql-5.7-5.7.33/sql/unireg.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/unireg.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -134,11 +134,11 @@ size_t tablespace_length= 0; DBUG_ENTER("mysql_create_frm"); - DBUG_ASSERT(*fn_rext((char*)file_name)); // Check .frm extension + assert(*fn_rext((char*)file_name)); // Check .frm extension if (!(screen_buff=pack_screens(create_fields,&info_length,&screens,0))) DBUG_RETURN(1); - DBUG_ASSERT(db_file != NULL); + assert(db_file != NULL); /* If fixed row records, we need one bit to check for deleted rows */ if (!(create_info->table_options & HA_OPTION_PACK_RECORD)) @@ -264,10 +264,10 @@ */ if (tablespace_length > 0 && !(create_info->options & HA_LEX_CREATE_TMP_TABLE)) - DBUG_ASSERT(thd->mdl_context.owns_equal_or_stronger_lock( - MDL_key::TABLESPACE, "", - create_info->tablespace, - MDL_INTENTION_EXCLUSIVE)); + assert(thd->mdl_context.owns_equal_or_stronger_lock( + MDL_key::TABLESPACE, "", + create_info->tablespace, + MDL_INTENTION_EXCLUSIVE)); } format_section_length= format_section_header_size + @@ -315,7 +315,7 @@ Even if the form file exists, create_frm must truncate it to ensure one form per form file. */ - DBUG_ASSERT(uint2korr(fileinfo+8) == 0); + assert(uint2korr(fileinfo+8) == 0); if (!(filepos= make_new_entry(file, fileinfo, NULL, ""))) goto err; @@ -429,7 +429,7 @@ *ptr= field_flags; ptr++; } - DBUG_ASSERT(format_section_buff + format_section_length == ptr); + assert(format_section_buff + format_section_length == ptr); if (mysql_file_write(file, format_section_buff, format_section_length, MYF_RW)) @@ -551,7 +551,7 @@ DBUG_RETURN(1); // Make sure mysql_create_frm din't remove extension - DBUG_ASSERT(*fn_rext(frm_name)); + assert(*fn_rext(frm_name)); if (thd->variables.keep_files_on_create) create_info->options|= HA_CREATE_KEEP_FILES; @@ -843,7 +843,7 @@ in mysql_prepare_create_table. So the offset is messed up by vitual generated columns. The original assert is not correct any more. - DBUG_ASSERT(reclength == field->offset + data_offset); + assert(reclength == field->offset + data_offset); */ if (field->offset + data_offset + length > reclength) reclength= field->offset + data_offset + length; @@ -1210,7 +1210,7 @@ Storing the value of a function is pointless as this function may not be constant. */ - DBUG_ASSERT(field->def->type() != Item::FUNC_ITEM); + assert(field->def->type() != Item::FUNC_ITEM); type_conversion_status res= field->def->save_in_field(regfield, true); if (res != TYPE_OK && res != TYPE_NOTE_TIME_TRUNCATED && res != TYPE_NOTE_TRUNCATED) @@ -1350,7 +1350,7 @@ } } } - DBUG_ASSERT(data_offset == ((null_count + 7) / 8)); + assert(data_offset == ((null_count + 7) / 8)); /* We need to set the unused bits to 1. If the number of bits is a multiple diff -Nru mysql-5.7-5.7.33/sql/unireg.h mysql-5.7-5.7.34/sql/unireg.h --- mysql-5.7-5.7.33/sql/unireg.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/unireg.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ #ifndef UNIREG_INCLUDED #define UNIREG_INCLUDED -/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql/xa_aux.h mysql-5.7-5.7.34/sql/xa_aux.h --- mysql-5.7-5.7.33/sql/xa_aux.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/xa_aux.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2015, Oracle and/or its affiliates. All Rights Reserved. + Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, as published by the Free Software Foundation. diff -Nru mysql-5.7-5.7.33/sql/xa.cc mysql-5.7-5.7.34/sql/xa.cc --- mysql-5.7-5.7.33/sql/xa.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/xa.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -99,7 +99,7 @@ my_xid x= info->list[i].get_my_xid(); if (!x) // not "mine" - that is generated by external TM { -#ifndef DBUG_OFF +#ifndef NDEBUG char buf[XIDDATASIZE * 4 + 6]; // see xid_to_str XID *xid= info->list + i; sql_print_information("ignore xid %s", xid->xid_to_str(buf)); @@ -118,7 +118,7 @@ my_hash_search(info->commit_list, (uchar *)&x, sizeof(x)) != 0 : tc_heuristic_recover == TC_HEURISTIC_RECOVER_COMMIT) { -#ifndef DBUG_OFF +#ifndef NDEBUG char buf[XIDDATASIZE * 4 + 6]; // see xid_to_str XID *xid= info->list + i; sql_print_information("commit xid %s", xid->xid_to_str(buf)); @@ -127,7 +127,7 @@ } else { -#ifndef DBUG_OFF +#ifndef NDEBUG char buf[XIDDATASIZE * 4 + 6]; // see xid_to_str XID *xid= info->list + i; sql_print_information("rollback xid %s", xid->xid_to_str(buf)); @@ -154,10 +154,10 @@ info.list= NULL; /* commit_list and tc_heuristic_recover cannot be set both */ - DBUG_ASSERT(info.commit_list == 0 || - tc_heuristic_recover == TC_HEURISTIC_NOT_USED); + assert(info.commit_list == 0 || + tc_heuristic_recover == TC_HEURISTIC_NOT_USED); /* if either is set, total_ha_2pc must be set too */ - DBUG_ASSERT(info.dry_run || total_ha_2pc>(ulong)opt_bin_log); + assert(info.dry_run || total_ha_2pc>(ulong)opt_bin_log); if (total_ha_2pc <= (ulong)opt_bin_log) DBUG_RETURN(0); @@ -268,8 +268,8 @@ DBUG_ENTER("trans_xa_commit"); - DBUG_ASSERT(!thd->slave_thread || xid_state->get_xid()->is_null() || - m_xa_opt == XA_ONE_PHASE); + assert(!thd->slave_thread || xid_state->get_xid()->is_null() || + m_xa_opt == XA_ONE_PHASE); if (!xid_state->has_same_xid(m_xid)) { @@ -303,7 +303,7 @@ DBUG_RETURN(true); } - DBUG_ASSERT(xs->is_in_recovery()); + assert(xs->is_in_recovery()); /* Resumed transaction XA-commit. The case deals with the "external" XA-commit by either a slave applier @@ -479,7 +479,7 @@ } else { - DBUG_ASSERT(!need_clear_owned_gtid); + assert(!need_clear_owned_gtid); my_error(ER_XAER_RMFAIL, MYF(0), xid_state->state_name()); DBUG_RETURN(true); @@ -491,7 +491,7 @@ xid_state->unset_binlogged(); trans_track_end_trx(thd); /* The transaction should be marked as complete in P_S. */ - DBUG_ASSERT(thd->m_transaction_psi == NULL || res); + assert(thd->m_transaction_psi == NULL || res); DBUG_RETURN(res); } @@ -555,7 +555,7 @@ bool gtid_error= false; - DBUG_ASSERT(xs->is_in_recovery()); + assert(xs->is_in_recovery()); /* Acquire metadata lock which will ensure that XA ROLLBACK is blocked @@ -644,7 +644,7 @@ xid_state->unset_binlogged(); trans_track_end_trx(thd); /* The transaction should be marked as complete in P_S. */ - DBUG_ASSERT(thd->m_transaction_psi == NULL); + assert(thd->m_transaction_psi == NULL); DBUG_RETURN(res); } @@ -834,7 +834,7 @@ ha_rollback_trans(thd, true); #ifdef HAVE_PSI_TRANSACTION_INTERFACE - DBUG_ASSERT(thd->m_transaction_psi == NULL); + assert(thd->m_transaction_psi == NULL); #endif /* @@ -1052,7 +1052,7 @@ } -#ifndef DBUG_OFF +#ifndef NDEBUG char* XID::xid_to_str(char *buf) const { char *s= buf; @@ -1237,12 +1237,12 @@ bool was_logged= xs->is_binlogged(); - DBUG_ASSERT(xs->has_state(XID_STATE::XA_PREPARED)); + assert(xs->has_state(XID_STATE::XA_PREPARED)); mysql_mutex_lock(&LOCK_transaction_cache); - DBUG_ASSERT(my_hash_search(&transaction_cache, xid.key(), - xid.key_length())); + assert(my_hash_search(&transaction_cache, xid.key(), + xid.key_length())); my_hash_delete(&transaction_cache, (uchar *)transaction); res= create_and_insert_new_transaction(&xid, was_logged); @@ -1396,7 +1396,7 @@ if (hton->replace_native_transaction_in_thd) { /* Ensure any active backup engine ha_data won't be overwritten */ - DBUG_ASSERT(!thd->ha_data[hton->slot].ha_ptr_backup); + assert(!thd->ha_data[hton->slot].ha_ptr_backup); hton->replace_native_transaction_in_thd(thd, NULL, thd_ha_data_backup(thd, hton)); diff -Nru mysql-5.7-5.7.33/sql/xa.h mysql-5.7-5.7.34/sql/xa.h --- mysql-5.7-5.7.33/sql/xa.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql/xa.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -291,7 +291,7 @@ void set_data(const void* v, long l) { - DBUG_ASSERT(l <= XIDDATASIZE); + assert(l <= XIDDATASIZE); memcpy(data, v, l); } @@ -363,7 +363,7 @@ return serialize_xid(buf, formatID, gtrid_length, bqual_length, data); } -#ifndef DBUG_OFF +#ifndef NDEBUG /** Get printable XID value. @@ -502,7 +502,7 @@ void start_normal_xa(const XID *xid) { - DBUG_ASSERT(m_xid.is_null()); + assert(m_xid.is_null()); xa_state= XA_ACTIVE; m_xid.set(xid); in_recovery= false; diff -Nru mysql-5.7-5.7.33/sql-common/client_authentication.cc mysql-5.7-5.7.34/sql-common/client_authentication.cc --- mysql-5.7-5.7.33/sql-common/client_authentication.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql-common/client_authentication.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql-common/client.c mysql-5.7-5.7.34/sql-common/client.c --- mysql-5.7-5.7.33/sql-common/client.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql-common/client.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -268,7 +268,7 @@ NET *net; DBUG_ENTER("set_mysql_error"); DBUG_PRINT("enter", ("error :%d '%s'", errcode, ER(errcode))); - DBUG_ASSERT(mysql != 0); + assert(mysql != 0); if (mysql) { net = &mysql->net; @@ -319,7 +319,7 @@ va_list args; DBUG_ENTER("set_mysql_extended_error"); DBUG_PRINT("enter", ("error :%d '%s'", errcode, format)); - DBUG_ASSERT(mysql != 0); + assert(mysql != 0); net = &mysql->net; net->last_errno = errcode; @@ -462,7 +462,7 @@ behavior if the user passed in a different name on the command-line or in a my.cnf. */ - DBUG_ASSERT(shared_memory_base_name != NULL); + assert(shared_memory_base_name != NULL); /* get enough space base-name + '_' + longest suffix we might ever send @@ -984,7 +984,7 @@ if (is_error) return; /* length for boolean tracker is always 1 */ - DBUG_ASSERT(len == 1); + assert(len == 1); if (!buffer_check_remaining(mysql, pos, length, len)) return; if (!my_multi_malloc(key_memory_MYSQL_state_change_info, MYF(0), &element, sizeof(LIST), &data, @@ -1003,7 +1003,7 @@ break; default: - DBUG_ASSERT(type <= SESSION_TRACK_END); + assert(type <= SESSION_TRACK_END); /* Unknown/unsupported type received, get the total length and move past it. @@ -1367,7 +1367,7 @@ ulong packet_length; my_bool is_data_packet; - DBUG_ASSERT(mysql->status != MYSQL_STATUS_READY); + assert(mysql->status != MYSQL_STATUS_READY); do { packet_length = cli_safe_read(mysql, &is_data_packet); @@ -1422,7 +1422,7 @@ return TRUE; /* cli_safe_read always reads a non-empty packet. */ - DBUG_ASSERT(packet_length); + assert(packet_length); *is_ok_packet = ((mysql->net.read_pos[0] == 0) || @@ -3142,7 +3142,7 @@ */ #if defined(CLIENT_PROTOCOL_TRACING) && defined(TEST_TRACE_PLUGIN) && \ - !defined(DBUG_OFF) + !defined(NDEBUG) extern auth_plugin_t test_trace_plugin; #endif @@ -3157,7 +3157,7 @@ (struct st_mysql_client_plugin *)&win_auth_client_plugin, #endif #if defined(CLIENT_PROTOCOL_TRACING) && defined(TEST_TRACE_PLUGIN) && \ - !defined(DBUG_OFF) + !defined(NDEBUG) (struct st_mysql_client_plugin *)&test_trace_plugin, #endif 0}; @@ -3192,7 +3192,7 @@ LEX_STRING *key = attr, *value = attr + 1; /* we can't have zero length keys */ - DBUG_ASSERT(key->length); + assert(key->length); buf = write_length_encoded_string3(buf, key->str, key->length); buf = write_length_encoded_string3(buf, value->str, value->length); @@ -3306,7 +3306,7 @@ if (!data_len) *end++ = 0; else { - DBUG_ASSERT(data_len <= 255); + assert(data_len <= 255); if (data_len > 255) { set_mysql_error(mysql, CR_MALFORMED_PACKET, unknown_sqlstate); goto error; @@ -3355,7 +3355,7 @@ if (mysql->client_flag & CLIENT_PROTOCOL_41) { /* 4.1 server and 4.1 client has a 32 byte option flag */ - DBUG_ASSERT(buff_size >= 32); + assert(buff_size >= 32); int4store(buff_p, mysql->client_flag); int4store(buff_p + 4, net->max_packet_size); @@ -3363,8 +3363,8 @@ memset(buff + 9, 0, 32 - 9); end = buff + 32; } else { - DBUG_ASSERT(buff_size >= 5); - DBUG_ASSERT(mysql->client_flag <= UINT_MAX16); + assert(buff_size >= 5); + assert(mysql->client_flag <= UINT_MAX16); int2store(buff_p, (uint16)mysql->client_flag); int3store(buff_p + 2, net->max_packet_size); @@ -3618,7 +3618,7 @@ ? mysql->options.extension->connection_attributes_length : 0; - DBUG_ASSERT(connect_attrs_len < MAX_CONNECTION_ATTR_STORAGE_LENGTH); + assert(connect_attrs_len < MAX_CONNECTION_ATTR_STORAGE_LENGTH); /* Fixed size of the packet is 32 bytes. See mysql_fill_packet_header. @@ -3834,7 +3834,7 @@ #endif #endif default: - DBUG_ASSERT(0); + assert(0); } } @@ -4733,7 +4733,7 @@ my_bool mysql_reconnect(MYSQL *mysql) { MYSQL tmp_mysql; DBUG_ENTER("mysql_reconnect"); - DBUG_ASSERT(mysql); + assert(mysql); DBUG_PRINT("enter", ("mysql->reconnect: %d", mysql->reconnect)); if (!mysql->reconnect || (mysql->server_status & SERVER_STATUS_IN_TRANS) || @@ -5827,7 +5827,7 @@ */ static int get_data_and_length(LIST *node, const char **data, size_t *length) { - DBUG_ASSERT(!node || node->data); + assert(!node || node->data); if (data) *data = node ? ((LEX_STRING *)(node->data))->str : NULL; if (length) diff -Nru mysql-5.7-5.7.33/sql-common/client_plugin.c mysql-5.7-5.7.34/sql-common/client_plugin.c --- mysql-5.7-5.7.33/sql-common/client_plugin.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql-common/client_plugin.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -142,8 +142,8 @@ { struct st_client_plugin_int *p; - DBUG_ASSERT(initialized); - DBUG_ASSERT(type >= 0 && type < MYSQL_CLIENT_MAX_PLUGINS); + assert(initialized); + assert(type >= 0 && type < MYSQL_CLIENT_MAX_PLUGINS); if (type < 0 || type >= MYSQL_CLIENT_MAX_PLUGINS) return 0; @@ -176,7 +176,7 @@ struct st_client_plugin_int plugin_int, *p; char errbuf[1024]; - DBUG_ASSERT(initialized); + assert(initialized); plugin_int.plugin= plugin; plugin_int.dlhandle= dlhandle; diff -Nru mysql-5.7-5.7.33/sql-common/get_password.c mysql-5.7-5.7.34/sql-common/get_password.c --- mysql-5.7-5.7.33/sql-common/get_password.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql-common/get_password.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql-common/my_path_permissions.cc mysql-5.7-5.7.34/sql-common/my_path_permissions.cc --- mysql-5.7-5.7.33/sql-common/my_path_permissions.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql-common/my_path_permissions.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2017, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql-common/my_time.c mysql-5.7-5.7.34/sql-common/my_time.c --- mysql-5.7-5.7.33/sql-common/my_time.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql-common/my_time.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -188,7 +188,7 @@ { longlong hour= (longlong) ltime->hour + 24LL * ltime->day; /* The input value should not be fatally bad */ - DBUG_ASSERT(!check_time_mmssff_range(ltime)); + assert(!check_time_mmssff_range(ltime)); if (hour <= TIME_MAX_HOUR && (hour != TIME_MAX_HOUR || ltime->minute != TIME_MAX_MINUTE || ltime->second != TIME_MAX_SECOND || !ltime->second_part)) @@ -904,7 +904,7 @@ */ void adjust_time_range(struct st_mysql_time *my_time, int *warning) { - DBUG_ASSERT(!check_time_mmssff_range(my_time)); + assert(!check_time_mmssff_range(my_time)); if (check_time_range_quick(my_time)) { my_time->day= my_time->second_part= 0; @@ -996,7 +996,7 @@ temp=(int) ((y/100+1)*3)/4; DBUG_PRINT("exit",("year: %d month: %d day: %d -> daynr: %ld", y+(month <= 2),month,day,delsum+y/4-temp)); - DBUG_ASSERT(delsum+(int) y/4-temp >= 0); + assert(delsum+(int) y/4-temp >= 0); DBUG_RETURN(delsum+(int) y/4-temp); } /* calc_daynr */ @@ -1195,7 +1195,7 @@ static inline int my_useconds_to_str(char *to, ulong useconds, uint dec) { - DBUG_ASSERT(dec <= DATETIME_MAX_DECIMALS); + assert(dec <= DATETIME_MAX_DECIMALS); return sprintf(to, ".%0*lu", (int) dec, useconds / (ulong) log_10_int[DATETIME_MAX_DECIMALS - dec]); } @@ -1333,7 +1333,7 @@ to[0]='\0'; return 0; default: - DBUG_ASSERT(0); + assert(0); return 0; } } @@ -1575,7 +1575,7 @@ case MYSQL_TIMESTAMP_ERROR: return 0ULL; default: - DBUG_ASSERT(0); + assert(0); } return 0; } @@ -1653,10 +1653,10 @@ */ void my_time_packed_to_binary(longlong nr, uchar *ptr, uint dec) { - DBUG_ASSERT(dec <= DATETIME_MAX_DECIMALS); + assert(dec <= DATETIME_MAX_DECIMALS); /* Make sure the stored value was previously properly rounded or truncated */ - DBUG_ASSERT((MY_PACKED_TIME_GET_FRAC_PART(nr) % - (int) log_10_int[DATETIME_MAX_DECIMALS - dec]) == 0); + assert((MY_PACKED_TIME_GET_FRAC_PART(nr) % + (int) log_10_int[DATETIME_MAX_DECIMALS - dec]) == 0); switch (dec) { @@ -1695,7 +1695,7 @@ */ longlong my_time_packed_from_binary(const uchar *ptr, uint dec) { - DBUG_ASSERT(dec <= DATETIME_MAX_DECIMALS); + assert(dec <= DATETIME_MAX_DECIMALS); switch (dec) { @@ -1785,7 +1785,7 @@ longlong ymd= ((ltime->year * 13 + ltime->month) << 5) | ltime->day; longlong hms= (ltime->hour << 12) | (ltime->minute << 6) | ltime->second; longlong tmp= MY_PACKED_TIME_MAKE(((ymd << 17) | hms), ltime->second_part); - DBUG_ASSERT(!check_datetime_range(ltime)); /* Make sure no overflow */ + assert(!check_datetime_range(ltime)); /* Make sure no overflow */ return ltime->neg ? -tmp : tmp; } @@ -1878,7 +1878,7 @@ { longlong intpart= mi_uint5korr(ptr) - DATETIMEF_INT_OFS; int frac; - DBUG_ASSERT(dec <= DATETIME_MAX_DECIMALS); + assert(dec <= DATETIME_MAX_DECIMALS); switch (dec) { case 0: @@ -1910,10 +1910,10 @@ */ void my_datetime_packed_to_binary(longlong nr, uchar *ptr, uint dec) { - DBUG_ASSERT(dec <= DATETIME_MAX_DECIMALS); + assert(dec <= DATETIME_MAX_DECIMALS); /* The value being stored must have been properly rounded or truncated */ - DBUG_ASSERT((MY_PACKED_TIME_GET_FRAC_PART(nr) % - (int) log_10_int[DATETIME_MAX_DECIMALS - dec]) == 0); + assert((MY_PACKED_TIME_GET_FRAC_PART(nr) % + (int) log_10_int[DATETIME_MAX_DECIMALS - dec]) == 0); mi_int5store(ptr, MY_PACKED_TIME_GET_INT_PART(nr) + DATETIMEF_INT_OFS); switch (dec) @@ -1947,7 +1947,7 @@ */ void my_timestamp_from_binary(struct timeval *tm, const uchar *ptr, uint dec) { - DBUG_ASSERT(dec <= DATETIME_MAX_DECIMALS); + assert(dec <= DATETIME_MAX_DECIMALS); tm->tv_sec= mi_uint4korr(ptr); switch (dec) { @@ -1979,10 +1979,10 @@ */ void my_timestamp_to_binary(const struct timeval *tm, uchar *ptr, uint dec) { - DBUG_ASSERT(dec <= DATETIME_MAX_DECIMALS); + assert(dec <= DATETIME_MAX_DECIMALS); /* Stored value must have been previously properly rounded or truncated */ - DBUG_ASSERT((tm->tv_usec % - (int) log_10_int[DATETIME_MAX_DECIMALS - dec]) == 0); + assert((tm->tv_usec % + (int) log_10_int[DATETIME_MAX_DECIMALS - dec]) == 0); mi_int4store(ptr, tm->tv_sec); switch (dec) { @@ -2027,7 +2027,7 @@ case MYSQL_TIMESTAMP_ERROR: return 0; } - DBUG_ASSERT(0); + assert(0); return 0; } diff -Nru mysql-5.7-5.7.33/sql-common/my_user.c mysql-5.7-5.7.34/sql-common/my_user.c --- mysql-5.7-5.7.33/sql-common/my_user.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql-common/my_user.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006-2008 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/sql-common/pack.c mysql-5.7-5.7.34/sql-common/pack.c --- mysql-5.7-5.7.33/sql-common/pack.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql-common/pack.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/sql-common/sql_string.cc mysql-5.7-5.7.34/sql-common/sql_string.cc --- mysql-5.7-5.7.33/sql-common/sql_string.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/sql-common/sql_string.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -47,7 +47,7 @@ bool String::real_alloc(size_t length) { size_t arg_length= ALIGN_SIZE(length + 1); - DBUG_ASSERT(arg_length > length); + assert(arg_length > length); if (arg_length <= length) return true; /* Overflow */ m_length= 0; @@ -102,7 +102,7 @@ bool String::mem_realloc(size_t alloc_length, bool force_on_heap) { size_t len= ALIGN_SIZE(alloc_length + 1); - DBUG_ASSERT(len > alloc_length); + assert(len > alloc_length); if (len <= alloc_length) return true; /* Overflow */ @@ -383,7 +383,7 @@ { /* How many bytes are in incomplete character */ offset= cs->mbminlen - offset; /* How many zeros we should prepend */ - DBUG_ASSERT(offset && offset != cs->mbminlen); + assert(offset && offset != cs->mbminlen); size_t aligned_length= arg_length + offset; if (alloc(aligned_length)) @@ -434,7 +434,7 @@ { size_t offset; - DBUG_ASSERT(!str || str != m_ptr); + assert(!str || str != m_ptr); if (!needs_conversion(arg_length, from_cs, to_cs, &offset)) { @@ -513,8 +513,8 @@ { if (s.length()) { - DBUG_ASSERT(!this->uses_buffer_owned_by(&s)); - DBUG_ASSERT(!s.uses_buffer_owned_by(this)); + assert(!this->uses_buffer_owned_by(&s)); + assert(!s.uses_buffer_owned_by(this)); if (mem_realloc_exp((m_length + s.length()))) return true; @@ -610,7 +610,7 @@ size_t add_length; if ((cs == &my_charset_bin) && offset) { - DBUG_ASSERT(m_charset->mbminlen > offset); + assert(m_charset->mbminlen > offset); offset= m_charset->mbminlen - offset; // How many characters to pad add_length= arg_length + offset; if (mem_realloc_exp(m_length + add_length)) @@ -942,8 +942,8 @@ return from; // Actually an error // from and to should not be overlapping - DBUG_ASSERT(!to->uses_buffer_owned_by(from)); - DBUG_ASSERT(!from->uses_buffer_owned_by(to)); + assert(!to->uses_buffer_owned_by(from)); + assert(!from->uses_buffer_owned_by(to)); if ((to->m_length= min(from->m_length, from_length))) memcpy(to->m_ptr, from->m_ptr, to->m_length); @@ -1209,7 +1209,7 @@ const CHARSET_INFO *from_cs, size_t nbytes /*= 0*/) { /* needs at least 8 bytes for '\xXX...' and zero byte */ - DBUG_ASSERT(to_len >= 8); + assert(to_len >= 8); char *t= to; char *t_end= to + to_len - 1; // '- 1' is for the '\0' at the end diff -Nru mysql-5.7-5.7.33/storage/archive/archive_reader.c mysql-5.7-5.7.34/storage/archive/archive_reader.c --- mysql-5.7-5.7.33/storage/archive/archive_reader.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/archive/archive_reader.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -257,7 +257,7 @@ read= (unsigned int)azread(&reader_handle, buffer + ARCHIVE_ROW_HEADER_SIZE, row_len, &error); - DBUG_ASSERT(read == row_len); + assert(read == row_len); azwrite(&writer_handle, buffer, row_len + ARCHIVE_ROW_HEADER_SIZE); @@ -357,7 +357,7 @@ 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"check", 'c', "Check table for errors.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifndef DBUG_OFF +#ifndef NDEBUG {"debug", '#', "Output debug log. Often this is 'd:t:o,filename'.", 0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, diff -Nru mysql-5.7-5.7.33/storage/archive/archive_test.c mysql-5.7-5.7.34/storage/archive/archive_test.c --- mysql-5.7-5.7.33/storage/archive/archive_test.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/archive/archive_test.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2006 MySQL AB +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/archive/azio.c mysql-5.7-5.7.34/storage/archive/azio.c --- mysql-5.7-5.7.33/storage/archive/azio.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/archive/azio.c 2021-03-26 06:58:52.000000000 +0000 @@ -8,7 +8,7 @@ * For conditions of distribution and use, see copyright notice in zlib.h * * This file was modified by Oracle on 2015-01-23. - * Modifications copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Modifications Copyright (c) 2015, 2021, Oracle and/or its affiliates. */ /* @(#) $Id$ */ @@ -63,21 +63,21 @@ memset(s, 0, sizeof(azio_stream)); s->stream.next_in = s->inbuf; s->stream.next_out = s->outbuf; - DBUG_ASSERT(s->z_err == Z_OK); + assert(s->z_err == Z_OK); s->back = EOF; s->crc = crc32(0L, Z_NULL, 0); s->mode = 'r'; /* this needs to be a define to version */ s->version = (unsigned char)az_magic[1]; s->minor_version= (unsigned char) az_magic[2]; /* minor version */ - DBUG_ASSERT(s->dirty == AZ_STATE_CLEAN); + assert(s->dirty == AZ_STATE_CLEAN); /* We do our own version of append by nature. We must always have write access to take card of the header. */ - DBUG_ASSERT(Flags | O_APPEND); - DBUG_ASSERT(Flags | O_WRONLY); + assert(Flags | O_APPEND); + assert(Flags | O_WRONLY); if (Flags & O_RDWR) s->mode = 'w'; diff -Nru mysql-5.7-5.7.33/storage/archive/azlib.h mysql-5.7-5.7.34/storage/archive/azlib.h --- mysql-5.7-5.7.33/storage/archive/azlib.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/archive/azlib.h 2021-03-26 06:58:52.000000000 +0000 @@ -3,8 +3,7 @@ -Brian Aker This file was modified by Oracle on 02-08-2016. - Modifications copyright (c) 2016, Oracle and/or its affiliates. - All rights reserved. + Modifications Copyright (c) 2016, 2021, Oracle and/or its affiliates. */ /* zlib.h -- interface of the 'zlib' general purpose compression library diff -Nru mysql-5.7-5.7.33/storage/archive/CMakeLists.txt mysql-5.7-5.7.34/storage/archive/CMakeLists.txt --- mysql-5.7-5.7.33/storage/archive/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/archive/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/archive/ha_archive.cc mysql-5.7-5.7.34/storage/archive/ha_archive.cc --- mysql-5.7-5.7.33/storage/archive/ha_archive.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/archive/ha_archive.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -519,7 +519,7 @@ err: unlock_shared_ha_data(); - DBUG_ASSERT(tmp_share || *rc); + assert(tmp_share || *rc); DBUG_RETURN(tmp_share); } @@ -1187,7 +1187,7 @@ DBUG_ENTER("ha_archive::fix_rec_buff"); DBUG_PRINT("ha_archive", ("Fixing %u for %u", length, record_buffer->length)); - DBUG_ASSERT(record_buffer->buffer); + assert(record_buffer->buffer); if (length > record_buffer->length) { @@ -1201,7 +1201,7 @@ record_buffer->length= length; } - DBUG_ASSERT(length <= record_buffer->length); + assert(length <= record_buffer->length); DBUG_RETURN(0); } @@ -1233,7 +1233,7 @@ { DBUG_RETURN(HA_ERR_OUT_OF_MEM); } - DBUG_ASSERT(row_len <= record_buffer->length); + assert(row_len <= record_buffer->length); read= azread(file_to_read, record_buffer->buffer, row_len, &error); @@ -1650,7 +1650,7 @@ if (share->dirty) { DBUG_PRINT("ha_archive", ("archive flushing out rows for scan")); - DBUG_ASSERT(share->archive_write_open); + assert(share->archive_write_open); azflush(&(share->archive_write), Z_SYNC_FLUSH); share->dirty= FALSE; } diff -Nru mysql-5.7-5.7.33/storage/archive/ha_archive.h mysql-5.7-5.7.34/storage/archive/ha_archive.h --- mysql-5.7-5.7.33/storage/archive/ha_archive.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/archive/ha_archive.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/blackhole/CMakeLists.txt mysql-5.7-5.7.34/storage/blackhole/CMakeLists.txt --- mysql-5.7-5.7.33/storage/blackhole/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/blackhole/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/blackhole/ha_blackhole.cc mysql-5.7-5.7.34/storage/blackhole/ha_blackhole.cc --- mysql-5.7-5.7.33/storage/blackhole/ha_blackhole.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/blackhole/ha_blackhole.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -170,7 +170,7 @@ DBUG_ENTER("ha_blackhole::rnd_pos"); MYSQL_READ_ROW_START(table_share->db.str, table_share->table_name.str, FALSE); - DBUG_ASSERT(0); + assert(0); MYSQL_READ_ROW_DONE(0); DBUG_RETURN(0); } @@ -179,7 +179,7 @@ void ha_blackhole::position(const uchar *record) { DBUG_ENTER("ha_blackhole::position"); - DBUG_ASSERT(0); + assert(0); DBUG_VOID_RETURN; } diff -Nru mysql-5.7-5.7.33/storage/blackhole/ha_blackhole.h mysql-5.7-5.7.34/storage/blackhole/ha_blackhole.h --- mysql-5.7-5.7.33/storage/blackhole/ha_blackhole.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/blackhole/ha_blackhole.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/csv/CMakeLists.txt mysql-5.7-5.7.34/storage/csv/CMakeLists.txt --- mysql-5.7-5.7.33/storage/csv/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/csv/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/csv/ha_tina.cc mysql-5.7-5.7.34/storage/csv/ha_tina.cc --- mysql-5.7-5.7.33/storage/csv/ha_tina.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/csv/ha_tina.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -1099,7 +1099,7 @@ rc= 0; /* UPDATE should never happen on the log tables */ - DBUG_ASSERT(!share->is_log_table); + assert(!share->is_log_table); err: DBUG_PRINT("info",("rc = %d", rc)); @@ -1126,13 +1126,13 @@ stats.records--; /* Update shared info */ - DBUG_ASSERT(share->rows_recorded); + assert(share->rows_recorded); mysql_mutex_lock(&share->mutex); share->rows_recorded--; mysql_mutex_unlock(&share->mutex); /* DELETE should never happen on the log table */ - DBUG_ASSERT(!share->is_log_table); + assert(!share->is_log_table); DBUG_RETURN(0); } diff -Nru mysql-5.7-5.7.33/storage/csv/ha_tina.h mysql-5.7-5.7.34/storage/csv/ha_tina.h --- mysql-5.7-5.7.33/storage/csv/ha_tina.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/csv/ha_tina.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/csv/transparent_file.cc mysql-5.7-5.7.34/storage/csv/transparent_file.cc --- mysql-5.7-5.7.33/storage/csv/transparent_file.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/csv/transparent_file.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/csv/transparent_file.h mysql-5.7-5.7.34/storage/csv/transparent_file.h --- mysql-5.7-5.7.33/storage/csv/transparent_file.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/csv/transparent_file.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/example/CMakeLists.txt mysql-5.7-5.7.34/storage/example/CMakeLists.txt --- mysql-5.7-5.7.33/storage/example/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/example/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/example/ha_example.cc mysql-5.7-5.7.34/storage/example/ha_example.cc --- mysql-5.7-5.7.33/storage/example/ha_example.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/example/ha_example.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/example/ha_example.h mysql-5.7-5.7.34/storage/example/ha_example.h --- mysql-5.7-5.7.33/storage/example/ha_example.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/example/ha_example.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/federated/CMakeLists.txt mysql-5.7-5.7.34/storage/federated/CMakeLists.txt --- mysql-5.7-5.7.33/storage/federated/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/federated/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/federated/ha_federated.cc mysql-5.7-5.7.34/storage/federated/ha_federated.cc --- mysql-5.7-5.7.33/storage/federated/ha_federated.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/federated/ha_federated.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -1474,7 +1474,7 @@ if (store_length >= length) break; DBUG_PRINT("info", ("remainder %d", remainder)); - DBUG_ASSERT(remainder > 1); + assert(remainder > 1); length-= store_length; /* For nullable columns, null-byte is already skipped before, that is @@ -1666,7 +1666,7 @@ DBUG_RETURN(1); thr_lock_data_init(&share->lock, &lock, NULL); - DBUG_ASSERT(mysql == NULL); + assert(mysql == NULL); ref_length= sizeof(MYSQL_RES *) + sizeof(MYSQL_ROW_OFFSET); DBUG_PRINT("info", ("ref_length: %u", ref_length)); @@ -2534,7 +2534,7 @@ DBUG_ENTER("ha_federated::read_range_first"); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(!(start_key == NULL && end_key == NULL)); + assert(!(start_key == NULL && end_key == NULL)); sql_query.length(0); sql_query.append(share->select_query); @@ -2770,7 +2770,7 @@ { DBUG_ENTER("ha_federated::position"); - DBUG_ASSERT(stored_result); + assert(stored_result); position_called= TRUE; /* Store result set address. */ @@ -2803,7 +2803,7 @@ /* Get stored result set. */ memcpy(&result, pos, sizeof(MYSQL_RES *)); - DBUG_ASSERT(result); + assert(result); /* Set data cursor position. */ memcpy(&result->data_cursor, pos + sizeof(MYSQL_RES *), sizeof(MYSQL_ROW_OFFSET)); @@ -3192,7 +3192,7 @@ */ mysql_mutex_assert_not_owner(&LOCK_open); - DBUG_ASSERT(mysql == NULL); + assert(mysql == NULL); if (!(mysql= mysql_init(NULL))) { diff -Nru mysql-5.7-5.7.33/storage/federated/ha_federated.h mysql-5.7-5.7.34/storage/federated/ha_federated.h --- mysql-5.7-5.7.33/storage/federated/ha_federated.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/federated/ha_federated.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/_check.c mysql-5.7-5.7.34/storage/heap/_check.c --- mysql-5.7-5.7.33/storage/heap/_check.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/_check.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/CMakeLists.txt mysql-5.7-5.7.34/storage/heap/CMakeLists.txt --- mysql-5.7-5.7.33/storage/heap/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/ha_heap.cc mysql-5.7-5.7.34/storage/heap/ha_heap.cc --- mysql-5.7-5.7.33/storage/heap/ha_heap.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/ha_heap.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -292,7 +292,7 @@ enum ha_rkey_function find_flag) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_key_count); int error = heap_rkey(file,buf,active_index, key, keypart_map, find_flag); table->status = error ? STATUS_NOT_FOUND : 0; @@ -304,7 +304,7 @@ key_part_map keypart_map) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_key_count); int error= heap_rkey(file, buf, active_index, key, keypart_map, HA_READ_PREFIX_LAST); @@ -328,7 +328,7 @@ int ha_heap::index_next(uchar * buf) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_next_count); int error=heap_rnext(file,buf); table->status=error ? STATUS_NOT_FOUND: 0; @@ -339,7 +339,7 @@ int ha_heap::index_prev(uchar * buf) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_prev_count); int error=heap_rprev(file,buf); table->status=error ? STATUS_NOT_FOUND: 0; @@ -350,7 +350,7 @@ int ha_heap::index_first(uchar * buf) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_first_count); int error=heap_rfirst(file, buf, active_index); table->status=error ? STATUS_NOT_FOUND: 0; @@ -361,7 +361,7 @@ int ha_heap::index_last(uchar * buf) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_last_count); int error=heap_rlast(file, buf, active_index); table->status=error ? STATUS_NOT_FOUND: 0; @@ -595,7 +595,7 @@ as they don't have properly initialized THR_LOCK and THR_LOCK_DATA structures. */ - DBUG_ASSERT(!internal_table); + assert(!internal_table); if (lock_type != TL_IGNORE && file->lock.type == TL_UNLOCK) file->lock.type=lock_type; *to++= &file->lock; @@ -645,7 +645,7 @@ return stats.records; /* Assert that info() did run. We need current statistics here. */ - DBUG_ASSERT(key_stat_version == file->s->key_stat_version); + assert(key_stat_version == file->s->key_stat_version); return key->rec_per_key[key->user_defined_key_parts - 1]; } @@ -694,7 +694,7 @@ mem_per_row+=sizeof(TREE_ELEMENT)+pos->key_length+sizeof(char*); break; default: - DBUG_ASSERT(0); // cannot happen + assert(0); // cannot happen } for (; key_part != key_part_end; key_part++, seg++) @@ -783,7 +783,7 @@ create_info->auto_increment_value - 1 : 0); error= heap_create(name, &hp_create_info, &internal_share, &created); my_free(hp_create_info.keydef); - DBUG_ASSERT(file == 0); + assert(file == 0); return (error); } diff -Nru mysql-5.7-5.7.33/storage/heap/ha_heap.h mysql-5.7-5.7.34/storage/heap/ha_heap.h --- mysql-5.7-5.7.33/storage/heap/ha_heap.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/ha_heap.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/heapdef.h mysql-5.7-5.7.34/storage/heap/heapdef.h --- mysql-5.7-5.7.33/storage/heap/heapdef.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/heapdef.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_block.c mysql-5.7-5.7.34/storage/heap/hp_block.c --- mysql-5.7-5.7.33/storage/heap/hp_block.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_block.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_clear.c mysql-5.7-5.7.34/storage/heap/hp_clear.c --- mysql-5.7-5.7.33/storage/heap/hp_clear.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_clear.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000-2002, 2004-2007 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/heap/hp_close.c mysql-5.7-5.7.34/storage/heap/hp_close.c --- mysql-5.7-5.7.33/storage/heap/hp_close.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_close.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -42,7 +42,7 @@ { int error=0; DBUG_ENTER("hp_close"); -#ifndef DBUG_OFF +#ifndef NDEBUG if (info->s->changed && heap_check_heap(info,0)) { error= HA_ERR_CRASHED; diff -Nru mysql-5.7-5.7.33/storage/heap/hp_create.c mysql-5.7-5.7.34/storage/heap/hp_create.c --- mysql-5.7-5.7.33/storage/heap/hp_create.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_create.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_delete.c mysql-5.7-5.7.34/storage/heap/hp_delete.c --- mysql-5.7-5.7.33/storage/heap/hp_delete.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_delete.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -55,7 +55,7 @@ pos[share->reclength]=0; /* Record deleted */ share->deleted++; info->current_hash_ptr=0; -#if !defined(DBUG_OFF) && defined(EXTRA_HEAP_DEBUG) +#if !defined(NDEBUG) && defined(EXTRA_HEAP_DEBUG) DBUG_EXECUTE("check_heap",heap_check_heap(info, 0);); #endif diff -Nru mysql-5.7-5.7.33/storage/heap/hp_extra.c mysql-5.7-5.7.34/storage/heap/hp_extra.c --- mysql-5.7-5.7.33/storage/heap/hp_extra.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_extra.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_hash.c mysql-5.7-5.7.34/storage/heap/hp_hash.c --- mysql-5.7-5.7.33/storage/heap/hp_hash.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_hash.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -881,7 +881,7 @@ value= uint8korr(key); break; default: - DBUG_ASSERT(0); + assert(0); value=0; /* Error */ break; } diff -Nru mysql-5.7-5.7.33/storage/heap/hp_info.c mysql-5.7-5.7.34/storage/heap/hp_info.c --- mysql-5.7-5.7.33/storage/heap/hp_info.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_info.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_open.c mysql-5.7-5.7.34/storage/heap/hp_open.c --- mysql-5.7-5.7.33/storage/heap/hp_open.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_open.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -58,7 +58,7 @@ info->mode= mode; info->current_record= (ulong) ~0L; /* No current record */ info->lastinx= info->errkey= -1; -#ifndef DBUG_OFF +#ifndef NDEBUG info->opt_flag= READ_CHECK_USED; /* Check when changing */ #endif DBUG_PRINT("exit",("heap: 0x%lx reclength: %d records_in_block: %d", diff -Nru mysql-5.7-5.7.33/storage/heap/hp_panic.c mysql-5.7-5.7.34/storage/heap/hp_panic.c --- mysql-5.7-5.7.33/storage/heap/hp_panic.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_panic.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2002, 2005, 2006 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/heap/hp_rename.c mysql-5.7-5.7.34/storage/heap/hp_rename.c --- mysql-5.7-5.7.33/storage/heap/hp_rename.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_rename.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_rfirst.c mysql-5.7-5.7.34/storage/heap/hp_rfirst.c --- mysql-5.7-5.7.33/storage/heap/hp_rfirst.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_rfirst.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -69,7 +69,7 @@ set_my_errno(HA_ERR_END_OF_FILE); DBUG_RETURN(my_errno()); } - DBUG_ASSERT(0); /* TODO fix it */ + assert(0); /* TODO fix it */ info->current_record=0; info->current_hash_ptr=0; info->update=HA_STATE_PREV_FOUND; diff -Nru mysql-5.7-5.7.33/storage/heap/hp_rkey.c mysql-5.7-5.7.34/storage/heap/hp_rkey.c --- mysql-5.7-5.7.33/storage/heap/hp_rkey.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_rkey.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_rlast.c mysql-5.7-5.7.34/storage/heap/hp_rlast.c --- mysql-5.7-5.7.33/storage/heap/hp_rlast.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_rlast.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_rnext.c mysql-5.7-5.7.34/storage/heap/hp_rnext.c --- mysql-5.7-5.7.33/storage/heap/hp_rnext.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_rnext.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_rprev.c mysql-5.7-5.7.34/storage/heap/hp_rprev.c --- mysql-5.7-5.7.33/storage/heap/hp_rprev.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_rprev.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_rrnd.c mysql-5.7-5.7.34/storage/heap/hp_rrnd.c --- mysql-5.7-5.7.33/storage/heap/hp_rrnd.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_rrnd.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_rsame.c mysql-5.7-5.7.34/storage/heap/hp_rsame.c --- mysql-5.7-5.7.33/storage/heap/hp_rsame.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_rsame.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_scan.c mysql-5.7-5.7.34/storage/heap/hp_scan.c --- mysql-5.7-5.7.33/storage/heap/hp_scan.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_scan.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_static.c mysql-5.7-5.7.34/storage/heap/hp_static.c --- mysql-5.7-5.7.33/storage/heap/hp_static.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_static.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_test1.c mysql-5.7-5.7.34/storage/heap/hp_test1.c --- mysql-5.7-5.7.33/storage/heap/hp_test1.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_test1.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_test2.c mysql-5.7-5.7.34/storage/heap/hp_test2.c --- mysql-5.7-5.7.33/storage/heap/hp_test2.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_test2.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/heap/hp_update.c mysql-5.7-5.7.34/storage/heap/hp_update.c --- mysql-5.7-5.7.33/storage/heap/hp_update.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_update.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -56,7 +56,7 @@ memcpy(pos,heap_new,(size_t) share->reclength); if (++(share->records) == share->blength) share->blength+= share->blength; -#if !defined(DBUG_OFF) && defined(EXTRA_HEAP_DEBUG) +#if !defined(NDEBUG) && defined(EXTRA_HEAP_DEBUG) DBUG_EXECUTE("check_heap",heap_check_heap(info, 0);); #endif if (auto_key_changed) diff -Nru mysql-5.7-5.7.33/storage/heap/hp_write.c mysql-5.7-5.7.34/storage/heap/hp_write.c --- mysql-5.7-5.7.33/storage/heap/hp_write.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/hp_write.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -42,7 +42,7 @@ uchar *pos; HP_SHARE *share=info->s; DBUG_ENTER("heap_write"); -#ifndef DBUG_OFF +#ifndef NDEBUG if (info->mode & O_RDONLY) { set_my_errno(EACCES); @@ -67,7 +67,7 @@ info->current_ptr=pos; info->current_hash_ptr=0; info->update|=HA_STATE_AKTIV; -#if !defined(DBUG_OFF) && defined(EXTRA_HEAP_DEBUG) +#if !defined(NDEBUG) && defined(EXTRA_HEAP_DEBUG) DBUG_EXECUTE("check_heap",heap_check_heap(info, 0);); #endif if (share->auto_key) diff -Nru mysql-5.7-5.7.33/storage/heap/_rectest.c mysql-5.7-5.7.34/storage/heap/_rectest.c --- mysql-5.7-5.7.33/storage/heap/_rectest.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/heap/_rectest.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/api/api0api.cc mysql-5.7-5.7.34/storage/innobase/api/api0api.cc --- mysql-5.7-5.7.33/storage/innobase/api/api0api.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/api/api0api.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2008, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/api/api0misc.cc mysql-5.7-5.7.34/storage/innobase/api/api0misc.cc --- mysql-5.7-5.7.33/storage/innobase/api/api0misc.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/api/api0misc.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2008, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/btr/btr0btr.cc mysql-5.7-5.7.34/storage/innobase/btr/btr0btr.cc --- mysql-5.7-5.7.33/storage/innobase/btr/btr0btr.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/btr/btr0btr.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify @@ -4422,9 +4422,9 @@ { page_cur_t cur; ibool ret = TRUE; -#ifndef DBUG_OFF +#ifndef NDEBUG ulint nth = 1; -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ page_cur_set_before_first(block, &cur); diff -Nru mysql-5.7-5.7.33/storage/innobase/btr/btr0bulk.cc mysql-5.7-5.7.34/storage/innobase/btr/btr0bulk.cc --- mysql-5.7-5.7.33/storage/innobase/btr/btr0bulk.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/btr/btr0bulk.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/btr/btr0cur.cc mysql-5.7-5.7.34/storage/innobase/btr/btr0cur.cc --- mysql-5.7-5.7.33/storage/innobase/btr/btr0cur.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/btr/btr0cur.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Copyright (c) 2012, Facebook Inc. diff -Nru mysql-5.7-5.7.33/storage/innobase/btr/btr0pcur.cc mysql-5.7-5.7.34/storage/innobase/btr/btr0pcur.cc --- mysql-5.7-5.7.33/storage/innobase/btr/btr0pcur.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/btr/btr0pcur.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/btr/btr0sea.cc mysql-5.7-5.7.34/storage/innobase/btr/btr0sea.cc --- mysql-5.7-5.7.33/storage/innobase/btr/btr0sea.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/btr/btr0sea.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by diff -Nru mysql-5.7-5.7.33/storage/innobase/buf/buf0block_hint.cc mysql-5.7-5.7.34/storage/innobase/buf/buf0block_hint.cc --- mysql-5.7-5.7.33/storage/innobase/buf/buf0block_hint.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/buf/buf0block_hint.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2020, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, as published by the diff -Nru mysql-5.7-5.7.33/storage/innobase/buf/buf0buddy.cc mysql-5.7-5.7.34/storage/innobase/buf/buf0buddy.cc --- mysql-5.7-5.7.33/storage/innobase/buf/buf0buddy.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/buf/buf0buddy.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/buf/buf0buf.cc mysql-5.7-5.7.34/storage/innobase/buf/buf0buf.cc --- mysql-5.7-5.7.33/storage/innobase/buf/buf0buf.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/buf/buf0buf.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by @@ -2513,7 +2513,7 @@ buf_pool->zip_hash = new_hash_table; } -#ifndef DBUG_OFF +#ifndef NDEBUG /** This is a debug routine to inject an memory allocation failure error. */ static void @@ -2528,7 +2528,7 @@ count++; } -#endif // DBUG_OFF +#endif // NDEBUG /** Resize the buffer pool based on srv_buf_pool_size from srv_buf_pool_old_size. */ @@ -2693,7 +2693,7 @@ buf_resize_status("Latching whole of buffer pool."); -#ifndef DBUG_OFF +#ifndef NDEBUG { bool should_wait = true; @@ -2704,7 +2704,7 @@ should_wait = true; os_thread_sleep(10000);); } } -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ if (srv_shutdown_state != SRV_SHUTDOWN_NONE) { return; diff -Nru mysql-5.7-5.7.33/storage/innobase/buf/buf0checksum.cc mysql-5.7-5.7.34/storage/innobase/buf/buf0checksum.cc --- mysql-5.7-5.7.33/storage/innobase/buf/buf0checksum.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/buf/buf0checksum.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/buf/buf0dblwr.cc mysql-5.7-5.7.34/storage/innobase/buf/buf0dblwr.cc --- mysql-5.7-5.7.33/storage/innobase/buf/buf0dblwr.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/buf/buf0dblwr.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/buf/buf0dump.cc mysql-5.7-5.7.34/storage/innobase/buf/buf0dump.cc --- mysql-5.7-5.7.33/storage/innobase/buf/buf0dump.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/buf/buf0dump.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/buf/buf0flu.cc mysql-5.7-5.7.34/storage/innobase/buf/buf0flu.cc --- mysql-5.7-5.7.33/storage/innobase/buf/buf0flu.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/buf/buf0flu.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/buf/buf0lru.cc mysql-5.7-5.7.34/storage/innobase/buf/buf0lru.cc --- mysql-5.7-5.7.33/storage/innobase/buf/buf0lru.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/buf/buf0lru.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -644,13 +644,13 @@ processed = 0; } -#ifdef DBUG_OFF +#ifdef NDEBUG if (flush) { DBUG_EXECUTE_IF("ib_export_flush_crash", static ulint n_pages; if (++n_pages == 4) {DBUG_SUICIDE();}); } -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ /* The check for trx is interrupted is expensive, we want to check every N iterations. */ diff -Nru mysql-5.7-5.7.33/storage/innobase/buf/buf0rea.cc mysql-5.7-5.7.34/storage/innobase/buf/buf0rea.cc --- mysql-5.7-5.7.33/storage/innobase/buf/buf0rea.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/buf/buf0rea.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/CMakeLists.txt mysql-5.7-5.7.34/storage/innobase/CMakeLists.txt --- mysql-5.7-5.7.33/storage/innobase/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/compile-innodb mysql-5.7-5.7.34/storage/innobase/compile-innodb --- mysql-5.7-5.7.33/storage/innobase/compile-innodb 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/compile-innodb 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/data/data0data.cc mysql-5.7-5.7.34/storage/innobase/data/data0data.cc --- mysql-5.7-5.7.33/storage/innobase/data/data0data.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/data/data0data.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/data/data0type.cc mysql-5.7-5.7.34/storage/innobase/data/data0type.cc --- mysql-5.7-5.7.33/storage/innobase/data/data0type.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/data/data0type.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/dict/dict0boot.cc mysql-5.7-5.7.34/storage/innobase/dict/dict0boot.cc --- mysql-5.7-5.7.33/storage/innobase/dict/dict0boot.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/dict/dict0boot.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/dict/dict0crea.cc mysql-5.7-5.7.34/storage/innobase/dict/dict0crea.cc --- mysql-5.7-5.7.33/storage/innobase/dict/dict0crea.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/dict/dict0crea.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/dict/dict0dict.cc mysql-5.7-5.7.34/storage/innobase/dict/dict0dict.cc --- mysql-5.7-5.7.33/storage/innobase/dict/dict0dict.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/dict/dict0dict.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/dict/dict0load.cc mysql-5.7-5.7.34/storage/innobase/dict/dict0load.cc --- mysql-5.7-5.7.33/storage/innobase/dict/dict0load.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/dict/dict0load.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/dict/dict0mem.cc mysql-5.7-5.7.34/storage/innobase/dict/dict0mem.cc --- mysql-5.7-5.7.33/storage/innobase/dict/dict0mem.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/dict/dict0mem.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/dict/dict0stats_bg.cc mysql-5.7-5.7.34/storage/innobase/dict/dict0stats_bg.cc --- mysql-5.7-5.7.33/storage/innobase/dict/dict0stats_bg.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/dict/dict0stats_bg.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/dict/dict0stats.cc mysql-5.7-5.7.34/storage/innobase/dict/dict0stats.cc --- mysql-5.7-5.7.33/storage/innobase/dict/dict0stats.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/dict/dict0stats.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2009, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/Doxyfile mysql-5.7-5.7.34/storage/innobase/Doxyfile --- mysql-5.7-5.7.33/storage/innobase/Doxyfile 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/Doxyfile 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/eval/eval0eval.cc mysql-5.7-5.7.34/storage/innobase/eval/eval0eval.cc --- mysql-5.7-5.7.33/storage/innobase/eval/eval0eval.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/eval/eval0eval.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/eval/eval0proc.cc mysql-5.7-5.7.34/storage/innobase/eval/eval0proc.cc --- mysql-5.7-5.7.33/storage/innobase/eval/eval0proc.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/eval/eval0proc.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1998, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1998, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fil/fil0fil.cc mysql-5.7-5.7.34/storage/innobase/fil/fil0fil.cc --- mysql-5.7-5.7.33/storage/innobase/fil/fil0fil.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fil/fil0fil.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -3009,12 +3009,8 @@ row_mysql_unlock_data_dictionary(trx); DEBUG_SYNC_C("trunc_table_index_dropped_release_dict_lock"); - /* Lock the search latch in shared mode to prevent user - from disabling AHI during the scan */ - btr_search_s_lock_all(); DEBUG_SYNC_C("simulate_buffer_pool_scan"); buf_LRU_flush_or_remove_pages(id, BUF_REMOVE_ALL_NO_WRITE, 0); - btr_search_s_unlock_all(); row_mysql_lock_data_dictionary(trx); diff -Nru mysql-5.7-5.7.33/storage/innobase/fsp/fsp0file.cc mysql-5.7-5.7.34/storage/innobase/fsp/fsp0file.cc --- mysql-5.7-5.7.33/storage/innobase/fsp/fsp0file.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fsp/fsp0file.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fsp/fsp0fsp.cc mysql-5.7-5.7.34/storage/innobase/fsp/fsp0fsp.cc --- mysql-5.7-5.7.33/storage/innobase/fsp/fsp0fsp.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fsp/fsp0fsp.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fsp/fsp0space.cc mysql-5.7-5.7.34/storage/innobase/fsp/fsp0space.cc --- mysql-5.7-5.7.33/storage/innobase/fsp/fsp0space.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fsp/fsp0space.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fsp/fsp0sysspace.cc mysql-5.7-5.7.34/storage/innobase/fsp/fsp0sysspace.cc --- mysql-5.7-5.7.33/storage/innobase/fsp/fsp0sysspace.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fsp/fsp0sysspace.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0ast.cc mysql-5.7-5.7.34/storage/innobase/fts/fts0ast.cc --- mysql-5.7-5.7.33/storage/innobase/fts/fts0ast.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0ast.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0blex.cc mysql-5.7-5.7.34/storage/innobase/fts/fts0blex.cc --- mysql-5.7-5.7.33/storage/innobase/fts/fts0blex.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0blex.cc 2021-03-26 06:58:52.000000000 +0000 @@ -451,7 +451,7 @@ #line 1 "fts0blex.l" /***************************************************************************** -Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0blex.l mysql-5.7-5.7.34/storage/innobase/fts/fts0blex.l --- mysql-5.7-5.7.33/storage/innobase/fts/fts0blex.l 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0blex.l 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0config.cc mysql-5.7-5.7.34/storage/innobase/fts/fts0config.cc --- mysql-5.7-5.7.33/storage/innobase/fts/fts0config.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0config.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0fts.cc mysql-5.7-5.7.34/storage/innobase/fts/fts0fts.cc --- mysql-5.7-5.7.33/storage/innobase/fts/fts0fts.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0fts.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -7596,9 +7596,9 @@ DICT_TF2_FTS_AUX_HEX_NAME); } } -#ifndef DBUG_OFF +#ifndef NDEBUG table_exit: -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ if (table != NULL) { dict_table_close(table, TRUE, FALSE); diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0opt.cc mysql-5.7-5.7.34/storage/innobase/fts/fts0opt.cc --- mysql-5.7-5.7.33/storage/innobase/fts/fts0opt.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0opt.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0pars.y mysql-5.7-5.7.34/storage/innobase/fts/fts0pars.y --- mysql-5.7-5.7.33/storage/innobase/fts/fts0pars.y 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0pars.y 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0plugin.cc mysql-5.7-5.7.34/storage/innobase/fts/fts0plugin.cc --- mysql-5.7-5.7.33/storage/innobase/fts/fts0plugin.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0plugin.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0que.cc mysql-5.7-5.7.34/storage/innobase/fts/fts0que.cc --- mysql-5.7-5.7.33/storage/innobase/fts/fts0que.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0que.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0sql.cc mysql-5.7-5.7.34/storage/innobase/fts/fts0sql.cc --- mysql-5.7-5.7.33/storage/innobase/fts/fts0sql.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0sql.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0tlex.cc mysql-5.7-5.7.34/storage/innobase/fts/fts0tlex.cc --- mysql-5.7-5.7.33/storage/innobase/fts/fts0tlex.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0tlex.cc 2021-03-26 06:58:52.000000000 +0000 @@ -447,7 +447,7 @@ #line 1 "fts0tlex.l" /***************************************************************************** -Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/fts0tlex.l mysql-5.7-5.7.34/storage/innobase/fts/fts0tlex.l --- mysql-5.7-5.7.33/storage/innobase/fts/fts0tlex.l 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/fts0tlex.l 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/Makefile.query mysql-5.7-5.7.34/storage/innobase/fts/Makefile.query --- mysql-5.7-5.7.33/storage/innobase/fts/Makefile.query 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/Makefile.query 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2011, 2020, Oracle and/or its affiliates. +# Copyright (c) 2011, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fts/make_parser.sh mysql-5.7-5.7.34/storage/innobase/fts/make_parser.sh --- mysql-5.7-5.7.33/storage/innobase/fts/make_parser.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fts/make_parser.sh 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fut/fut0fut.cc mysql-5.7-5.7.34/storage/innobase/fut/fut0fut.cc --- mysql-5.7-5.7.33/storage/innobase/fut/fut0fut.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fut/fut0fut.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2011, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/fut/fut0lst.cc mysql-5.7-5.7.34/storage/innobase/fut/fut0lst.cc --- mysql-5.7-5.7.33/storage/innobase/fut/fut0lst.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/fut/fut0lst.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/gis/gis0geo.cc mysql-5.7-5.7.34/storage/innobase/gis/gis0geo.cc --- mysql-5.7-5.7.33/storage/innobase/gis/gis0geo.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/gis/gis0geo.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/gis/gis0rtree.cc mysql-5.7-5.7.34/storage/innobase/gis/gis0rtree.cc --- mysql-5.7-5.7.33/storage/innobase/gis/gis0rtree.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/gis/gis0rtree.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2016, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2016, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/gis/gis0sea.cc mysql-5.7-5.7.34/storage/innobase/gis/gis0sea.cc --- mysql-5.7-5.7.33/storage/innobase/gis/gis0sea.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/gis/gis0sea.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2017, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2017, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ha/ha0ha.cc mysql-5.7-5.7.34/storage/innobase/ha/ha0ha.cc --- mysql-5.7-5.7.33/storage/innobase/ha/ha0ha.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ha/ha0ha.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ha/ha0storage.cc mysql-5.7-5.7.34/storage/innobase/ha/ha0storage.cc --- mysql-5.7-5.7.33/storage/innobase/ha/ha0storage.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ha/ha0storage.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ha/hash0hash.cc mysql-5.7-5.7.34/storage/innobase/ha/hash0hash.cc --- mysql-5.7-5.7.33/storage/innobase/ha/hash0hash.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ha/hash0hash.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/handler/ha_innodb.cc mysql-5.7-5.7.34/storage/innobase/handler/ha_innodb.cc --- mysql-5.7-5.7.33/storage/innobase/handler/ha_innodb.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/handler/ha_innodb.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2000, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2000, 2021, Oracle and/or its affiliates. Copyright (c) 2008, 2009 Google Inc. Copyright (c) 2009, Percona Inc. Copyright (c) 2012, Facebook Inc. @@ -1759,7 +1759,7 @@ handlerton* hton, /*!< in: handlerton */ THD* thd) /*!< in: MySQL thread */ { - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); if (!innodb_inited) { @@ -2588,8 +2588,8 @@ trx_t* trx) /*!< in/out: InnoDB transaction handle */ { DBUG_ENTER("innobase_trx_init"); - DBUG_ASSERT(EQ_CURRENT_THD(thd)); - DBUG_ASSERT(thd == trx->mysql_thd); + assert(EQ_CURRENT_THD(thd)); + assert(thd == trx->mysql_thd); trx->check_foreigns = !thd_test_options( thd, OPTION_NO_FOREIGN_KEY_CHECKS); @@ -2611,8 +2611,8 @@ trx_t* trx; DBUG_ENTER("innobase_trx_allocate"); - DBUG_ASSERT(thd != NULL); - DBUG_ASSERT(EQ_CURRENT_THD(thd)); + assert(thd != NULL); + assert(EQ_CURRENT_THD(thd)); trx = trx_allocate_for_mysql(); @@ -2861,7 +2861,7 @@ m_user_thd, thd)); /* The table should have been opened in ha_innobase::open(). */ - DBUG_ASSERT(m_prebuilt->table->n_ref_count > 0); + assert(m_prebuilt->table->n_ref_count > 0); trx_t* trx = check_trx_exists(thd); @@ -2879,8 +2879,8 @@ m_user_thd = thd; - DBUG_ASSERT(m_prebuilt->trx->magic_n == TRX_MAGIC_N); - DBUG_ASSERT(m_prebuilt->trx == thd_to_trx(m_user_thd)); + assert(m_prebuilt->trx->magic_n == TRX_MAGIC_N); + assert(m_prebuilt->trx == thd_to_trx(m_user_thd)); DBUG_VOID_RETURN; } @@ -3582,7 +3582,7 @@ ut_a(DATA_MYSQL_TRUE_VARCHAR == (ulint)MYSQL_TYPE_VARCHAR); -#ifndef DBUG_OFF +#ifndef NDEBUG static const char test_filename[] = "-@"; char test_tablename[sizeof test_filename + sizeof(srv_mysql50_table_name_prefix) - 1]; @@ -3600,7 +3600,7 @@ sql_print_error("tablename encoding has been changed"); DBUG_RETURN(innobase_init_abort()); } -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ /* Check that values don't overflow on 32-bit systems. */ if (sizeof(ulint) == 4) { @@ -4196,7 +4196,7 @@ int err= 0; DBUG_ENTER("innobase_end"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); if (innodb_inited) { @@ -4236,7 +4236,7 @@ bool binlog_group_flush) { DBUG_ENTER("innobase_flush_logs"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); if (srv_read_only_mode) { DBUG_RETURN(false); @@ -4291,7 +4291,7 @@ whom the transaction should be committed */ { DBUG_ENTER("innobase_start_trx_and_assign_read_view"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); /* Create a new trx struct for thd, if it does not yet have one */ @@ -4349,7 +4349,7 @@ ended */ { DBUG_ENTER("innobase_commit"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); DBUG_PRINT("trans", ("ending transaction")); trx_t* trx = check_trx_exists(thd); @@ -4503,7 +4503,7 @@ statement only */ { DBUG_ENTER("innobase_rollback"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); DBUG_PRINT("trans", ("aborting transaction")); trx_t* trx = check_trx_exists(thd); @@ -4614,7 +4614,7 @@ { DBUG_ENTER("innobase_rollback_to_savepoint"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); trx_t* trx = check_trx_exists(thd); @@ -4656,7 +4656,7 @@ be rolled back to savepoint */ { DBUG_ENTER("innobase_rollback_to_savepoint_can_release_mdl"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); trx_t* trx = check_trx_exists(thd); @@ -4691,7 +4691,7 @@ char name[64]; DBUG_ENTER("innobase_release_savepoint"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); trx = check_trx_exists(thd); @@ -4722,7 +4722,7 @@ void* savepoint)/*!< in: savepoint data */ { DBUG_ENTER("innobase_savepoint"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); /* In the autocommit mode there is no sense to set a savepoint (unless we are in sub-statement), so SQL layer ensures that @@ -4735,7 +4735,7 @@ innobase_srv_conc_force_exit_innodb(trx); /* Cannot happen outside of transaction */ - DBUG_ASSERT(trx_is_registered_for_2pc(trx)); + assert(trx_is_registered_for_2pc(trx)); /* TODO: use provided savepoint data area to store savepoint data */ char name[64]; @@ -4764,7 +4764,7 @@ { DBUG_ENTER("innobase_close_connection"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); trx_t* trx = thd_to_trx(thd); bool free_trx = false; @@ -4858,7 +4858,7 @@ killed */ { DBUG_ENTER("innobase_kill_connection"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); trx_t* trx = thd_to_trx(thd); @@ -5123,7 +5123,7 @@ ptr--; } - DBUG_ASSERT(ptr >= name); + assert(ptr >= name); /* seek to the last but one path separator or one char before the beginning of name */ @@ -5150,7 +5150,7 @@ } } -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) /********************************************************************* Test normalize_table_name_low(). */ static @@ -5276,7 +5276,7 @@ } } } -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ /** Match index columns between MySQL and InnoDB. This function checks whether the index column information @@ -5895,11 +5895,7 @@ normalize_table_name(norm_name, name); m_user_thd = NULL; - - if (!(m_share = get_share(name))) { - - DBUG_RETURN(1); - } + m_share = NULL; /* Will be allocated if it is needed in ::update_row() */ m_upd_buf = NULL; @@ -5933,6 +5929,18 @@ ut_ad(dict_table_is_intrinsic(ib_table)); } + /* m_share might hold pointers to dict table indexes without any pin. + We must always allocate m_share after opening the dict_table_t object + and free it before de-allocating dict_table_t to avoid race. */ + if (ib_table != NULL) { + m_share = get_share(name); + if (m_share == NULL) { + dict_table_close(ib_table, FALSE, FALSE); + DBUG_RETURN(HA_ERR_SE_OUT_OF_MEMORY); + } + } + + if (ib_table != NULL && ((!DICT_TF2_FLAG_IS_SET(ib_table, DICT_TF2_FTS_HAS_DOC_ID) && table->s->fields != dict_table_get_n_tot_u_cols(ib_table)) @@ -5951,6 +5959,7 @@ /* Mark this table as corrupted, so the drop table or force recovery can still use it, but not others. */ ib_table->corrupted = true; + free_share(m_share); dict_table_close(ib_table, FALSE, FALSE); ib_table = NULL; is_part = NULL; @@ -5966,11 +5975,11 @@ /* Mark this table as corrupted, so the drop table or force recovery can still use it, but not others. */ + free_share(m_share); dict_table_close(ib_table, FALSE, FALSE); ib_table = NULL; is_part = NULL; - free_share(m_share); my_error(ER_CANNOT_FIND_KEY_IN_KEYRING, MYF(0)); DBUG_RETURN(HA_ERR_TABLE_CORRUPT); @@ -5987,7 +5996,6 @@ " internal data dictionary of InnoDB though the .frm" " file for the table exists. " << TROUBLESHOOTING_MSG; - free_share(m_share); set_my_errno(ENOENT); DBUG_RETURN(HA_ERR_NO_SUCH_TABLE); @@ -6372,7 +6380,7 @@ handler::clone(name, mem_root)); if (new_handler != NULL) { - DBUG_ASSERT(new_handler->m_prebuilt != NULL); + assert(new_handler->m_prebuilt != NULL); new_handler->m_prebuilt->select_lock_type = m_prebuilt->select_lock_type; @@ -6418,6 +6426,8 @@ innobase_release_temporary_latches(ht, thd); } + free_share(m_share); + row_prebuilt_free(m_prebuilt, FALSE); if (m_upd_buf != NULL) { @@ -6427,8 +6437,6 @@ m_upd_buf_size = 0; } - free_share(m_share); - MONITOR_INC(MONITOR_TABLE_CLOSE); /* Tell InnoDB server that there might be work for @@ -6659,11 +6667,11 @@ 8 bits: this is used in ibuf and also when DATA_NOT_NULL is ORed to the type */ - DBUG_ASSERT((ulint)MYSQL_TYPE_STRING < 256); - DBUG_ASSERT((ulint)MYSQL_TYPE_VAR_STRING < 256); - DBUG_ASSERT((ulint)MYSQL_TYPE_DOUBLE < 256); - DBUG_ASSERT((ulint)MYSQL_TYPE_FLOAT < 256); - DBUG_ASSERT((ulint)MYSQL_TYPE_DECIMAL < 256); + assert((ulint)MYSQL_TYPE_STRING < 256); + assert((ulint)MYSQL_TYPE_VAR_STRING < 256); + assert((ulint)MYSQL_TYPE_DOUBLE < 256); + assert((ulint)MYSQL_TYPE_FLOAT < 256); + assert((ulint)MYSQL_TYPE_DECIMAL < 256); if (field->flags & UNSIGNED_FLAG) { @@ -6729,7 +6737,7 @@ case MYSQL_TYPE_TIMESTAMP: return(DATA_INT); default: /* Fall through */ - DBUG_ASSERT((ulint)MYSQL_TYPE_DECIMAL < 256); + assert((ulint)MYSQL_TYPE_DECIMAL < 256); case MYSQL_TYPE_TIME2: case MYSQL_TYPE_DATETIME2: case MYSQL_TYPE_TIMESTAMP2: @@ -8723,7 +8731,7 @@ (ulint) key_len, m_prebuilt->trx); - DBUG_ASSERT(m_prebuilt->search_tuple->n_fields > 0); + assert(m_prebuilt->search_tuple->n_fields > 0); } else { /* We position the cursor to the last or the first entry in the index */ @@ -9932,7 +9940,7 @@ DBUG_ENTER("create_table_def"); DBUG_PRINT("enter", ("table_name: %s", m_table_name)); - DBUG_ASSERT(m_trx->mysql_thd == m_thd); + assert(m_trx->mysql_thd == m_thd); /* MySQL does the name length check. But we do additional check on the name length here */ @@ -12112,23 +12120,23 @@ ut_ad(dict_table_is_intrinsic(innobase_table)); } - DBUG_ASSERT(innobase_table != 0); + assert(innobase_table != 0); if (innobase_table->fts != NULL) { if (innobase_table->fts_doc_id_index == NULL) { innobase_table->fts_doc_id_index = dict_table_get_index_on_name( innobase_table, FTS_DOC_ID_INDEX_NAME); - DBUG_ASSERT(innobase_table->fts_doc_id_index != NULL); + assert(innobase_table->fts_doc_id_index != NULL); } else { - DBUG_ASSERT(innobase_table->fts_doc_id_index - == dict_table_get_index_on_name( - innobase_table, - FTS_DOC_ID_INDEX_NAME)); + assert(innobase_table->fts_doc_id_index + == dict_table_get_index_on_name( + innobase_table, + FTS_DOC_ID_INDEX_NAME)); } } - DBUG_ASSERT((innobase_table->fts == NULL) - == (innobase_table->fts_doc_id_index == NULL)); + assert((innobase_table->fts == NULL) + == (innobase_table->fts_doc_id_index == NULL)); innobase_copy_frm_flags_from_create_info(innobase_table, m_create_info); @@ -12866,7 +12874,7 @@ Tablespace tablespace; DBUG_ENTER("innobase_create_tablespace"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); /* Be sure the input parameters are valid before continuing. */ error = validate_create_tablespace_info(thd, alter_info); @@ -12953,7 +12961,7 @@ ulint space_id; DBUG_ENTER("innobase_drop_tablespace"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); if (srv_read_only_mode) { DBUG_RETURN(HA_ERR_INNODB_READ_ONLY); @@ -13109,7 +13117,7 @@ /* Get the transaction associated with the current thd, or create one if not yet created */ - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); if (srv_read_only_mode) { return; @@ -13191,7 +13199,7 @@ char norm_from[FN_REFLEN]; DBUG_ENTER("innobase_rename_table"); - DBUG_ASSERT(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX); + assert(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX); ut_ad(!srv_read_only_mode); @@ -13603,9 +13611,9 @@ (ulint) (min_key ? min_key->length : 0), m_prebuilt->trx); - DBUG_ASSERT(min_key - ? range_start->n_fields > 0 - : range_start->n_fields == 0); + assert(min_key + ? range_start->n_fields > 0 + : range_start->n_fields == 0); row_sel_convert_mysql_key_to_innobase( range_end, @@ -13616,9 +13624,9 @@ (ulint) (max_key ? max_key->length : 0), m_prebuilt->trx); - DBUG_ASSERT(max_key - ? range_end->n_fields > 0 - : range_end->n_fields == 0); + assert(max_key + ? range_end->n_fields > 0 + : range_end->n_fields == 0); mode1 = convert_search_mode_to_innobase( min_key ? min_key->flag : HA_READ_KEY_EXACT); @@ -14030,7 +14038,7 @@ trx_search_latch_release_if_reserved(m_prebuilt->trx); ib_table = m_prebuilt->table; - DBUG_ASSERT(ib_table->n_ref_count > 0); + assert(ib_table->n_ref_count > 0); if (flag & HA_STATUS_TIME) { if (is_analyze || innobase_stats_on_metadata) { @@ -14577,7 +14585,7 @@ dberr_t ret; DBUG_ENTER("ha_innobase::check"); - DBUG_ASSERT(thd == ha_thd()); + assert(thd == ha_thd()); ut_a(m_prebuilt->trx->magic_n == TRX_MAGIC_N); ut_a(m_prebuilt->trx == thd_to_trx(thd)); @@ -15890,7 +15898,7 @@ bool ret_val; DBUG_ENTER("innodb_show_status"); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); /* We don't create the temp files or associated mutexes in read-only-mode */ @@ -16184,7 +16192,7 @@ ShowStatus collector; - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); mutex_monitor->iterate(collector); @@ -16213,7 +16221,7 @@ ulint block_rwlock_oswait_count = 0; uint hton_name_len = (uint) strlen(innobase_hton_name); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); mutex_enter(&rw_lock_list_mutex); @@ -16326,7 +16334,7 @@ stat_print_fn* stat_print, enum ha_stat_type stat_type) { - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); switch (stat_type) { case HA_ENGINE_STATUS: @@ -16515,7 +16523,7 @@ } } - DBUG_ASSERT(EQ_CURRENT_THD(thd)); + assert(EQ_CURRENT_THD(thd)); const bool in_lock_tables = thd_in_lock_tables(thd); const uint sql_command = thd_sql_command(thd); @@ -17116,7 +17124,7 @@ { trx_t* trx = check_trx_exists(thd); - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); thd_get_xid(thd, (MYSQL_XID*) trx->xid); @@ -17213,7 +17221,7 @@ XID* xid_list,/*!< in/out: prepared transactions */ uint len) /*!< in: number of slots in xid_list */ { - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); if (len == 0 || xid_list == NULL) { @@ -17234,7 +17242,7 @@ handlerton* hton, XID* xid) /*!< in: X/Open XA transaction identification */ { - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); trx_t* trx = trx_get_trx_by_xid(xid); @@ -17266,7 +17274,7 @@ XID* xid) /*!< in: X/Open XA transaction identification */ { - DBUG_ASSERT(hton == innodb_hton_ptr); + assert(hton == innodb_hton_ptr); trx_t* trx = trx_get_trx_by_xid(xid); @@ -19920,12 +19928,12 @@ "Helps to save your data in case the disk image of the database becomes corrupt.", NULL, NULL, 0, 0, 6, 0); -#ifndef DBUG_OFF +#ifndef NDEBUG static MYSQL_SYSVAR_ULONG(force_recovery_crash, srv_force_recovery_crash, PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY, "Kills the server during crash recovery.", NULL, NULL, 0, 0, 100, 0); -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ static MYSQL_SYSVAR_ULONG(page_size, srv_page_size, PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_READONLY, @@ -20346,9 +20354,9 @@ MYSQL_SYSVAR(flush_log_at_trx_commit), MYSQL_SYSVAR(flush_method), MYSQL_SYSVAR(force_recovery), -#ifndef DBUG_OFF +#ifndef NDEBUG MYSQL_SYSVAR(force_recovery_crash), -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ MYSQL_SYSVAR(fill_factor), MYSQL_SYSVAR(ft_cache_size), MYSQL_SYSVAR(ft_total_cache_size), @@ -20632,8 +20640,8 @@ ha_innobase* h = reinterpret_cast(file); - DBUG_ASSERT(h->pushed_idx_cond); - DBUG_ASSERT(h->pushed_idx_cond_keyno != MAX_KEY); + assert(h->pushed_idx_cond); + assert(h->pushed_idx_cond_keyno != MAX_KEY); if (h->end_range && h->compare_key_icp(h->end_range) > 0) { @@ -21017,8 +21025,8 @@ class Item* idx_cond) { DBUG_ENTER("ha_innobase::idx_cond_push"); - DBUG_ASSERT(keyno != MAX_KEY); - DBUG_ASSERT(idx_cond != NULL); + assert(keyno != MAX_KEY); + assert(idx_cond != NULL); pushed_idx_cond = idx_cond; pushed_idx_cond_keyno = keyno; diff -Nru mysql-5.7-5.7.33/storage/innobase/handler/ha_innodb.h mysql-5.7-5.7.34/storage/innobase/handler/ha_innodb.h --- mysql-5.7-5.7.33/storage/innobase/handler/ha_innodb.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/handler/ha_innodb.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2000, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/handler/ha_innopart.cc mysql-5.7-5.7.34/storage/innobase/handler/ha_innopart.cc --- mysql-5.7-5.7.33/storage/innobase/handler/ha_innopart.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/handler/ha_innopart.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -272,11 +272,11 @@ char partition_name[FN_REFLEN]; bool index_loaded = true; -#ifndef DBUG_OFF +#ifndef NDEBUG if (m_table_share->tmp_table == NO_TMP_TABLE) { mysql_mutex_assert_owner(&m_table_share->LOCK_ha_data); } -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ m_ref_count++; if (m_table_parts != NULL) { ut_ad(m_ref_count > 1); @@ -433,11 +433,11 @@ void Ha_innopart_share::close_table_parts() { -#ifndef DBUG_OFF +#ifndef NDEBUG if (m_table_share->tmp_table == NO_TMP_TABLE) { mysql_mutex_assert_owner(&m_table_share->LOCK_ha_data); } -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ m_ref_count--; if (m_ref_count != 0) { @@ -861,7 +861,7 @@ ulonglong auto_inc = 0; const Field* field = table->found_next_number_field; -#ifndef DBUG_OFF +#ifndef NDEBUG if (table_share->tmp_table == NO_TMP_TABLE) { mysql_mutex_assert_owner(m_part_share->auto_inc_mutex); @@ -1122,7 +1122,7 @@ m_prebuilt->default_rec = table->s->default_values; ut_ad(m_prebuilt->default_rec); - DBUG_ASSERT(table != NULL); + assert(table != NULL); m_prebuilt->m_mysql_table = table; m_prebuilt->m_mysql_handler = this; @@ -4599,8 +4599,8 @@ { int error; DBUG_ENTER("ha_innopart::rnd_pos_by_record"); - DBUG_ASSERT(ha_table_flags() & - HA_PRIMARY_KEY_REQUIRED_FOR_POSITION); + assert(ha_table_flags() & + HA_PRIMARY_KEY_REQUIRED_FOR_POSITION); /* TODO: Support HA_READ_BEFORE_WRITE_REMOVAL */ /* Set m_last_part correctly. */ if (unlikely(get_part_for_delete(record, diff -Nru mysql-5.7-5.7.33/storage/innobase/handler/ha_innopart.h mysql-5.7-5.7.34/storage/innobase/handler/ha_innopart.h --- mysql-5.7-5.7.33/storage/innobase/handler/ha_innopart.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/handler/ha_innopart.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/handler/handler0alter.cc mysql-5.7-5.7.34/storage/innobase/handler/handler0alter.cc --- mysql-5.7-5.7.33/storage/innobase/handler/handler0alter.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/handler/handler0alter.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2005, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -740,8 +740,8 @@ key_part++) { const Create_field* new_field; - DBUG_ASSERT(key_part->fieldnr - < altered_table->s->fields); + assert(key_part->fieldnr + < altered_table->s->fields); cf_it.rewind(); for (uint fieldnr = 0; (new_field = cf_it++); @@ -751,7 +751,7 @@ } } - DBUG_ASSERT(new_field); + assert(new_field); key_part->field = altered_table->field[ key_part->fieldnr]; @@ -768,8 +768,8 @@ } /* This is an added column. */ - DBUG_ASSERT(ha_alter_info->handler_flags - & Alter_inplace_info::ADD_COLUMN); + assert(ha_alter_info->handler_flags + & Alter_inplace_info::ADD_COLUMN); /* We cannot replace a hidden FTS_DOC_ID with a user-visible FTS_DOC_ID. */ @@ -784,16 +784,16 @@ DBUG_RETURN(HA_ALTER_INPLACE_NOT_SUPPORTED); } - DBUG_ASSERT((MTYP_TYPENR(key_part->field->unireg_check) - == Field::NEXT_NUMBER) - == !!(key_part->field->flags - & AUTO_INCREMENT_FLAG)); + assert((MTYP_TYPENR(key_part->field->unireg_check) + == Field::NEXT_NUMBER) + == !!(key_part->field->flags + & AUTO_INCREMENT_FLAG)); if (key_part->field->flags & AUTO_INCREMENT_FLAG) { /* We cannot assign an AUTO_INCREMENT column values during online ALTER. */ - DBUG_ASSERT(key_part->field == altered_table - -> found_next_number_field); + assert(key_part->field == altered_table + -> found_next_number_field); ha_alter_info->unsupported_reason = innobase_get_err_msg( ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_AUTOINC); online = false; @@ -820,10 +820,10 @@ } } - DBUG_ASSERT(!m_prebuilt->table->fts || m_prebuilt->table->fts->doc_col - <= table->s->fields); - DBUG_ASSERT(!m_prebuilt->table->fts || m_prebuilt->table->fts->doc_col - < dict_table_get_n_user_cols(m_prebuilt->table)); + assert(!m_prebuilt->table->fts || m_prebuilt->table->fts->doc_col + <= table->s->fields); + assert(!m_prebuilt->table->fts || m_prebuilt->table->fts->doc_col + < dict_table_get_n_user_cols(m_prebuilt->table)); if (ha_alter_info->handler_flags & Alter_inplace_info::ADD_SPATIAL_INDEX) { @@ -911,11 +911,11 @@ &ha_alter_info->key_info_buffer[ ha_alter_info->index_add_buffer[i]]; if (key->flags & HA_FULLTEXT) { - DBUG_ASSERT(!(key->flags & HA_KEYFLAG_MASK - & ~(HA_FULLTEXT - | HA_PACK_KEY - | HA_GENERATED_KEY - | HA_BINARY_PACK_KEY))); + assert(!(key->flags & HA_KEYFLAG_MASK + & ~(HA_FULLTEXT + | HA_PACK_KEY + | HA_GENERATED_KEY + | HA_BINARY_PACK_KEY))); ha_alter_info->unsupported_reason = innobase_get_err_msg( ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FTS); online = false; @@ -2028,7 +2028,7 @@ ulint n_fields = key->user_defined_key_parts; DBUG_ENTER("innobase_create_index_def"); - DBUG_ASSERT(!key_clustered || new_clustered); + assert(!key_clustered || new_clustered); index->fields = static_cast( mem_heap_alloc(heap, n_fields * sizeof *index->fields)); @@ -2041,15 +2041,15 @@ index->rebuild = new_clustered; if (key_clustered) { - DBUG_ASSERT(!(key->flags & (HA_FULLTEXT | HA_SPATIAL))); - DBUG_ASSERT(key->flags & HA_NOSAME); + assert(!(key->flags & (HA_FULLTEXT | HA_SPATIAL))); + assert(key->flags & HA_NOSAME); index->ind_type = DICT_CLUSTERED | DICT_UNIQUE; } else if (key->flags & HA_FULLTEXT) { - DBUG_ASSERT(!(key->flags & (HA_SPATIAL | HA_NOSAME))); - DBUG_ASSERT(!(key->flags & HA_KEYFLAG_MASK - & ~(HA_FULLTEXT - | HA_PACK_KEY - | HA_BINARY_PACK_KEY))); + assert(!(key->flags & (HA_SPATIAL | HA_NOSAME))); + assert(!(key->flags & HA_KEYFLAG_MASK + & ~(HA_FULLTEXT + | HA_PACK_KEY + | HA_BINARY_PACK_KEY))); index->ind_type = DICT_FTS; /* Set plugin parser */ @@ -2083,7 +2083,7 @@ ut_ad(index->parser); } } else if (key->flags & HA_SPATIAL) { - DBUG_ASSERT(!(key->flags & HA_NOSAME)); + assert(!(key->flags & HA_NOSAME)); index->ind_type = DICT_SPATIAL; ut_ad(n_fields == 1); ulint num_v = 0; @@ -2386,8 +2386,8 @@ = ha_alter_info->key_info_buffer; DBUG_ENTER("innobase_create_key_defs"); - DBUG_ASSERT(!add_fts_doc_id || add_fts_doc_idx); - DBUG_ASSERT(ha_alter_info->index_add_count == n_add); + assert(!add_fts_doc_id || add_fts_doc_idx); + assert(ha_alter_info->index_add_count == n_add); /* If there is a primary key, it is always the first index defined for the innodb_table. */ @@ -2426,9 +2426,9 @@ if (new_primary) { if (n_add == 0) { - DBUG_ASSERT(got_default_clust); - DBUG_ASSERT(altered_table->s->primary_key - == 0); + assert(got_default_clust); + assert(altered_table->s->primary_key + == 0); primary_key_number = 0; } else { primary_key_number = *add; @@ -2520,7 +2520,7 @@ } } - DBUG_ASSERT(indexdefs + n_add == indexdef); + assert(indexdefs + n_add == indexdef); if (add_fts_doc_idx) { index_def_t* index = indexdef++; @@ -2544,11 +2544,11 @@ n_add++; } - DBUG_ASSERT(indexdef > indexdefs); - DBUG_ASSERT((ulint) (indexdef - indexdefs) - <= ha_alter_info->key_count - + add_fts_doc_idx + got_default_clust); - DBUG_ASSERT(ha_alter_info->index_add_count <= n_add); + assert(indexdef > indexdefs); + assert((ulint) (indexdef - indexdefs) + <= ha_alter_info->key_count + + add_fts_doc_idx + got_default_clust); + assert(ha_alter_info->index_add_count <= n_add); DBUG_RETURN(indexdefs); } @@ -2981,18 +2981,18 @@ mem_heap_t* heap) { DBUG_ENTER("innobase_build_col_map"); - DBUG_ASSERT(altered_table != table); - DBUG_ASSERT(new_table != old_table); - DBUG_ASSERT(dict_table_get_n_cols(new_table) - + dict_table_get_n_v_cols(new_table) - >= altered_table->s->fields + DATA_N_SYS_COLS); - DBUG_ASSERT(dict_table_get_n_cols(old_table) - + dict_table_get_n_v_cols(old_table) - >= table->s->fields + DATA_N_SYS_COLS); - DBUG_ASSERT(!!add_cols == !!(ha_alter_info->handler_flags - & Alter_inplace_info::ADD_COLUMN)); - DBUG_ASSERT(!add_cols || dtuple_get_n_fields(add_cols) - == dict_table_get_n_cols(new_table)); + assert(altered_table != table); + assert(new_table != old_table); + assert(dict_table_get_n_cols(new_table) + + dict_table_get_n_v_cols(new_table) + >= altered_table->s->fields + DATA_N_SYS_COLS); + assert(dict_table_get_n_cols(old_table) + + dict_table_get_n_v_cols(old_table) + >= table->s->fields + DATA_N_SYS_COLS); + assert(!!add_cols == !!(ha_alter_info->handler_flags + & Alter_inplace_info::ADD_COLUMN)); + assert(!add_cols || dtuple_get_n_fields(add_cols) + == dict_table_get_n_cols(new_table)); ulint* col_map = static_cast( mem_heap_alloc( @@ -3055,7 +3055,7 @@ } } - DBUG_ASSERT(i == altered_table->s->fields - num_v); + assert(i == altered_table->s->fields - num_v); i = table->s->fields - old_table->n_v_cols; @@ -3063,37 +3063,37 @@ if (i + DATA_N_SYS_COLS < old_table->n_cols) { /* There should be exactly one extra field, the FTS_DOC_ID. */ - DBUG_ASSERT(DICT_TF2_FLAG_IS_SET(old_table, - DICT_TF2_FTS_HAS_DOC_ID)); - DBUG_ASSERT(i + DATA_N_SYS_COLS + 1 == old_table->n_cols); - DBUG_ASSERT(!strcmp(dict_table_get_col_name( - old_table, i), - FTS_DOC_ID_COL_NAME)); + assert(DICT_TF2_FLAG_IS_SET(old_table, + DICT_TF2_FTS_HAS_DOC_ID)); + assert(i + DATA_N_SYS_COLS + 1 == old_table->n_cols); + assert(!strcmp(dict_table_get_col_name( + old_table, i), + FTS_DOC_ID_COL_NAME)); if (altered_table->s->fields + DATA_N_SYS_COLS - new_table->n_v_cols < new_table->n_cols) { - DBUG_ASSERT(DICT_TF2_FLAG_IS_SET( - new_table, - DICT_TF2_FTS_HAS_DOC_ID)); - DBUG_ASSERT(altered_table->s->fields - + DATA_N_SYS_COLS + 1 - == static_cast( - new_table->n_cols - + new_table->n_v_cols)); + assert(DICT_TF2_FLAG_IS_SET( + new_table, + DICT_TF2_FTS_HAS_DOC_ID)); + assert(altered_table->s->fields + + DATA_N_SYS_COLS + 1 + == static_cast( + new_table->n_cols + + new_table->n_v_cols)); col_map[i] = altered_table->s->fields - new_table->n_v_cols; } else { - DBUG_ASSERT(!DICT_TF2_FLAG_IS_SET( - new_table, - DICT_TF2_FTS_HAS_DOC_ID)); + assert(!DICT_TF2_FLAG_IS_SET( + new_table, + DICT_TF2_FTS_HAS_DOC_ID)); col_map[i] = ULINT_UNDEFINED; } i++; } else { - DBUG_ASSERT(!DICT_TF2_FLAG_IS_SET( - old_table, - DICT_TF2_FTS_HAS_DOC_ID)); + assert(!DICT_TF2_FLAG_IS_SET( + old_table, + DICT_TF2_FTS_HAS_DOC_ID)); } for (; i < old_table->n_cols; i++) { @@ -3155,9 +3155,9 @@ uint i; DBUG_ENTER("innobase_get_col_names"); - DBUG_ASSERT(user_table->n_t_def > table->s->fields); - DBUG_ASSERT(ha_alter_info->handler_flags - & Alter_inplace_info::ALTER_COLUMN_NAME); + assert(user_table->n_t_def > table->s->fields); + assert(ha_alter_info->handler_flags + & Alter_inplace_info::ALTER_COLUMN_NAME); cols = static_cast( mem_heap_zalloc(heap, user_table->n_def * sizeof *cols)); @@ -3167,7 +3167,7 @@ ha_alter_info->alter_info->create_list); while (const Create_field* new_field = cf_it++) { ulint num_v = 0; - DBUG_ASSERT(i < altered_table->s->fields); + assert(i < altered_table->s->fields); if (innobase_is_v_fld(new_field)) { continue; @@ -3397,7 +3397,7 @@ DBUG_ENTER("innobase_update_gis_column_type"); - DBUG_ASSERT(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX); + assert(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX); ut_ad(trx->dict_operation_lock_mode == RW_X_LATCH); ut_ad(mutex_own(&dict_sys->mutex)); ut_ad(rw_lock_own(dict_operation_lock, RW_LOCK_X)); @@ -4315,17 +4315,17 @@ ctx = static_cast (ha_alter_info->handler_ctx); - DBUG_ASSERT((ctx->add_autoinc != ULINT_UNDEFINED) - == (ctx->sequence.m_max_value > 0)); - DBUG_ASSERT(!ctx->num_to_drop_index == !ctx->drop_index); - DBUG_ASSERT(!ctx->num_to_drop_fk == !ctx->drop_fk); - DBUG_ASSERT(!add_fts_doc_id || add_fts_doc_id_idx); - DBUG_ASSERT(!add_fts_doc_id_idx - || innobase_fulltext_exist(altered_table)); - DBUG_ASSERT(!ctx->add_cols); - DBUG_ASSERT(!ctx->add_index); - DBUG_ASSERT(!ctx->add_key_numbers); - DBUG_ASSERT(!ctx->num_to_add_index); + assert((ctx->add_autoinc != ULINT_UNDEFINED) + == (ctx->sequence.m_max_value > 0)); + assert(!ctx->num_to_drop_index == !ctx->drop_index); + assert(!ctx->num_to_drop_fk == !ctx->drop_fk); + assert(!add_fts_doc_id || add_fts_doc_id_idx); + assert(!add_fts_doc_id_idx + || innobase_fulltext_exist(altered_table)); + assert(!ctx->add_cols); + assert(!ctx->add_index); + assert(!ctx->add_key_numbers); + assert(!ctx->num_to_add_index); user_table = ctx->new_table; @@ -4424,10 +4424,10 @@ /* The primary index would be rebuilt if a FTS Doc ID column is to be added, and the primary index definition is just copied from old table and stored in indexdefs[0] */ - DBUG_ASSERT(!add_fts_doc_id || new_clustered); - DBUG_ASSERT(!!new_clustered == - (innobase_need_rebuild(ha_alter_info) - || add_fts_doc_id)); + assert(!add_fts_doc_id || new_clustered); + assert(!!new_clustered == + (innobase_need_rebuild(ha_alter_info) + || add_fts_doc_id)); /* Allocate memory for dictionary index definitions */ @@ -4511,14 +4511,14 @@ if (add_fts_doc_id) { n_cols++; - DBUG_ASSERT(flags2 & DICT_TF2_FTS); - DBUG_ASSERT(add_fts_doc_id_idx); + assert(flags2 & DICT_TF2_FTS); + assert(add_fts_doc_id_idx); flags2 |= DICT_TF2_FTS_ADD_DOC_ID | DICT_TF2_FTS_HAS_DOC_ID | DICT_TF2_FTS; } - DBUG_ASSERT(!add_fts_doc_id_idx || (flags2 & DICT_TF2_FTS)); + assert(!add_fts_doc_id_idx || (flags2 & DICT_TF2_FTS)); /* Create the table. */ trx_set_dict_operation(ctx->trx, TRX_DICT_OP_TABLE); @@ -4760,7 +4760,7 @@ /* n_ref_count must be 1, because purge cannot be executing on this very table as we are holding dict_operation_lock X-latch. */ - DBUG_ASSERT(ctx->new_table->get_ref_count() == 1); + assert(ctx->new_table->get_ref_count() == 1); break; case DB_TABLESPACE_EXISTS: my_error(ER_TABLESPACE_EXISTS, MYF(0), @@ -4777,7 +4777,7 @@ default: my_error_innodb(error, table_name, flags); new_clustered_failed: - DBUG_ASSERT(ctx->trx != ctx->prebuilt->trx); + assert(ctx->trx != ctx->prebuilt->trx); trx_rollback_to_savepoint(ctx->trx, NULL); ut_ad(user_table->get_ref_count() == 1); @@ -4805,9 +4805,9 @@ add_cols, ctx->heap); ctx->add_cols = add_cols; } else { - DBUG_ASSERT(!innobase_need_rebuild(ha_alter_info)); - DBUG_ASSERT(old_table->s->primary_key - == altered_table->s->primary_key); + assert(!innobase_need_rebuild(ha_alter_info)); + assert(old_table->s->primary_key + == altered_table->s->primary_key); for (dict_index_t* index = dict_table_get_first_index(user_table); @@ -4842,7 +4842,7 @@ /* Assign table_id, so that no table id of fts_create_index_tables() will be written to the undo logs. */ - DBUG_ASSERT(ctx->new_table->id != 0); + assert(ctx->new_table->id != 0); ctx->trx->table_id = ctx->new_table->id; /* Create the indexes in SYS_INDEXES and load into dictionary. */ @@ -4864,17 +4864,17 @@ if (!ctx->add_index[a]) { error = ctx->trx->error_state; - DBUG_ASSERT(error != DB_SUCCESS); + assert(error != DB_SUCCESS); goto error_handling; } - DBUG_ASSERT(ctx->add_index[a]->is_committed() - == !!new_clustered); + assert(ctx->add_index[a]->is_committed() + == !!new_clustered); if (ctx->add_index[a]->type & DICT_FTS) { - DBUG_ASSERT(num_fts_index); - DBUG_ASSERT(!fts_index); - DBUG_ASSERT(ctx->add_index[a]->type == DICT_FTS); + assert(num_fts_index); + assert(!fts_index); + assert(ctx->add_index[a]->type == DICT_FTS); fts_index = ctx->add_index[a]; } @@ -4925,7 +4925,7 @@ ctx->col_map, clust_index, new_clust_index); DBUG_EXECUTE_IF("innodb_alter_table_pk_assert_no_sort", - DBUG_ASSERT(ctx->skip_pk_sort);); + assert(ctx->skip_pk_sort);); if (ctx->online) { /* Allocate a log for online table rebuild. */ @@ -4977,7 +4977,7 @@ ctx->new_table->fts_doc_id_index = dict_table_get_index_on_name( ctx->new_table, FTS_DOC_ID_INDEX_NAME); - DBUG_ASSERT(ctx->new_table->fts_doc_id_index != NULL); + assert(ctx->new_table->fts_doc_id_index != NULL); } /* This function will commit the transaction and reset @@ -5027,7 +5027,7 @@ ut_ad(trx_get_dict_operation(ctx->trx) == op); } - DBUG_ASSERT(error == DB_SUCCESS); + assert(error == DB_SUCCESS); /* Commit the data dictionary transaction in order to release the table locks on the system tables. This means that if @@ -5110,7 +5110,7 @@ /* n_ref_count must be 1, because purge cannot be executing on this very table as we are holding dict_operation_lock X-latch. */ - DBUG_ASSERT(user_table->get_ref_count() == 1 || ctx->online); + assert(user_table->get_ref_count() == 1 || ctx->online); online_retry_drop_indexes_with_trx(user_table, ctx->trx); } else { @@ -5126,8 +5126,8 @@ #ifdef UNIV_DEBUG /* Clear the to_be_dropped flag in the data dictionary cache. */ for (ulint i = 0; i < ctx->num_to_drop_index; i++) { - DBUG_ASSERT(ctx->drop_index[i]->is_committed()); - DBUG_ASSERT(ctx->drop_index[i]->to_be_dropped); + assert(ctx->drop_index[i]->is_committed()); + assert(ctx->drop_index[i]->to_be_dropped); ctx->drop_index[i]->to_be_dropped = 0; } #endif /* UNIV_DEBUG */ @@ -5516,9 +5516,9 @@ mem_heap_t* s_heap = NULL; DBUG_ENTER("prepare_inplace_alter_table"); - DBUG_ASSERT(!ha_alter_info->handler_ctx); - DBUG_ASSERT(ha_alter_info->create_info); - DBUG_ASSERT(!srv_read_only_mode); + assert(!ha_alter_info->handler_ctx); + assert(ha_alter_info->create_info); + assert(!srv_read_only_mode); MONITOR_ATOMIC_INC(MONITOR_PENDING_ALTER_TABLE); @@ -5537,7 +5537,7 @@ if (!(ha_alter_info->handler_flags & ~INNOBASE_INPLACE_IGNORE)) { /* Nothing to do */ - DBUG_ASSERT(m_prebuilt->trx->dict_operation_lock_mode == 0); + assert(m_prebuilt->trx->dict_operation_lock_mode == 0); if (ha_alter_info->handler_flags & ~INNOBASE_INPLACE_IGNORE) { online_retry_drop_indexes( @@ -5609,7 +5609,7 @@ ha_alter_info->key_info_buffer, ha_alter_info->key_count)) { err_exit_no_heap: - DBUG_ASSERT(m_prebuilt->trx->dict_operation_lock_mode == 0); + assert(m_prebuilt->trx->dict_operation_lock_mode == 0); if (ha_alter_info->handler_flags & ~INNOBASE_INPLACE_IGNORE) { online_retry_drop_indexes( @@ -5703,11 +5703,11 @@ /* The column length does not matter for fulltext search indexes. But, UNIQUE fulltext indexes are not supported. */ - DBUG_ASSERT(!(key->flags & HA_NOSAME)); - DBUG_ASSERT(!(key->flags & HA_KEYFLAG_MASK - & ~(HA_FULLTEXT - | HA_PACK_KEY - | HA_BINARY_PACK_KEY))); + assert(!(key->flags & HA_NOSAME)); + assert(!(key->flags & HA_KEYFLAG_MASK + & ~(HA_FULLTEXT + | HA_PACK_KEY + | HA_BINARY_PACK_KEY))); add_fts_idx = true; continue; } @@ -5737,8 +5737,8 @@ index; index = dict_table_get_next_index(index)) { if (index->type & DICT_FTS) { - DBUG_ASSERT(index->type == DICT_FTS - || (index->type & DICT_CORRUPT)); + assert(index->type == DICT_FTS + || (index->type & DICT_CORRUPT)); /* We need to drop any corrupted fts indexes before we add a new fts index. */ @@ -5788,7 +5788,7 @@ if (ha_alter_info->handler_flags & Alter_inplace_info::DROP_FOREIGN_KEY) { - DBUG_ASSERT(ha_alter_info->alter_info->drop_list.elements > 0); + assert(ha_alter_info->alter_info->drop_list.elements > 0); drop_fk = static_cast( mem_heap_alloc( @@ -5812,7 +5812,7 @@ dict_foreign_t* foreign = *it; const char* fid = strchr(foreign->id, '/'); - DBUG_ASSERT(fid); + assert(fid); /* If no database/ prefix was present in the FOREIGN KEY constraint name, compare to the full constraint name. */ @@ -5832,10 +5832,10 @@ continue; } - DBUG_ASSERT(n_drop_fk > 0); + assert(n_drop_fk > 0); - DBUG_ASSERT(n_drop_fk - == ha_alter_info->alter_info->drop_list.elements); + assert(n_drop_fk + == ha_alter_info->alter_info->drop_list.elements); } else { drop_fk = NULL; } @@ -5843,10 +5843,10 @@ if (ha_alter_info->index_drop_count) { dict_index_t* drop_primary = NULL; - DBUG_ASSERT(ha_alter_info->handler_flags - & (Alter_inplace_info::DROP_INDEX - | Alter_inplace_info::DROP_UNIQUE_INDEX - | Alter_inplace_info::DROP_PK_INDEX)); + assert(ha_alter_info->handler_flags + & (Alter_inplace_info::DROP_INDEX + | Alter_inplace_info::DROP_UNIQUE_INDEX + | Alter_inplace_info::DROP_PK_INDEX)); /* Check which indexes to drop. */ drop_index = static_cast( mem_heap_alloc( @@ -5894,7 +5894,7 @@ goto check_if_can_drop_indexes; } - DBUG_ASSERT(!fts_doc_index->to_be_dropped); + assert(!fts_doc_index->to_be_dropped); for (uint i = 0; i < table->s->keys; i++) { if (!my_strcasecmp( @@ -6066,7 +6066,7 @@ col_names, ULINT_UNDEFINED, 0, 0, 0); } - DBUG_ASSERT(m_prebuilt->trx->dict_operation_lock_mode == 0); + assert(m_prebuilt->trx->dict_operation_lock_mode == 0); if (ha_alter_info->handler_flags & ~INNOBASE_INPLACE_IGNORE) { online_retry_drop_indexes( @@ -6127,7 +6127,7 @@ FTS_DOC_ID_INDEX_NAME); goto err_exit; case FTS_EXIST_DOC_ID_INDEX: - DBUG_ASSERT( + assert( doc_col_no == fts_doc_col_no || doc_col_no == ULINT_UNDEFINED || (ha_alter_info->handler_flags @@ -6145,7 +6145,7 @@ while (const Create_field* new_field = cf_it++) { const Field* field; - DBUG_ASSERT(i < altered_table->s->fields); + assert(i < altered_table->s->fields); for (uint old_i = 0; table->field[old_i]; old_i++) { if (new_field->field == table->field[old_i]) { @@ -6154,15 +6154,15 @@ } /* This is an added column. */ - DBUG_ASSERT(!new_field->field); - DBUG_ASSERT(ha_alter_info->handler_flags - & Alter_inplace_info::ADD_COLUMN); + assert(!new_field->field); + assert(ha_alter_info->handler_flags + & Alter_inplace_info::ADD_COLUMN); field = altered_table->field[i]; - DBUG_ASSERT((MTYP_TYPENR(field->unireg_check) - == Field::NEXT_NUMBER) - == !!(field->flags & AUTO_INCREMENT_FLAG)); + assert((MTYP_TYPENR(field->unireg_check) + == Field::NEXT_NUMBER) + == !!(field->flags & AUTO_INCREMENT_FLAG)); if (field->flags & AUTO_INCREMENT_FLAG) { if (add_autoinc_col_no != ULINT_UNDEFINED) { @@ -6186,9 +6186,9 @@ i++; } - DBUG_ASSERT(heap); - DBUG_ASSERT(m_user_thd == m_prebuilt->trx->mysql_thd); - DBUG_ASSERT(!ha_alter_info->handler_ctx); + assert(heap); + assert(m_user_thd == m_prebuilt->trx->mysql_thd); + assert(!ha_alter_info->handler_ctx); ha_alter_info->handler_ctx = new ha_innobase_inplace_ctx( (*m_prebuilt_ptr), @@ -6321,7 +6321,7 @@ struct TABLE* eval_table = altered_table; bool rebuild_templ = false; DBUG_ENTER("inplace_alter_table"); - DBUG_ASSERT(!srv_read_only_mode); + assert(!srv_read_only_mode); ut_ad(!rw_lock_own(dict_operation_lock, RW_LOCK_X)); ut_ad(!rw_lock_own(dict_operation_lock, RW_LOCK_S)); @@ -6344,9 +6344,9 @@ = static_cast (ha_alter_info->handler_ctx); - DBUG_ASSERT(ctx); - DBUG_ASSERT(ctx->trx); - DBUG_ASSERT(ctx->prebuilt == m_prebuilt); + assert(ctx); + assert(ctx->trx); + assert(ctx->prebuilt == m_prebuilt); dict_index_t* pk = dict_table_get_first_index(m_prebuilt->table); ut_ad(pk != NULL); @@ -6437,9 +6437,9 @@ ctx->add_autoinc, ctx->sequence, ctx->skip_pk_sort, ctx->m_stage, add_v, eval_table); -#ifndef DBUG_OFF +#ifndef NDEBUG oom: -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ if (error == DB_SUCCESS && ctx->online && ctx->need_rebuild()) { DEBUG_SYNC_C("row_log_table_apply1_before"); error = row_log_table_apply( @@ -6490,14 +6490,14 @@ } else { /* Check if there is generated cluster index column */ if (ctx->num_to_add_index > ha_alter_info->key_count) { - DBUG_ASSERT(m_prebuilt->trx->error_key_num - <= ha_alter_info->key_count); + assert(m_prebuilt->trx->error_key_num + <= ha_alter_info->key_count); dup_key = &ha_alter_info->key_info_buffer[ m_prebuilt->trx->error_key_num - 1]; } else { - DBUG_ASSERT(m_prebuilt->trx->error_key_num - < ha_alter_info->key_count); + assert(m_prebuilt->trx->error_key_num + < ha_alter_info->key_count); dup_key = &ha_alter_info->key_info_buffer[ m_prebuilt->trx->error_key_num]; } @@ -6505,7 +6505,7 @@ print_keydup_error(altered_table, dup_key, MYF(0)); break; case DB_ONLINE_LOG_TOO_BIG: - DBUG_ASSERT(ctx->online); + assert(ctx->online); my_error(ER_INNODB_ONLINE_LOG_TOO_BIG, MYF(0), get_error_key_name(m_prebuilt->trx->error_key_num, ha_alter_info, m_prebuilt->table)); @@ -6552,8 +6552,8 @@ DEBUG_SYNC_C("innodb_online_rebuild_log_free_aborted"); } - DBUG_ASSERT(dict_index_get_online_status(clust_index) - == ONLINE_INDEX_COMPLETE); + assert(dict_index_get_online_status(clust_index) + == ONLINE_INDEX_COMPLETE); rw_lock_x_unlock(&clust_index->lock); } @@ -6658,9 +6658,9 @@ fail = true; } } else { - DBUG_ASSERT(!(ha_alter_info->handler_flags - & Alter_inplace_info::ADD_PK_INDEX)); - DBUG_ASSERT(ctx->new_table == prebuilt->table); + assert(!(ha_alter_info->handler_flags + & Alter_inplace_info::ADD_PK_INDEX)); + assert(ctx->new_table == prebuilt->table); innobase_rollback_sec_index( prebuilt->table, table, FALSE, ctx->trx); @@ -6671,16 +6671,16 @@ trx_free_for_mysql(ctx->trx); func_exit: -#ifndef DBUG_OFF +#ifndef NDEBUG dict_index_t* clust_index = dict_table_get_first_index( prebuilt->table); - DBUG_ASSERT(!clust_index->online_log); - DBUG_ASSERT(dict_index_get_online_status(clust_index) - == ONLINE_INDEX_COMPLETE); -#endif /* !DBUG_OFF */ + assert(!clust_index->online_log); + assert(dict_index_get_online_status(clust_index) + == ONLINE_INDEX_COMPLETE); +#endif /* !NDEBUG */ if (ctx) { - DBUG_ASSERT(ctx->prebuilt == prebuilt); + assert(ctx->prebuilt == prebuilt); if (ctx->num_to_add_fk) { for (ulint i = 0; i < ctx->num_to_add_fk; i++) { @@ -6698,7 +6698,7 @@ commit_inplace_alter_table(). */ for (ulint i = 0; i < ctx->num_to_drop_index; i++) { dict_index_t* index = ctx->drop_index[i]; - DBUG_ASSERT(index->is_committed()); + assert(index->is_committed()); index->to_be_dropped = 0; } @@ -6729,7 +6729,7 @@ { DBUG_ENTER("innobase_drop_foreign_try"); - DBUG_ASSERT(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX); + assert(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX); ut_ad(trx->dict_operation_lock_mode == RW_X_LATCH); ut_ad(mutex_own(&dict_sys->mutex)); ut_ad(rw_lock_own(dict_operation_lock, RW_LOCK_X)); @@ -6792,7 +6792,7 @@ DBUG_ENTER("innobase_rename_column_try"); - DBUG_ASSERT(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX); + assert(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX); ut_ad(trx->dict_operation_lock_mode == RW_X_LATCH); ut_ad(mutex_own(&dict_sys->mutex)); ut_ad(rw_lock_own(dict_operation_lock, RW_LOCK_X)); @@ -6997,9 +6997,9 @@ uint i = 0; ulint num_v = 0; - DBUG_ASSERT(ctx); - DBUG_ASSERT(ha_alter_info->handler_flags - & Alter_inplace_info::ALTER_COLUMN_NAME); + assert(ctx); + assert(ha_alter_info->handler_flags + & Alter_inplace_info::ALTER_COLUMN_NAME); for (Field** fp = table->field; *fp; fp++, i++) { bool is_virtual = innobase_is_v_fld(*fp); @@ -7071,7 +7071,7 @@ DBUG_ENTER("innobase_enlarge_column_try"); - DBUG_ASSERT(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX); + assert(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX); ut_ad(trx->dict_operation_lock_mode == RW_X_LATCH); ut_ad(mutex_own(&dict_sys->mutex)); ut_ad(rw_lock_own(dict_operation_lock, RW_LOCK_X)); @@ -7363,7 +7363,7 @@ ulint i; DBUG_ENTER("innobase_update_foreign_try"); - DBUG_ASSERT(ctx); + assert(ctx); foreign_id = dict_table_get_highest_foreign_id(ctx->new_table); @@ -7419,7 +7419,7 @@ for (i = 0; i < ctx->num_to_drop_fk; i++) { dict_foreign_t* fk = ctx->drop_fk[i]; - DBUG_ASSERT(fk->foreign_table == ctx->old_table); + assert(fk->foreign_table == ctx->old_table); if (innobase_drop_foreign_try(trx, table_name, fk->id)) { DBUG_RETURN(true); @@ -7461,9 +7461,9 @@ /* The rebuilt table is already using the renamed column names. No need to pass col_names or to drop constraints from the data dictionary cache. */ - DBUG_ASSERT(!ctx->col_names); - DBUG_ASSERT(user_table->foreign_set.empty()); - DBUG_ASSERT(user_table->referenced_set.empty()); + assert(!ctx->col_names); + assert(user_table->foreign_set.empty()); + assert(user_table->referenced_set.empty()); user_table = ctx->new_table; } else { /* Drop the foreign key constraints if the @@ -7563,18 +7563,18 @@ dict_table_t* user_table = ctx->old_table; DBUG_ENTER("commit_try_rebuild"); - DBUG_ASSERT(ctx->need_rebuild()); - DBUG_ASSERT(trx->dict_operation_lock_mode == RW_X_LATCH); - DBUG_ASSERT(!(ha_alter_info->handler_flags - & Alter_inplace_info::DROP_FOREIGN_KEY) - || ctx->num_to_drop_fk > 0); + assert(ctx->need_rebuild()); + assert(trx->dict_operation_lock_mode == RW_X_LATCH); + assert(!(ha_alter_info->handler_flags + & Alter_inplace_info::DROP_FOREIGN_KEY) + || ctx->num_to_drop_fk > 0); for (dict_index_t* index = dict_table_get_first_index(rebuilt_table); index; index = dict_table_get_next_index(index)) { - DBUG_ASSERT(dict_index_get_online_status(index) - == ONLINE_INDEX_COMPLETE); - DBUG_ASSERT(index->is_committed()); + assert(dict_index_get_online_status(index) + == ONLINE_INDEX_COMPLETE); + assert(index->is_committed()); if (dict_index_is_corrupted(index)) { my_error(ER_INDEX_CORRUPT, MYF(0), index->name()); DBUG_RETURN(true); @@ -7591,9 +7591,9 @@ of user_table. */ for (ulint i = 0; i < ctx->num_to_drop_index; i++) { dict_index_t* index = ctx->drop_index[i]; - DBUG_ASSERT(index->table == user_table); - DBUG_ASSERT(index->is_committed()); - DBUG_ASSERT(index->to_be_dropped); + assert(index->table == user_table); + assert(index->is_committed()); + assert(index->to_be_dropped); index->to_be_dropped = 0; } @@ -7643,14 +7643,14 @@ } else { /* Check if there is generated cluster index column */ if (ctx->num_to_add_index > ha_alter_info->key_count) { - DBUG_ASSERT(err_key <= - ha_alter_info->key_count); + assert(err_key <= + ha_alter_info->key_count); dup_key = &ha_alter_info ->key_info_buffer[err_key - 1]; } else { - DBUG_ASSERT(err_key < - ha_alter_info->key_count); + assert(err_key < + ha_alter_info->key_count); dup_key = &ha_alter_info ->key_info_buffer[err_key]; } @@ -7700,7 +7700,7 @@ user_table, rebuilt_table, ctx->tmp_name, trx); /* We must be still holding a table handle. */ - DBUG_ASSERT(user_table->get_ref_count() >= 1); + assert(user_table->get_ref_count() >= 1); DBUG_EXECUTE_IF("ib_ddl_crash_after_rename", DBUG_SUICIDE();); DBUG_EXECUTE_IF("ib_rebuild_cannot_rename", error = DB_ERROR;); @@ -7749,9 +7749,9 @@ DBUG_ENTER("commit_cache_rebuild"); DEBUG_SYNC_C("commit_cache_rebuild"); - DBUG_ASSERT(ctx->need_rebuild()); - DBUG_ASSERT(dict_table_is_discarded(ctx->old_table) - == dict_table_is_discarded(ctx->new_table)); + assert(ctx->need_rebuild()); + assert(dict_table_is_discarded(ctx->old_table) + == dict_table_is_discarded(ctx->new_table)); const char* old_name = mem_heap_strdup( ctx->heap, ctx->old_table->name.m_name); @@ -7832,21 +7832,21 @@ const char* table_name) { DBUG_ENTER("commit_try_norebuild"); - DBUG_ASSERT(!ctx->need_rebuild()); - DBUG_ASSERT(trx->dict_operation_lock_mode == RW_X_LATCH); - DBUG_ASSERT(!(ha_alter_info->handler_flags - & Alter_inplace_info::DROP_FOREIGN_KEY) - || ctx->num_to_drop_fk > 0); - DBUG_ASSERT(ctx->num_to_drop_fk - == ha_alter_info->alter_info->drop_list.elements - || ctx->num_to_drop_vcol - == ha_alter_info->alter_info->drop_list.elements); + assert(!ctx->need_rebuild()); + assert(trx->dict_operation_lock_mode == RW_X_LATCH); + assert(!(ha_alter_info->handler_flags + & Alter_inplace_info::DROP_FOREIGN_KEY) + || ctx->num_to_drop_fk > 0); + assert(ctx->num_to_drop_fk + == ha_alter_info->alter_info->drop_list.elements + || ctx->num_to_drop_vcol + == ha_alter_info->alter_info->drop_list.elements); for (ulint i = 0; i < ctx->num_to_add_index; i++) { dict_index_t* index = ctx->add_index[i]; - DBUG_ASSERT(dict_index_get_online_status(index) - == ONLINE_INDEX_COMPLETE); - DBUG_ASSERT(!index->is_committed()); + assert(dict_index_get_online_status(index) + == ONLINE_INDEX_COMPLETE); + assert(!index->is_committed()); if (dict_index_is_corrupted(index)) { /* Report a duplicate key error for the index that was @@ -7874,9 +7874,9 @@ /* We altered the table in place. Mark the indexes as committed. */ for (ulint i = 0; i < ctx->num_to_add_index; i++) { dict_index_t* index = ctx->add_index[i]; - DBUG_ASSERT(dict_index_get_online_status(index) - == ONLINE_INDEX_COMPLETE); - DBUG_ASSERT(!index->is_committed()); + assert(dict_index_get_online_status(index) + == ONLINE_INDEX_COMPLETE); + assert(!index->is_committed()); error = row_merge_rename_index_to_add( trx, ctx->new_table->id, index->id); switch (error) { @@ -7888,14 +7888,14 @@ probably be corrupted. This is because a 'trigger' on SYS_INDEXES could already have invoked btr_free_if_exists(), which cannot be rolled back. */ - DBUG_ASSERT(trx->undo_no == 0); + assert(trx->undo_no == 0); my_error(ER_TOO_MANY_CONCURRENT_TRXS, MYF(0)); DBUG_RETURN(true); default: sql_print_error( "InnoDB: rename index to add: %lu\n", (ulong) error); - DBUG_ASSERT(0); + assert(0); my_error(ER_INTERNAL_ERROR, MYF(0), "rename index to add"); DBUG_RETURN(true); @@ -7907,9 +7907,9 @@ for (ulint i = 0; i < ctx->num_to_drop_index; i++) { dict_index_t* index = ctx->drop_index[i]; - DBUG_ASSERT(index->is_committed()); - DBUG_ASSERT(index->table == ctx->new_table); - DBUG_ASSERT(index->to_be_dropped); + assert(index->is_committed()); + assert(index->table == ctx->new_table); + assert(index->to_be_dropped); error = row_merge_rename_index_to_drop( trx, index->table->id, index->id); @@ -7917,7 +7917,7 @@ sql_print_error( "InnoDB: rename index to drop: %lu\n", (ulong) error); - DBUG_ASSERT(0); + assert(0); my_error(ER_INTERNAL_ERROR, MYF(0), "rename index to drop"); DBUG_RETURN(true); @@ -7982,7 +7982,7 @@ bool found = true; - DBUG_ASSERT(!ctx->need_rebuild()); + assert(!ctx->need_rebuild()); col_set drop_list; col_set v_drop_list; @@ -8010,9 +8010,9 @@ for (ulint i = 0; i < ctx->num_to_add_index; i++) { dict_index_t* index = ctx->add_index[i]; - DBUG_ASSERT(dict_index_get_online_status(index) - == ONLINE_INDEX_COMPLETE); - DBUG_ASSERT(!index->is_committed()); + assert(dict_index_get_online_status(index) + == ONLINE_INDEX_COMPLETE); + assert(!index->is_committed()); index->set_committed(true); } @@ -8028,9 +8028,9 @@ for (ulint i = 0; i < ctx->num_to_drop_index; i++) { dict_index_t* index = ctx->drop_index[i]; - DBUG_ASSERT(index->is_committed()); - DBUG_ASSERT(index->table == ctx->new_table); - DBUG_ASSERT(index->to_be_dropped); + assert(index->is_committed()); + assert(index->table == ctx->new_table); + assert(index->to_be_dropped); /* Replace the indexes in foreign key constraints if needed. */ @@ -8052,14 +8052,14 @@ for (ulint i = 0; i < ctx->num_to_drop_index; i++) { dict_index_t* index = ctx->drop_index[i]; - DBUG_ASSERT(index->is_committed()); - DBUG_ASSERT(index->table == ctx->new_table); + assert(index->is_committed()); + assert(index->table == ctx->new_table); if (index->type & DICT_FTS) { - DBUG_ASSERT(index->type == DICT_FTS - || (index->type - & DICT_CORRUPT)); - DBUG_ASSERT(index->table->fts); + assert(index->type == DICT_FTS + || (index->type + & DICT_CORRUPT)); + assert(index->table->fts); fts_drop_index(index->table, index, trx); } @@ -8077,8 +8077,8 @@ #ifdef UNIV_DEBUG if (!(ctx->new_table->fts != NULL && ctx->new_table->fts->cache->sync->in_progress)) { - DBUG_ASSERT((ctx->new_table->fts == NULL) - == (ctx->new_table->fts_doc_id_index == NULL)); + assert((ctx->new_table->fts == NULL) + == (ctx->new_table->fts_doc_id_index == NULL)); } #endif DBUG_RETURN(found); @@ -8106,7 +8106,7 @@ ulint i; DBUG_ENTER("alter_stats_norebuild"); - DBUG_ASSERT(!ctx->need_rebuild()); + assert(!ctx->need_rebuild()); if (!dict_stats_is_persistent_enabled(ctx->new_table)) { DBUG_VOID_RETURN; @@ -8172,7 +8172,7 @@ for (i = 0; i < ctx->num_to_add_index; i++) { dict_index_t* index = ctx->add_index[i]; - DBUG_ASSERT(index->table == ctx->new_table); + assert(index->table == ctx->new_table); if (!(index->type & DICT_FTS)) { dict_stats_init(ctx->new_table); @@ -8205,9 +8205,9 @@ DBUG_VOID_RETURN; } -#ifndef DBUG_OFF +#ifndef NDEBUG bool ibd_file_missing_orig = false; -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ DBUG_EXECUTE_IF( "ib_rename_index_fail2", @@ -8235,7 +8235,7 @@ DBUG_VOID_RETURN; } -#ifndef DBUG_OFF +#ifndef NDEBUG # define DBUG_INJECT_CRASH(prefix, count) \ do { \ char buf[32]; \ @@ -8275,16 +8275,16 @@ ctx0 = static_cast (ha_alter_info->handler_ctx); -#ifndef DBUG_OFF +#ifndef NDEBUG uint crash_inject_count = 1; uint crash_fail_inject_count = 1; uint failure_inject_count = 1; -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ DBUG_ENTER("commit_inplace_alter_table"); - DBUG_ASSERT(!srv_read_only_mode); - DBUG_ASSERT(!ctx0 || ctx0->prebuilt == m_prebuilt); - DBUG_ASSERT(!ctx0 || ctx0->old_table == m_prebuilt->table); + assert(!srv_read_only_mode); + assert(!ctx0 || ctx0->prebuilt == m_prebuilt); + assert(!ctx0 || ctx0->old_table == m_prebuilt->table); DEBUG_SYNC_C("innodb_commit_inplace_alter_table_enter"); @@ -8305,13 +8305,13 @@ } if (!(ha_alter_info->handler_flags & ~INNOBASE_INPLACE_IGNORE)) { - DBUG_ASSERT(!ctx0); + assert(!ctx0); MONITOR_ATOMIC_DEC(MONITOR_PENDING_ALTER_TABLE); ha_alter_info->group_commit_ctx = NULL; DBUG_RETURN(false); } - DBUG_ASSERT(ctx0); + assert(ctx0); inplace_alter_handler_ctx** ctx_array; inplace_alter_handler_ctx* ctx_single[2]; @@ -8324,7 +8324,7 @@ ctx_array = ctx_single; } - DBUG_ASSERT(ctx0 == ctx_array[0]); + assert(ctx0 == ctx_array[0]); ut_ad(m_prebuilt->table == ctx0->old_table); ha_alter_info->group_commit_ctx = NULL; @@ -8348,7 +8348,7 @@ for (inplace_alter_handler_ctx** pctx = ctx_array; *pctx; pctx++) { ha_innobase_inplace_ctx* ctx = static_cast(*pctx); - DBUG_ASSERT(ctx->prebuilt->trx == m_prebuilt->trx); + assert(ctx->prebuilt->trx == m_prebuilt->trx); /* Exclusively lock the table, to ensure that no other transaction is holding locks on the table while we @@ -8380,7 +8380,7 @@ ha_innobase_inplace_ctx* ctx = static_cast(*pctx); - DBUG_ASSERT(new_clustered == ctx->need_rebuild()); + assert(new_clustered == ctx->need_rebuild()); if (new_clustered) { if (ctx->old_table->fts) { @@ -8396,7 +8396,7 @@ } if (!trx) { - DBUG_ASSERT(!new_clustered); + assert(!new_clustered); trx = innobase_trx_allocate(m_user_thd); } @@ -8417,7 +8417,7 @@ ha_innobase_inplace_ctx* ctx = static_cast(*pctx); - DBUG_ASSERT(new_clustered == ctx->need_rebuild()); + assert(new_clustered == ctx->need_rebuild()); if (new_clustered && !dict_stats_stop_bg(ctx->old_table)) { @@ -8444,7 +8444,7 @@ ha_innobase_inplace_ctx* ctx = static_cast(*pctx); - DBUG_ASSERT(new_clustered == ctx->need_rebuild()); + assert(new_clustered == ctx->need_rebuild()); if (commit_get_autoinc(ha_alter_info, ctx, altered_table, table)) { @@ -8468,7 +8468,7 @@ } DBUG_INJECT_CRASH("ib_commit_inplace_crash", crash_inject_count++); -#ifndef DBUG_OFF +#ifndef NDEBUG { /* Generate a dynamic dbug text. */ char buf[32]; @@ -8501,7 +8501,7 @@ ha_innobase_inplace_ctx* ctx = static_cast(*pctx); - DBUG_ASSERT(ctx->need_rebuild()); + assert(ctx->need_rebuild()); /* Check for any possible problems for any file operations that will be performed in commit_cache_rebuild(), and if none, generate @@ -8591,7 +8591,7 @@ ha_innobase_inplace_ctx* ctx = static_cast(*pctx); - DBUG_ASSERT(ctx->need_rebuild() == new_clustered); + assert(ctx->need_rebuild() == new_clustered); if (new_clustered) { innobase_online_rebuild_log_free(ctx->old_table); @@ -8630,7 +8630,7 @@ ha_innobase_inplace_ctx* ctx = static_cast(*pctx); - DBUG_ASSERT(new_clustered == ctx->need_rebuild()); + assert(new_clustered == ctx->need_rebuild()); if (dict_fts_index_syncing(ctx->old_table)) { retry = true; @@ -8747,7 +8747,7 @@ ha_innobase_inplace_ctx* ctx = static_cast (*pctx); - DBUG_ASSERT(ctx->need_rebuild() == new_clustered); + assert(ctx->need_rebuild() == new_clustered); ut_d(dict_table_check_for_dup_indexes( ctx->old_table, @@ -8827,7 +8827,7 @@ ha_innobase_inplace_ctx* ctx = static_cast (*pctx); - DBUG_ASSERT(ctx->need_rebuild() == new_clustered); + assert(ctx->need_rebuild() == new_clustered); if (altered_table->found_next_number_field) { dict_table_t* t = ctx->new_table; @@ -8846,7 +8846,7 @@ dict_index_t* index = ctx->add_index[i]; if (index->type & DICT_FTS) { - DBUG_ASSERT(index->type == DICT_FTS); + assert(index->type == DICT_FTS); /* We reset DICT_TF2_FTS here because the bit is left unset when a drop proceeds the add. */ DICT_TF2_FLAG_SET(ctx->new_table, DICT_TF2_FTS); @@ -8878,8 +8878,8 @@ char errstr[1024]; - DBUG_ASSERT(0 == strcmp(ctx->old_table->name.m_name, - ctx->tmp_name)); + assert(0 == strcmp(ctx->old_table->name.m_name, + ctx->tmp_name)); DBUG_EXECUTE_IF( "ib_rename_index_fail3", @@ -8963,7 +8963,7 @@ ha_innobase_inplace_ctx* ctx = static_cast (*pctx); - DBUG_ASSERT(ctx->need_rebuild()); + assert(ctx->need_rebuild()); alter_stats_rebuild( ctx->new_table, table->s->table_name.str, @@ -8977,7 +8977,7 @@ ha_innobase_inplace_ctx* ctx = static_cast (*pctx); - DBUG_ASSERT(!ctx->need_rebuild()); + assert(!ctx->need_rebuild()); alter_stats_norebuild( ha_alter_info, ctx, altered_table, @@ -8997,19 +8997,19 @@ /* TODO: Also perform DROP TABLE and DROP INDEX after the MDL downgrade. */ -#ifndef DBUG_OFF +#ifndef NDEBUG dict_index_t* clust_index = dict_table_get_first_index( ctx0->prebuilt->table); - DBUG_ASSERT(!clust_index->online_log); - DBUG_ASSERT(dict_index_get_online_status(clust_index) - == ONLINE_INDEX_COMPLETE); + assert(!clust_index->online_log); + assert(dict_index_get_online_status(clust_index) + == ONLINE_INDEX_COMPLETE); for (dict_index_t* index = clust_index; index; index = dict_table_get_next_index(index)) { - DBUG_ASSERT(!index->to_be_dropped); + assert(!index->to_be_dropped); } -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ MONITOR_ATOMIC_DEC(MONITOR_PENDING_ALTER_TABLE); DBUG_RETURN(false); } @@ -9065,7 +9065,7 @@ Alter_inplace_info* ha_alter_info) { DBUG_ENTER("ha_innopart::check_if_supported_inplace_alter"); - DBUG_ASSERT(ha_alter_info->handler_ctx == NULL); + assert(ha_alter_info->handler_ctx == NULL); /* Not supporting these for partitioned tables yet! */ @@ -9087,11 +9087,11 @@ &ha_alter_info->key_info_buffer[ ha_alter_info->index_add_buffer[i]]; if (key->flags & HA_FULLTEXT) { - DBUG_ASSERT(!(key->flags & HA_KEYFLAG_MASK - & ~(HA_FULLTEXT - | HA_PACK_KEY - | HA_GENERATED_KEY - | HA_BINARY_PACK_KEY))); + assert(!(key->flags & HA_KEYFLAG_MASK + & ~(HA_FULLTEXT + | HA_PACK_KEY + | HA_GENERATED_KEY + | HA_BINARY_PACK_KEY))); ha_alter_info->unsupported_reason = innobase_get_err_msg( ER_FULLTEXT_NOT_SUPPORTED_WITH_PARTITIONING); @@ -9159,7 +9159,7 @@ ha_innopart_inplace_ctx* ctx_parts; bool res = true; DBUG_ENTER("ha_innopart::prepare_inplace_alter_table"); - DBUG_ASSERT(ha_alter_info->handler_ctx == NULL); + assert(ha_alter_info->handler_ctx == NULL); thd = ha_thd(); diff -Nru mysql-5.7-5.7.33/storage/innobase/handler/i_s.cc mysql-5.7-5.7.34/storage/innobase/handler/i_s.cc --- mysql-5.7-5.7.33/storage/innobase/handler/i_s.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/handler/i_s.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -3820,7 +3820,7 @@ int ret = 0; DBUG_ENTER("i_s_fts_index_table_fill_one_index"); - DBUG_ASSERT(!dict_index_is_online_ddl(index)); + assert(!dict_index_is_online_ddl(index)); heap = mem_heap_create(1024); @@ -4119,7 +4119,7 @@ if (!ib_vector_is_empty(user_table->fts->indexes)) { index = (dict_index_t*) ib_vector_getp_const( user_table->fts->indexes, 0); - DBUG_ASSERT(!dict_index_is_online_ddl(index)); + assert(!dict_index_is_online_ddl(index)); } while (fts_config_key[i]) { diff -Nru mysql-5.7-5.7.33/storage/innobase/handler/i_s.h mysql-5.7-5.7.34/storage/innobase/handler/i_s.h --- mysql-5.7-5.7.33/storage/innobase/handler/i_s.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/handler/i_s.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ibuf/ibuf0ibuf.cc mysql-5.7-5.7.34/storage/innobase/ibuf/ibuf0ibuf.cc --- mysql-5.7-5.7.33/storage/innobase/ibuf/ibuf0ibuf.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ibuf/ibuf0ibuf.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/api0api.h mysql-5.7-5.7.34/storage/innobase/include/api0api.h --- mysql-5.7-5.7.33/storage/innobase/include/api0api.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/api0api.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/api0misc.h mysql-5.7-5.7.34/storage/innobase/include/api0misc.h --- mysql-5.7-5.7.33/storage/innobase/include/api0misc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/api0misc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2008, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/btr0btr.h mysql-5.7-5.7.34/storage/innobase/include/btr0btr.h --- mysql-5.7-5.7.33/storage/innobase/include/btr0btr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/btr0btr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/include/btr0btr.ic mysql-5.7-5.7.34/storage/innobase/include/btr0btr.ic --- mysql-5.7-5.7.33/storage/innobase/include/btr0btr.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/btr0btr.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/btr0bulk.h mysql-5.7-5.7.34/storage/innobase/include/btr0bulk.h --- mysql-5.7-5.7.33/storage/innobase/include/btr0bulk.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/btr0bulk.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/btr0cur.h mysql-5.7-5.7.34/storage/innobase/include/btr0cur.h --- mysql-5.7-5.7.33/storage/innobase/include/btr0cur.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/btr0cur.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/btr0cur.ic mysql-5.7-5.7.34/storage/innobase/include/btr0cur.ic --- mysql-5.7-5.7.33/storage/innobase/include/btr0cur.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/btr0cur.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/btr0pcur.h mysql-5.7-5.7.34/storage/innobase/include/btr0pcur.h --- mysql-5.7-5.7.33/storage/innobase/include/btr0pcur.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/btr0pcur.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/btr0pcur.ic mysql-5.7-5.7.34/storage/innobase/include/btr0pcur.ic --- mysql-5.7-5.7.33/storage/innobase/include/btr0pcur.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/btr0pcur.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/btr0sea.h mysql-5.7-5.7.34/storage/innobase/include/btr0sea.h --- mysql-5.7-5.7.33/storage/innobase/include/btr0sea.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/btr0sea.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/btr0sea.ic mysql-5.7-5.7.34/storage/innobase/include/btr0sea.ic --- mysql-5.7-5.7.33/storage/innobase/include/btr0sea.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/btr0sea.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/btr0types.h mysql-5.7-5.7.34/storage/innobase/include/btr0types.h --- mysql-5.7-5.7.33/storage/innobase/include/btr0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/btr0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0block_hint.h mysql-5.7-5.7.34/storage/innobase/include/buf0block_hint.h --- mysql-5.7-5.7.33/storage/innobase/include/buf0block_hint.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0block_hint.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2020, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, as published by the diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0buddy.h mysql-5.7-5.7.34/storage/innobase/include/buf0buddy.h --- mysql-5.7-5.7.33/storage/innobase/include/buf0buddy.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0buddy.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0buddy.ic mysql-5.7-5.7.34/storage/innobase/include/buf0buddy.ic --- mysql-5.7-5.7.33/storage/innobase/include/buf0buddy.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0buddy.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0buf.h mysql-5.7-5.7.34/storage/innobase/include/buf0buf.h --- mysql-5.7-5.7.33/storage/innobase/include/buf0buf.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0buf.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0buf.ic mysql-5.7-5.7.34/storage/innobase/include/buf0buf.ic --- mysql-5.7-5.7.33/storage/innobase/include/buf0buf.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0buf.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0checksum.h mysql-5.7-5.7.34/storage/innobase/include/buf0checksum.h --- mysql-5.7-5.7.33/storage/innobase/include/buf0checksum.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0checksum.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0dblwr.h mysql-5.7-5.7.34/storage/innobase/include/buf0dblwr.h --- mysql-5.7-5.7.33/storage/innobase/include/buf0dblwr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0dblwr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0dump.h mysql-5.7-5.7.34/storage/innobase/include/buf0dump.h --- mysql-5.7-5.7.33/storage/innobase/include/buf0dump.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0dump.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0flu.h mysql-5.7-5.7.34/storage/innobase/include/buf0flu.h --- mysql-5.7-5.7.33/storage/innobase/include/buf0flu.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0flu.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0flu.ic mysql-5.7-5.7.34/storage/innobase/include/buf0flu.ic --- mysql-5.7-5.7.33/storage/innobase/include/buf0flu.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0flu.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0lru.h mysql-5.7-5.7.34/storage/innobase/include/buf0lru.h --- mysql-5.7-5.7.33/storage/innobase/include/buf0lru.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0lru.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0lru.ic mysql-5.7-5.7.34/storage/innobase/include/buf0lru.ic --- mysql-5.7-5.7.33/storage/innobase/include/buf0lru.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0lru.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0rea.h mysql-5.7-5.7.34/storage/innobase/include/buf0rea.h --- mysql-5.7-5.7.33/storage/innobase/include/buf0rea.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0rea.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/buf0types.h mysql-5.7-5.7.34/storage/innobase/include/buf0types.h --- mysql-5.7-5.7.33/storage/innobase/include/buf0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/buf0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/data0data.h mysql-5.7-5.7.34/storage/innobase/include/data0data.h --- mysql-5.7-5.7.33/storage/innobase/include/data0data.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/data0data.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/data0data.ic mysql-5.7-5.7.34/storage/innobase/include/data0data.ic --- mysql-5.7-5.7.33/storage/innobase/include/data0data.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/data0data.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/data0type.h mysql-5.7-5.7.34/storage/innobase/include/data0type.h --- mysql-5.7-5.7.33/storage/innobase/include/data0type.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/data0type.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/data0type.ic mysql-5.7-5.7.34/storage/innobase/include/data0type.ic --- mysql-5.7-5.7.33/storage/innobase/include/data0type.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/data0type.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/data0types.h mysql-5.7-5.7.34/storage/innobase/include/data0types.h --- mysql-5.7-5.7.33/storage/innobase/include/data0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/data0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2000, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/db0err.h mysql-5.7-5.7.34/storage/innobase/include/db0err.h --- mysql-5.7-5.7.33/storage/innobase/include/db0err.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/db0err.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0boot.h mysql-5.7-5.7.34/storage/innobase/include/dict0boot.h --- mysql-5.7-5.7.33/storage/innobase/include/dict0boot.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0boot.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0boot.ic mysql-5.7-5.7.34/storage/innobase/include/dict0boot.ic --- mysql-5.7-5.7.33/storage/innobase/include/dict0boot.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0boot.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0crea.h mysql-5.7-5.7.34/storage/innobase/include/dict0crea.h --- mysql-5.7-5.7.33/storage/innobase/include/dict0crea.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0crea.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0crea.ic mysql-5.7-5.7.34/storage/innobase/include/dict0crea.ic --- mysql-5.7-5.7.33/storage/innobase/include/dict0crea.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0crea.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0dict.h mysql-5.7-5.7.34/storage/innobase/include/dict0dict.h --- mysql-5.7-5.7.33/storage/innobase/include/dict0dict.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0dict.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0dict.ic mysql-5.7-5.7.34/storage/innobase/include/dict0dict.ic --- mysql-5.7-5.7.33/storage/innobase/include/dict0dict.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0dict.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0load.h mysql-5.7-5.7.34/storage/innobase/include/dict0load.h --- mysql-5.7-5.7.33/storage/innobase/include/dict0load.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0load.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0load.ic mysql-5.7-5.7.34/storage/innobase/include/dict0load.ic --- mysql-5.7-5.7.33/storage/innobase/include/dict0load.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0load.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0mem.h mysql-5.7-5.7.34/storage/innobase/include/dict0mem.h --- mysql-5.7-5.7.33/storage/innobase/include/dict0mem.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0mem.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0mem.ic mysql-5.7-5.7.34/storage/innobase/include/dict0mem.ic --- mysql-5.7-5.7.33/storage/innobase/include/dict0mem.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0mem.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0priv.h mysql-5.7-5.7.34/storage/innobase/include/dict0priv.h --- mysql-5.7-5.7.33/storage/innobase/include/dict0priv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0priv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2010, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0priv.ic mysql-5.7-5.7.34/storage/innobase/include/dict0priv.ic --- mysql-5.7-5.7.33/storage/innobase/include/dict0priv.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0priv.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2010, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0stats_bg.h mysql-5.7-5.7.34/storage/innobase/include/dict0stats_bg.h --- mysql-5.7-5.7.33/storage/innobase/include/dict0stats_bg.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0stats_bg.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0stats_bg.ic mysql-5.7-5.7.34/storage/innobase/include/dict0stats_bg.ic --- mysql-5.7-5.7.33/storage/innobase/include/dict0stats_bg.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0stats_bg.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0stats.h mysql-5.7-5.7.34/storage/innobase/include/dict0stats.h --- mysql-5.7-5.7.33/storage/innobase/include/dict0stats.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0stats.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2009, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0stats.ic mysql-5.7-5.7.34/storage/innobase/include/dict0stats.ic --- mysql-5.7-5.7.33/storage/innobase/include/dict0stats.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0stats.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dict0types.h mysql-5.7-5.7.34/storage/innobase/include/dict0types.h --- mysql-5.7-5.7.33/storage/innobase/include/dict0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dict0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dyn0buf.h mysql-5.7-5.7.34/storage/innobase/include/dyn0buf.h --- mysql-5.7-5.7.33/storage/innobase/include/dyn0buf.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dyn0buf.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/dyn0types.h mysql-5.7-5.7.34/storage/innobase/include/dyn0types.h --- mysql-5.7-5.7.33/storage/innobase/include/dyn0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/dyn0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/eval0eval.h mysql-5.7-5.7.34/storage/innobase/include/eval0eval.h --- mysql-5.7-5.7.33/storage/innobase/include/eval0eval.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/eval0eval.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/eval0eval.ic mysql-5.7-5.7.34/storage/innobase/include/eval0eval.ic --- mysql-5.7-5.7.33/storage/innobase/include/eval0eval.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/eval0eval.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/eval0proc.h mysql-5.7-5.7.34/storage/innobase/include/eval0proc.h --- mysql-5.7-5.7.33/storage/innobase/include/eval0proc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/eval0proc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1998, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1998, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/eval0proc.ic mysql-5.7-5.7.34/storage/innobase/include/eval0proc.ic --- mysql-5.7-5.7.33/storage/innobase/include/eval0proc.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/eval0proc.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1998, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1998, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fil0fil.h mysql-5.7-5.7.34/storage/innobase/include/fil0fil.h --- mysql-5.7-5.7.33/storage/innobase/include/fil0fil.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fil0fil.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fsp0file.h mysql-5.7-5.7.34/storage/innobase/include/fsp0file.h --- mysql-5.7-5.7.33/storage/innobase/include/fsp0file.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fsp0file.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fsp0fsp.h mysql-5.7-5.7.34/storage/innobase/include/fsp0fsp.h --- mysql-5.7-5.7.33/storage/innobase/include/fsp0fsp.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fsp0fsp.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fsp0fsp.ic mysql-5.7-5.7.34/storage/innobase/include/fsp0fsp.ic --- mysql-5.7-5.7.33/storage/innobase/include/fsp0fsp.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fsp0fsp.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fsp0space.h mysql-5.7-5.7.34/storage/innobase/include/fsp0space.h --- mysql-5.7-5.7.33/storage/innobase/include/fsp0space.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fsp0space.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fsp0sysspace.h mysql-5.7-5.7.34/storage/innobase/include/fsp0sysspace.h --- mysql-5.7-5.7.33/storage/innobase/include/fsp0sysspace.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fsp0sysspace.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fsp0types.h mysql-5.7-5.7.34/storage/innobase/include/fsp0types.h --- mysql-5.7-5.7.33/storage/innobase/include/fsp0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fsp0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0ast.h mysql-5.7-5.7.34/storage/innobase/include/fts0ast.h --- mysql-5.7-5.7.33/storage/innobase/include/fts0ast.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0ast.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0blex.h mysql-5.7-5.7.34/storage/innobase/include/fts0blex.h --- mysql-5.7-5.7.33/storage/innobase/include/fts0blex.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0blex.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2010, 2020, Oracle and/or its affiliates. +Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, as published by the diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0fts.h mysql-5.7-5.7.34/storage/innobase/include/fts0fts.h --- mysql-5.7-5.7.33/storage/innobase/include/fts0fts.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0fts.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0opt.h mysql-5.7-5.7.34/storage/innobase/include/fts0opt.h --- mysql-5.7-5.7.33/storage/innobase/include/fts0opt.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0opt.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2001, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0plugin.h mysql-5.7-5.7.34/storage/innobase/include/fts0plugin.h --- mysql-5.7-5.7.33/storage/innobase/include/fts0plugin.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0plugin.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0priv.h mysql-5.7-5.7.34/storage/innobase/include/fts0priv.h --- mysql-5.7-5.7.33/storage/innobase/include/fts0priv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0priv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0priv.ic mysql-5.7-5.7.34/storage/innobase/include/fts0priv.ic --- mysql-5.7-5.7.33/storage/innobase/include/fts0priv.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0priv.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0tlex.h mysql-5.7-5.7.34/storage/innobase/include/fts0tlex.h --- mysql-5.7-5.7.33/storage/innobase/include/fts0tlex.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0tlex.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2010, 2020, Oracle and/or its affiliates. +Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, as published by the diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0tokenize.h mysql-5.7-5.7.34/storage/innobase/include/fts0tokenize.h --- mysql-5.7-5.7.33/storage/innobase/include/fts0tokenize.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0tokenize.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0types.h mysql-5.7-5.7.34/storage/innobase/include/fts0types.h --- mysql-5.7-5.7.33/storage/innobase/include/fts0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0types.ic mysql-5.7-5.7.34/storage/innobase/include/fts0types.ic --- mysql-5.7-5.7.33/storage/innobase/include/fts0types.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0types.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fts0vlc.ic mysql-5.7-5.7.34/storage/innobase/include/fts0vlc.ic --- mysql-5.7-5.7.33/storage/innobase/include/fts0vlc.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fts0vlc.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2011, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fut0fut.h mysql-5.7-5.7.34/storage/innobase/include/fut0fut.h --- mysql-5.7-5.7.33/storage/innobase/include/fut0fut.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fut0fut.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fut0fut.ic mysql-5.7-5.7.34/storage/innobase/include/fut0fut.ic --- mysql-5.7-5.7.33/storage/innobase/include/fut0fut.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fut0fut.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fut0lst.h mysql-5.7-5.7.34/storage/innobase/include/fut0lst.h --- mysql-5.7-5.7.33/storage/innobase/include/fut0lst.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fut0lst.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/fut0lst.ic mysql-5.7-5.7.34/storage/innobase/include/fut0lst.ic --- mysql-5.7-5.7.33/storage/innobase/include/fut0lst.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/fut0lst.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/gis0geo.h mysql-5.7-5.7.34/storage/innobase/include/gis0geo.h --- mysql-5.7-5.7.33/storage/innobase/include/gis0geo.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/gis0geo.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /***************************************************************************** -Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/gis0rtree.h mysql-5.7-5.7.34/storage/innobase/include/gis0rtree.h --- mysql-5.7-5.7.33/storage/innobase/include/gis0rtree.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/gis0rtree.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/gis0rtree.ic mysql-5.7-5.7.34/storage/innobase/include/gis0rtree.ic --- mysql-5.7-5.7.33/storage/innobase/include/gis0rtree.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/gis0rtree.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/gis0type.h mysql-5.7-5.7.34/storage/innobase/include/gis0type.h --- mysql-5.7-5.7.33/storage/innobase/include/gis0type.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/gis0type.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ha0ha.h mysql-5.7-5.7.34/storage/innobase/include/ha0ha.h --- mysql-5.7-5.7.33/storage/innobase/include/ha0ha.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ha0ha.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ha0ha.ic mysql-5.7-5.7.34/storage/innobase/include/ha0ha.ic --- mysql-5.7-5.7.33/storage/innobase/include/ha0ha.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ha0ha.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ha0storage.h mysql-5.7-5.7.34/storage/innobase/include/ha0storage.h --- mysql-5.7-5.7.33/storage/innobase/include/ha0storage.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ha0storage.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ha0storage.ic mysql-5.7-5.7.34/storage/innobase/include/ha0storage.ic --- mysql-5.7-5.7.33/storage/innobase/include/ha0storage.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ha0storage.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/handler0alter.h mysql-5.7-5.7.34/storage/innobase/include/handler0alter.h --- mysql-5.7-5.7.33/storage/innobase/include/handler0alter.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/handler0alter.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2005, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ha_prototypes.h mysql-5.7-5.7.34/storage/innobase/include/ha_prototypes.h --- mysql-5.7-5.7.33/storage/innobase/include/ha_prototypes.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ha_prototypes.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/hash0hash.h mysql-5.7-5.7.34/storage/innobase/include/hash0hash.h --- mysql-5.7-5.7.33/storage/innobase/include/hash0hash.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/hash0hash.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/hash0hash.ic mysql-5.7-5.7.34/storage/innobase/include/hash0hash.ic --- mysql-5.7-5.7.33/storage/innobase/include/hash0hash.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/hash0hash.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ib0mutex.h mysql-5.7-5.7.34/storage/innobase/include/ib0mutex.h --- mysql-5.7-5.7.33/storage/innobase/include/ib0mutex.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ib0mutex.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ibuf0ibuf.h mysql-5.7-5.7.34/storage/innobase/include/ibuf0ibuf.h --- mysql-5.7-5.7.33/storage/innobase/include/ibuf0ibuf.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ibuf0ibuf.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ibuf0ibuf.ic mysql-5.7-5.7.34/storage/innobase/include/ibuf0ibuf.ic --- mysql-5.7-5.7.33/storage/innobase/include/ibuf0ibuf.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ibuf0ibuf.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ibuf0types.h mysql-5.7-5.7.34/storage/innobase/include/ibuf0types.h --- mysql-5.7-5.7.33/storage/innobase/include/ibuf0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ibuf0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/lock0iter.h mysql-5.7-5.7.34/storage/innobase/include/lock0iter.h --- mysql-5.7-5.7.33/storage/innobase/include/lock0iter.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/lock0iter.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/lock0lock.h mysql-5.7-5.7.34/storage/innobase/include/lock0lock.h --- mysql-5.7-5.7.33/storage/innobase/include/lock0lock.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/lock0lock.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/lock0lock.ic mysql-5.7-5.7.34/storage/innobase/include/lock0lock.ic --- mysql-5.7-5.7.33/storage/innobase/include/lock0lock.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/lock0lock.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/lock0prdt.h mysql-5.7-5.7.34/storage/innobase/include/lock0prdt.h --- mysql-5.7-5.7.33/storage/innobase/include/lock0prdt.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/lock0prdt.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/lock0priv.h mysql-5.7-5.7.34/storage/innobase/include/lock0priv.h --- mysql-5.7-5.7.33/storage/innobase/include/lock0priv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/lock0priv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/lock0priv.ic mysql-5.7-5.7.34/storage/innobase/include/lock0priv.ic --- mysql-5.7-5.7.33/storage/innobase/include/lock0priv.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/lock0priv.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/lock0types.h mysql-5.7-5.7.34/storage/innobase/include/lock0types.h --- mysql-5.7-5.7.33/storage/innobase/include/lock0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/lock0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/log0log.h mysql-5.7-5.7.34/storage/innobase/include/log0log.h --- mysql-5.7-5.7.33/storage/innobase/include/log0log.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/log0log.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2009, Google Inc. Portions of this file contain modifications contributed and copyrighted by diff -Nru mysql-5.7-5.7.33/storage/innobase/include/log0log.ic mysql-5.7-5.7.34/storage/innobase/include/log0log.ic --- mysql-5.7-5.7.33/storage/innobase/include/log0log.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/log0log.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/log0recv.h mysql-5.7-5.7.34/storage/innobase/include/log0recv.h --- mysql-5.7-5.7.33/storage/innobase/include/log0recv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/log0recv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/log0recv.ic mysql-5.7-5.7.34/storage/innobase/include/log0recv.ic --- mysql-5.7-5.7.33/storage/innobase/include/log0recv.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/log0recv.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/log0types.h mysql-5.7-5.7.34/storage/innobase/include/log0types.h --- mysql-5.7-5.7.33/storage/innobase/include/log0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/log0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described diff -Nru mysql-5.7-5.7.33/storage/innobase/include/mach0data.h mysql-5.7-5.7.34/storage/innobase/include/mach0data.h --- mysql-5.7-5.7.33/storage/innobase/include/mach0data.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/mach0data.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/mach0data.ic mysql-5.7-5.7.34/storage/innobase/include/mach0data.ic --- mysql-5.7-5.7.33/storage/innobase/include/mach0data.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/mach0data.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/mem0mem.h mysql-5.7-5.7.34/storage/innobase/include/mem0mem.h --- mysql-5.7-5.7.33/storage/innobase/include/mem0mem.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/mem0mem.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/mem0mem.ic mysql-5.7-5.7.34/storage/innobase/include/mem0mem.ic --- mysql-5.7-5.7.33/storage/innobase/include/mem0mem.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/mem0mem.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/mtr0log.h mysql-5.7-5.7.34/storage/innobase/include/mtr0log.h --- mysql-5.7-5.7.33/storage/innobase/include/mtr0log.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/mtr0log.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/mtr0log.ic mysql-5.7-5.7.34/storage/innobase/include/mtr0log.ic --- mysql-5.7-5.7.33/storage/innobase/include/mtr0log.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/mtr0log.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/mtr0mtr.h mysql-5.7-5.7.34/storage/innobase/include/mtr0mtr.h --- mysql-5.7-5.7.33/storage/innobase/include/mtr0mtr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/mtr0mtr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/include/mtr0mtr.ic mysql-5.7-5.7.34/storage/innobase/include/mtr0mtr.ic --- mysql-5.7-5.7.33/storage/innobase/include/mtr0mtr.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/mtr0mtr.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/mtr0types.h mysql-5.7-5.7.34/storage/innobase/include/mtr0types.h --- mysql-5.7-5.7.33/storage/innobase/include/mtr0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/mtr0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/os0atomic.h mysql-5.7-5.7.34/storage/innobase/include/os0atomic.h --- mysql-5.7-5.7.33/storage/innobase/include/os0atomic.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/os0atomic.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by diff -Nru mysql-5.7-5.7.33/storage/innobase/include/os0atomic.ic mysql-5.7-5.7.34/storage/innobase/include/os0atomic.ic --- mysql-5.7-5.7.33/storage/innobase/include/os0atomic.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/os0atomic.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/os0event.h mysql-5.7-5.7.34/storage/innobase/include/os0event.h --- mysql-5.7-5.7.33/storage/innobase/include/os0event.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/os0event.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /***************************************************************************** -Copyright (c) 1995, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/os0file.h mysql-5.7-5.7.34/storage/innobase/include/os0file.h --- mysql-5.7-5.7.33/storage/innobase/include/os0file.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/os0file.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2009, Percona Inc. Portions of this file contain modifications contributed and copyrighted @@ -532,7 +532,6 @@ #define IORequestWrite IORequest(IORequest::WRITE) #define IORequestLogRead IORequest(IORequest::LOG | IORequest::READ) #define IORequestLogWrite IORequest(IORequest::LOG | IORequest::WRITE) - /** The IO Context that is passed down to the low level IO code */ class IORequest { @@ -576,7 +575,10 @@ This can be used to force a read and write without any compression e.g., for redo log, merge sort temporary files and the truncate redo log. */ - NO_COMPRESSION = 512 + NO_COMPRESSION = 512, + + /** Row log used in online DDL */ + ROW_LOG = 1024 }; /** Default constructor */ @@ -600,7 +602,7 @@ m_compression(), m_encryption() { - if (is_log()) { + if (is_log() || is_row_log()) { disable_compression(); } @@ -640,6 +642,13 @@ return((m_type & LOG) == LOG); } + /** @return true if it is a row log entry used in online DDL */ + bool is_row_log() const + MY_ATTRIBUTE((warn_unused_result)) + { + return((m_type & ROW_LOG) == ROW_LOG); + } + /** @return true if the simulated AIO thread should be woken up */ bool is_wake() const MY_ATTRIBUTE((warn_unused_result)) diff -Nru mysql-5.7-5.7.33/storage/innobase/include/os0file.ic mysql-5.7-5.7.34/storage/innobase/include/os0file.ic --- mysql-5.7-5.7.33/storage/innobase/include/os0file.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/os0file.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2010, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/os0once.h mysql-5.7-5.7.34/storage/innobase/include/os0once.h --- mysql-5.7-5.7.33/storage/innobase/include/os0once.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/os0once.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/os0proc.h mysql-5.7-5.7.34/storage/innobase/include/os0proc.h --- mysql-5.7-5.7.33/storage/innobase/include/os0proc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/os0proc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/os0proc.ic mysql-5.7-5.7.34/storage/innobase/include/os0proc.ic --- mysql-5.7-5.7.33/storage/innobase/include/os0proc.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/os0proc.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/os0thread.h mysql-5.7-5.7.34/storage/innobase/include/os0thread.h --- mysql-5.7-5.7.33/storage/innobase/include/os0thread.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/os0thread.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/os0thread.ic mysql-5.7-5.7.34/storage/innobase/include/os0thread.ic --- mysql-5.7-5.7.33/storage/innobase/include/os0thread.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/os0thread.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/page0cur.h mysql-5.7-5.7.34/storage/innobase/include/page0cur.h --- mysql-5.7-5.7.33/storage/innobase/include/page0cur.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/page0cur.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/page0cur.ic mysql-5.7-5.7.34/storage/innobase/include/page0cur.ic --- mysql-5.7-5.7.33/storage/innobase/include/page0cur.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/page0cur.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/page0page.h mysql-5.7-5.7.34/storage/innobase/include/page0page.h --- mysql-5.7-5.7.33/storage/innobase/include/page0page.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/page0page.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/page0page.ic mysql-5.7-5.7.34/storage/innobase/include/page0page.ic --- mysql-5.7-5.7.33/storage/innobase/include/page0page.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/page0page.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/page0size.h mysql-5.7-5.7.34/storage/innobase/include/page0size.h --- mysql-5.7-5.7.33/storage/innobase/include/page0size.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/page0size.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/page0types.h mysql-5.7-5.7.34/storage/innobase/include/page0types.h --- mysql-5.7-5.7.33/storage/innobase/include/page0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/page0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/page0zip.h mysql-5.7-5.7.34/storage/innobase/include/page0zip.h --- mysql-5.7-5.7.33/storage/innobase/include/page0zip.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/page0zip.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2005, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2005, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/include/page0zip.ic mysql-5.7-5.7.34/storage/innobase/include/page0zip.ic --- mysql-5.7-5.7.33/storage/innobase/include/page0zip.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/page0zip.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2005, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2005, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/include/pars0opt.h mysql-5.7-5.7.34/storage/innobase/include/pars0opt.h --- mysql-5.7-5.7.33/storage/innobase/include/pars0opt.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/pars0opt.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/pars0opt.ic mysql-5.7-5.7.34/storage/innobase/include/pars0opt.ic --- mysql-5.7-5.7.33/storage/innobase/include/pars0opt.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/pars0opt.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/pars0pars.h mysql-5.7-5.7.34/storage/innobase/include/pars0pars.h --- mysql-5.7-5.7.33/storage/innobase/include/pars0pars.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/pars0pars.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/pars0pars.ic mysql-5.7-5.7.34/storage/innobase/include/pars0pars.ic --- mysql-5.7-5.7.33/storage/innobase/include/pars0pars.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/pars0pars.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/pars0sym.h mysql-5.7-5.7.34/storage/innobase/include/pars0sym.h --- mysql-5.7-5.7.33/storage/innobase/include/pars0sym.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/pars0sym.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/pars0sym.ic mysql-5.7-5.7.34/storage/innobase/include/pars0sym.ic --- mysql-5.7-5.7.33/storage/innobase/include/pars0sym.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/pars0sym.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/pars0types.h mysql-5.7-5.7.34/storage/innobase/include/pars0types.h --- mysql-5.7-5.7.33/storage/innobase/include/pars0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/pars0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1998, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1998, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/que0que.h mysql-5.7-5.7.34/storage/innobase/include/que0que.h --- mysql-5.7-5.7.33/storage/innobase/include/que0que.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/que0que.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/que0que.ic mysql-5.7-5.7.34/storage/innobase/include/que0que.ic --- mysql-5.7-5.7.33/storage/innobase/include/que0que.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/que0que.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/que0types.h mysql-5.7-5.7.34/storage/innobase/include/que0types.h --- mysql-5.7-5.7.33/storage/innobase/include/que0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/que0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/read0read.h mysql-5.7-5.7.34/storage/innobase/include/read0read.h --- mysql-5.7-5.7.33/storage/innobase/include/read0read.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/read0read.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/read0types.h mysql-5.7-5.7.34/storage/innobase/include/read0types.h --- mysql-5.7-5.7.33/storage/innobase/include/read0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/read0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/rem0cmp.h mysql-5.7-5.7.34/storage/innobase/include/rem0cmp.h --- mysql-5.7-5.7.33/storage/innobase/include/rem0cmp.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/rem0cmp.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/rem0cmp.ic mysql-5.7-5.7.34/storage/innobase/include/rem0cmp.ic --- mysql-5.7-5.7.33/storage/innobase/include/rem0cmp.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/rem0cmp.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/rem0rec.h mysql-5.7-5.7.34/storage/innobase/include/rem0rec.h --- mysql-5.7-5.7.33/storage/innobase/include/rem0rec.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/rem0rec.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -1020,7 +1020,7 @@ std::ostream& operator<<(std::ostream& o, const rec_offsets_print& r); -# ifndef DBUG_OFF +# ifndef NDEBUG /** Pretty-printer of records and tuples */ class rec_printer : public std::ostringstream { public: @@ -1075,7 +1075,7 @@ /** Assignment operator */ rec_printer& operator=(const rec_printer& other); }; -# endif /* !DBUG_OFF */ +# endif /* !NDEBUG */ # ifdef UNIV_DEBUG /************************************************************//** diff -Nru mysql-5.7-5.7.33/storage/innobase/include/rem0rec.ic mysql-5.7-5.7.34/storage/innobase/include/rem0rec.ic --- mysql-5.7-5.7.33/storage/innobase/include/rem0rec.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/rem0rec.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/rem0types.h mysql-5.7-5.7.34/storage/innobase/include/rem0types.h --- mysql-5.7-5.7.33/storage/innobase/include/rem0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/rem0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2012, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0ext.h mysql-5.7-5.7.34/storage/innobase/include/row0ext.h --- mysql-5.7-5.7.33/storage/innobase/include/row0ext.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0ext.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0ext.ic mysql-5.7-5.7.34/storage/innobase/include/row0ext.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0ext.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0ext.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0ftsort.h mysql-5.7-5.7.34/storage/innobase/include/row0ftsort.h --- mysql-5.7-5.7.33/storage/innobase/include/row0ftsort.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0ftsort.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2010, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0import.h mysql-5.7-5.7.34/storage/innobase/include/row0import.h --- mysql-5.7-5.7.33/storage/innobase/include/row0import.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0import.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0import.ic mysql-5.7-5.7.34/storage/innobase/include/row0import.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0import.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0import.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0ins.h mysql-5.7-5.7.34/storage/innobase/include/row0ins.h --- mysql-5.7-5.7.33/storage/innobase/include/row0ins.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0ins.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -158,18 +158,18 @@ mem_heap_t** heap, /*!< in/out: memory heap */ dict_index_t* index, /*!< in: index */ const char* file, /*!< in: file name of caller */ -#ifndef DBUG_OFF +#ifndef NDEBUG const void* thd, /*!< in: connection, or NULL */ -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ ulint line) /*!< in: line number of caller */ MY_ATTRIBUTE((nonnull(1,2,3,4,5,6), warn_unused_result)); -#ifdef DBUG_OFF +#ifdef NDEBUG # define row_ins_index_entry_big_rec(e,big,ofs,heap,index,thd,file,line) \ row_ins_index_entry_big_rec_func(e,big,ofs,heap,index,file,line) -#else /* DBUG_OFF */ +#else /* NDEBUG */ # define row_ins_index_entry_big_rec(e,big,ofs,heap,index,thd,file,line) \ row_ins_index_entry_big_rec_func(e,big,ofs,heap,index,file,thd,line) -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ /***************************************************************//** Inserts an entry into a clustered index. Tries first optimistic, then pessimistic descent down the tree. If the entry matches enough diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0ins.ic mysql-5.7-5.7.34/storage/innobase/include/row0ins.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0ins.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0ins.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0log.h mysql-5.7-5.7.34/storage/innobase/include/row0log.h --- mysql-5.7-5.7.33/storage/innobase/include/row0log.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0log.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0log.ic mysql-5.7-5.7.34/storage/innobase/include/row0log.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0log.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0log.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0merge.h mysql-5.7-5.7.34/storage/innobase/include/row0merge.h --- mysql-5.7-5.7.33/storage/innobase/include/row0merge.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0merge.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2005, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0mysql.h mysql-5.7-5.7.34/storage/innobase/include/row0mysql.h --- mysql-5.7-5.7.33/storage/innobase/include/row0mysql.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0mysql.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2000, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0mysql.ic mysql-5.7-5.7.34/storage/innobase/include/row0mysql.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0mysql.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0mysql.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2001, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0purge.h mysql-5.7-5.7.34/storage/innobase/include/row0purge.h --- mysql-5.7-5.7.33/storage/innobase/include/row0purge.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0purge.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0purge.ic mysql-5.7-5.7.34/storage/innobase/include/row0purge.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0purge.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0purge.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0quiesce.h mysql-5.7-5.7.34/storage/innobase/include/row0quiesce.h --- mysql-5.7-5.7.33/storage/innobase/include/row0quiesce.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0quiesce.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0quiesce.ic mysql-5.7-5.7.34/storage/innobase/include/row0quiesce.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0quiesce.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0quiesce.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0row.h mysql-5.7-5.7.34/storage/innobase/include/row0row.h --- mysql-5.7-5.7.33/storage/innobase/include/row0row.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0row.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0row.ic mysql-5.7-5.7.34/storage/innobase/include/row0row.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0row.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0row.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0sel.h mysql-5.7-5.7.34/storage/innobase/include/row0sel.h --- mysql-5.7-5.7.33/storage/innobase/include/row0sel.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0sel.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0sel.ic mysql-5.7-5.7.34/storage/innobase/include/row0sel.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0sel.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0sel.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0trunc.h mysql-5.7-5.7.34/storage/innobase/include/row0trunc.h --- mysql-5.7-5.7.33/storage/innobase/include/row0trunc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0trunc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0types.h mysql-5.7-5.7.34/storage/innobase/include/row0types.h --- mysql-5.7-5.7.33/storage/innobase/include/row0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0uins.h mysql-5.7-5.7.34/storage/innobase/include/row0uins.h --- mysql-5.7-5.7.33/storage/innobase/include/row0uins.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0uins.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0uins.ic mysql-5.7-5.7.34/storage/innobase/include/row0uins.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0uins.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0uins.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0umod.h mysql-5.7-5.7.34/storage/innobase/include/row0umod.h --- mysql-5.7-5.7.33/storage/innobase/include/row0umod.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0umod.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0umod.ic mysql-5.7-5.7.34/storage/innobase/include/row0umod.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0umod.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0umod.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0undo.h mysql-5.7-5.7.34/storage/innobase/include/row0undo.h --- mysql-5.7-5.7.33/storage/innobase/include/row0undo.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0undo.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0undo.ic mysql-5.7-5.7.34/storage/innobase/include/row0undo.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0undo.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0undo.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0upd.h mysql-5.7-5.7.34/storage/innobase/include/row0upd.h --- mysql-5.7-5.7.33/storage/innobase/include/row0upd.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0upd.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0upd.ic mysql-5.7-5.7.34/storage/innobase/include/row0upd.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0upd.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0upd.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0vers.h mysql-5.7-5.7.34/storage/innobase/include/row0vers.h --- mysql-5.7-5.7.33/storage/innobase/include/row0vers.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0vers.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/row0vers.ic mysql-5.7-5.7.34/storage/innobase/include/row0vers.ic --- mysql-5.7-5.7.33/storage/innobase/include/row0vers.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/row0vers.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/sess0sess.h mysql-5.7-5.7.34/storage/innobase/include/sess0sess.h --- mysql-5.7-5.7.33/storage/innobase/include/sess0sess.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/sess0sess.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/srv0conc.h mysql-5.7-5.7.34/storage/innobase/include/srv0conc.h --- mysql-5.7-5.7.33/storage/innobase/include/srv0conc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/srv0conc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described diff -Nru mysql-5.7-5.7.33/storage/innobase/include/srv0mon.h mysql-5.7-5.7.34/storage/innobase/include/srv0mon.h --- mysql-5.7-5.7.33/storage/innobase/include/srv0mon.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/srv0mon.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** -Copyright (c) 2010, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2010, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/include/srv0mon.ic mysql-5.7-5.7.34/storage/innobase/include/srv0mon.ic --- mysql-5.7-5.7.33/storage/innobase/include/srv0mon.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/srv0mon.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2010, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/srv0srv.h mysql-5.7-5.7.34/storage/innobase/include/srv0srv.h --- mysql-5.7-5.7.33/storage/innobase/include/srv0srv.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/srv0srv.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2019, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, 2009, Google Inc. Copyright (c) 2009, Percona Inc. @@ -374,9 +374,9 @@ extern ulong srv_flushing_avg_loops; extern ulong srv_force_recovery; -#ifndef DBUG_OFF +#ifndef NDEBUG extern ulong srv_force_recovery_crash; -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ extern ulint srv_fast_shutdown; /*!< If this is 1, do not do a purge and index buffer merge. diff -Nru mysql-5.7-5.7.33/storage/innobase/include/srv0srv.ic mysql-5.7-5.7.34/storage/innobase/include/srv0srv.ic --- mysql-5.7-5.7.33/storage/innobase/include/srv0srv.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/srv0srv.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/srv0start.h mysql-5.7-5.7.34/storage/innobase/include/srv0start.h --- mysql-5.7-5.7.33/storage/innobase/include/srv0start.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/srv0start.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -41,7 +41,7 @@ // Forward declaration struct dict_table_t; -#ifdef DBUG_OFF +#ifdef NDEBUG # define RECOVERY_CRASH(x) do {} while(0) #else # define RECOVERY_CRASH(x) do { \ @@ -52,7 +52,7 @@ _exit(3); \ } \ } while (0) -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ /** Log 'spaces' have id's >= this */ #define SRV_LOG_SPACE_FIRST_ID 0xFFFFFFF0UL diff -Nru mysql-5.7-5.7.33/storage/innobase/include/sync0arr.h mysql-5.7-5.7.34/storage/innobase/include/sync0arr.h --- mysql-5.7-5.7.33/storage/innobase/include/sync0arr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/sync0arr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/sync0arr.ic mysql-5.7-5.7.34/storage/innobase/include/sync0arr.ic --- mysql-5.7-5.7.33/storage/innobase/include/sync0arr.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/sync0arr.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/sync0debug.h mysql-5.7-5.7.34/storage/innobase/include/sync0debug.h --- mysql-5.7-5.7.33/storage/innobase/include/sync0debug.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/sync0debug.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described diff -Nru mysql-5.7-5.7.33/storage/innobase/include/sync0policy.h mysql-5.7-5.7.34/storage/innobase/include/sync0policy.h --- mysql-5.7-5.7.33/storage/innobase/include/sync0policy.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/sync0policy.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/sync0policy.ic mysql-5.7-5.7.34/storage/innobase/include/sync0policy.ic --- mysql-5.7-5.7.33/storage/innobase/include/sync0policy.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/sync0policy.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/sync0rw.h mysql-5.7-5.7.34/storage/innobase/include/sync0rw.h --- mysql-5.7-5.7.33/storage/innobase/include/sync0rw.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/sync0rw.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by @@ -171,7 +171,7 @@ rw_lock_sx_lock_func((M), (P), __FILE__, __LINE__) #define rw_lock_sx_lock_nowait(M, P) \ - rw_lock_sx_lock_low((M), (P), __FILE__, __LINE__) + rw_lock_sx_lock_func_nowait((M), (P), __FILE__, __LINE__) # ifdef UNIV_DEBUG # define rw_lock_sx_unlock(L) rw_lock_sx_unlock_func(0, L) @@ -247,7 +247,7 @@ pfs_rw_lock_sx_lock_func((M), (P), __FILE__, __LINE__) #define rw_lock_sx_lock_nowait(M, P) \ - pfs_rw_lock_sx_lock_low((M), (P), __FILE__, __LINE__) + pfs_rw_lock_sx_lock_func_nowait((M), (P), __FILE__, __LINE__) # ifdef UNIV_DEBUG # define rw_lock_sx_unlock(L) pfs_rw_lock_sx_unlock_func(0, L) @@ -390,11 +390,13 @@ const char* file_name,/*!< in: file name where lock requested */ ulint line); /*!< in: line where requested */ /******************************************************************//** -Low-level function for acquiring an sx lock. +NOTE! Use the corresponding macro, not directly this function! Lock an +rw-lock in SX mode for the current thread if the lock can be +obtained immediately. @return FALSE if did not succeed, TRUE if success. */ ibool -rw_lock_sx_lock_low( -/*================*/ +rw_lock_sx_lock_func_nowait( +/*========================*/ rw_lock_t* lock, /*!< in: pointer to rw-lock */ ulint pass, /*!< in: pass value; != 0, if the lock will be passed to another thread to unlock */ @@ -531,8 +533,9 @@ rw_lock_set_writer_id_and_recursion_flag( /*=====================================*/ rw_lock_t* lock, /*!< in/out: lock to work on */ - bool recursive); /*!< in: true if recursion + bool recursive, /*!< in: true if recursion allowed */ + const os_thread_id_t curr_thread);/*!< in: current thread id */ #ifdef UNIV_DEBUG /******************************************************************//** Checks if the thread has locked the rw-lock in the specified mode, with @@ -895,8 +898,8 @@ this function! */ UNIV_INLINE ibool -pfs_rw_lock_sx_lock_low( -/*================*/ +pfs_rw_lock_sx_lock_func_nowait( +/*===========================*/ rw_lock_t* lock, /*!< in: pointer to rw-lock */ ulint pass, /*!< in: pass value; != 0, if the lock will be passed to another thread to unlock */ diff -Nru mysql-5.7-5.7.33/storage/innobase/include/sync0rw.ic mysql-5.7-5.7.34/storage/innobase/include/sync0rw.ic --- mysql-5.7-5.7.33/storage/innobase/include/sync0rw.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/sync0rw.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by @@ -343,11 +343,10 @@ rw_lock_set_writer_id_and_recursion_flag( /*=====================================*/ rw_lock_t* lock, /*!< in/out: lock to work on */ - bool recursive) /*!< in: true if recursion + bool recursive, /*!< in: true if recursion allowed */ + const os_thread_id_t curr_thread)/*!< in: current thread id */ { - os_thread_id_t curr_thread = os_thread_get_curr_id(); - #ifdef INNODB_RW_LOCKS_USE_ATOMICS os_thread_id_t local_thread; ibool success; @@ -455,6 +454,8 @@ const char* file_name,/*!< in: file name where lock requested */ ulint line) /*!< in: line where requested */ { + const os_thread_id_t curr_thread = os_thread_get_curr_id(); + ibool success; #ifdef INNODB_RW_LOCKS_USE_ATOMICS @@ -471,11 +472,11 @@ #endif if (success) { - rw_lock_set_writer_id_and_recursion_flag(lock, true); + rw_lock_set_writer_id_and_recursion_flag(lock, true, + curr_thread); } else if (lock->recursive - && os_thread_eq(lock->writer_thread, - os_thread_get_curr_id())) { + && os_thread_eq(lock->writer_thread, curr_thread)) { /* Relock: this lock_word modification is safe since no other threads can modify (lock, unlock, or reserve) lock_word while there is an exclusive writer and this is the writer thread. */ @@ -890,8 +891,8 @@ @return TRUE if success */ UNIV_INLINE ibool -pfs_rw_lock_sx_lock_low( -/*====================*/ +pfs_rw_lock_sx_lock_func_nowait( +/*============================*/ rw_lock_t* lock, /*!< in: pointer to rw-lock */ ulint pass, /*!< in: pass value; != 0, if the lock will be passed to another @@ -912,14 +913,14 @@ PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK, file_name, static_cast(line)); - ret = rw_lock_sx_lock_low(lock, pass, file_name, line); + ret = rw_lock_sx_lock_func_nowait(lock, pass, file_name, line); if (locker != NULL) { PSI_RWLOCK_CALL(end_rwlock_rdwait)( locker, static_cast(ret)); } } else { - ret = rw_lock_sx_lock_low(lock, pass, file_name, line); + ret = rw_lock_sx_lock_func_nowait(lock, pass, file_name, line); } return(ret); diff -Nru mysql-5.7-5.7.33/storage/innobase/include/sync0sync.h mysql-5.7-5.7.34/storage/innobase/include/sync0sync.h --- mysql-5.7-5.7.33/storage/innobase/include/sync0sync.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/sync0sync.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Copyright (c) 2012, Facebook Inc. diff -Nru mysql-5.7-5.7.33/storage/innobase/include/sync0types.h mysql-5.7-5.7.34/storage/innobase/include/sync0types.h --- mysql-5.7-5.7.33/storage/innobase/include/sync0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/sync0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0i_s.h mysql-5.7-5.7.34/storage/innobase/include/trx0i_s.h --- mysql-5.7-5.7.33/storage/innobase/include/trx0i_s.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0i_s.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0purge.h mysql-5.7-5.7.34/storage/innobase/include/trx0purge.h --- mysql-5.7-5.7.33/storage/innobase/include/trx0purge.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0purge.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0purge.ic mysql-5.7-5.7.34/storage/innobase/include/trx0purge.ic --- mysql-5.7-5.7.33/storage/innobase/include/trx0purge.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0purge.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0rec.h mysql-5.7-5.7.34/storage/innobase/include/trx0rec.h --- mysql-5.7-5.7.33/storage/innobase/include/trx0rec.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0rec.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0rec.ic mysql-5.7-5.7.34/storage/innobase/include/trx0rec.ic --- mysql-5.7-5.7.33/storage/innobase/include/trx0rec.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0rec.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0roll.h mysql-5.7-5.7.34/storage/innobase/include/trx0roll.h --- mysql-5.7-5.7.33/storage/innobase/include/trx0roll.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0roll.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0roll.ic mysql-5.7-5.7.34/storage/innobase/include/trx0roll.ic --- mysql-5.7-5.7.33/storage/innobase/include/trx0roll.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0roll.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0rseg.h mysql-5.7-5.7.34/storage/innobase/include/trx0rseg.h --- mysql-5.7-5.7.33/storage/innobase/include/trx0rseg.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0rseg.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0rseg.ic mysql-5.7-5.7.34/storage/innobase/include/trx0rseg.ic --- mysql-5.7-5.7.33/storage/innobase/include/trx0rseg.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0rseg.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0sys.h mysql-5.7-5.7.34/storage/innobase/include/trx0sys.h --- mysql-5.7-5.7.33/storage/innobase/include/trx0sys.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0sys.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0sys.ic mysql-5.7-5.7.34/storage/innobase/include/trx0sys.ic --- mysql-5.7-5.7.33/storage/innobase/include/trx0sys.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0sys.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0trx.h mysql-5.7-5.7.34/storage/innobase/include/trx0trx.h --- mysql-5.7-5.7.33/storage/innobase/include/trx0trx.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0trx.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0trx.ic mysql-5.7-5.7.34/storage/innobase/include/trx0trx.ic --- mysql-5.7-5.7.33/storage/innobase/include/trx0trx.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0trx.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0types.h mysql-5.7-5.7.34/storage/innobase/include/trx0types.h --- mysql-5.7-5.7.33/storage/innobase/include/trx0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0undo.h mysql-5.7-5.7.34/storage/innobase/include/trx0undo.h --- mysql-5.7-5.7.33/storage/innobase/include/trx0undo.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0undo.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0undo.ic mysql-5.7-5.7.34/storage/innobase/include/trx0undo.ic --- mysql-5.7-5.7.33/storage/innobase/include/trx0undo.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0undo.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/trx0xa.h mysql-5.7-5.7.34/storage/innobase/include/trx0xa.h --- mysql-5.7-5.7.33/storage/innobase/include/trx0xa.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/trx0xa.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/univ.i mysql-5.7-5.7.34/storage/innobase/include/univ.i --- mysql-5.7-5.7.33/storage/innobase/include/univ.i 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/univ.i 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by diff -Nru mysql-5.7-5.7.33/storage/innobase/include/usr0sess.h mysql-5.7-5.7.34/storage/innobase/include/usr0sess.h --- mysql-5.7-5.7.33/storage/innobase/include/usr0sess.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/usr0sess.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/usr0sess.ic mysql-5.7-5.7.34/storage/innobase/include/usr0sess.ic --- mysql-5.7-5.7.33/storage/innobase/include/usr0sess.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/usr0sess.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/usr0types.h mysql-5.7-5.7.34/storage/innobase/include/usr0types.h --- mysql-5.7-5.7.33/storage/innobase/include/usr0types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/usr0types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0byte.h mysql-5.7-5.7.34/storage/innobase/include/ut0byte.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0byte.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0byte.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0byte.ic mysql-5.7-5.7.34/storage/innobase/include/ut0byte.ic --- mysql-5.7-5.7.33/storage/innobase/include/ut0byte.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0byte.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0counter.h mysql-5.7-5.7.34/storage/innobase/include/ut0counter.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0counter.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0counter.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0crc32.h mysql-5.7-5.7.34/storage/innobase/include/ut0crc32.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0crc32.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0crc32.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0dbg.h mysql-5.7-5.7.34/storage/innobase/include/ut0dbg.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0dbg.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0dbg.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0list.h mysql-5.7-5.7.34/storage/innobase/include/ut0list.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0list.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0list.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0list.ic mysql-5.7-5.7.34/storage/innobase/include/ut0list.ic --- mysql-5.7-5.7.33/storage/innobase/include/ut0list.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0list.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2013, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0lst.h mysql-5.7-5.7.34/storage/innobase/include/ut0lst.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0lst.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0lst.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0mem.h mysql-5.7-5.7.34/storage/innobase/include/ut0mem.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0mem.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0mem.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0mem.ic mysql-5.7-5.7.34/storage/innobase/include/ut0mem.ic --- mysql-5.7-5.7.33/storage/innobase/include/ut0mem.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0mem.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0mutex.h mysql-5.7-5.7.34/storage/innobase/include/ut0mutex.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0mutex.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0mutex.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0mutex.ic mysql-5.7-5.7.34/storage/innobase/include/ut0mutex.ic --- mysql-5.7-5.7.33/storage/innobase/include/ut0mutex.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0mutex.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0new.h mysql-5.7-5.7.34/storage/innobase/include/ut0new.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0new.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0new.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -662,8 +662,8 @@ /* e.g. "btr0cur", derived from "/path/to/btr0cur.cc" */ char keyname[FILENAME_MAX]; - const size_t len = ut_basename_noext(file, keyname, - sizeof(keyname)); + const size_t len MY_ATTRIBUTE((unused)) = + ut_basename_noext(file, keyname, sizeof(keyname)); /* If sizeof(keyname) was not enough then the output would be truncated, assert that this did not happen. */ ut_a(len < sizeof(keyname)); diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0pool.h mysql-5.7-5.7.34/storage/innobase/include/ut0pool.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0pool.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0pool.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0rbt.h mysql-5.7-5.7.34/storage/innobase/include/ut0rbt.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0rbt.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0rbt.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0rnd.h mysql-5.7-5.7.34/storage/innobase/include/ut0rnd.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0rnd.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0rnd.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0rnd.ic mysql-5.7-5.7.34/storage/innobase/include/ut0rnd.ic --- mysql-5.7-5.7.33/storage/innobase/include/ut0rnd.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0rnd.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0sort.h mysql-5.7-5.7.34/storage/innobase/include/ut0sort.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0sort.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0sort.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0stage.h mysql-5.7-5.7.34/storage/innobase/include/ut0stage.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0stage.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0stage.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0ut.h mysql-5.7-5.7.34/storage/innobase/include/ut0ut.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0ut.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0ut.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0ut.ic mysql-5.7-5.7.34/storage/innobase/include/ut0ut.ic --- mysql-5.7-5.7.33/storage/innobase/include/ut0ut.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0ut.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0vec.h mysql-5.7-5.7.34/storage/innobase/include/ut0vec.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0vec.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0vec.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0vec.ic mysql-5.7-5.7.34/storage/innobase/include/ut0vec.ic --- mysql-5.7-5.7.33/storage/innobase/include/ut0vec.ic 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0vec.ic 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/include/ut0wqueue.h mysql-5.7-5.7.34/storage/innobase/include/ut0wqueue.h --- mysql-5.7-5.7.33/storage/innobase/include/ut0wqueue.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/include/ut0wqueue.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/innodb.cmake mysql-5.7-5.7.34/storage/innobase/innodb.cmake --- mysql-5.7-5.7.33/storage/innobase/innodb.cmake 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/innodb.cmake 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/lock/lock0iter.cc mysql-5.7-5.7.34/storage/innobase/lock/lock0iter.cc --- mysql-5.7-5.7.33/storage/innobase/lock/lock0iter.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/lock/lock0iter.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/lock/lock0lock.cc mysql-5.7-5.7.34/storage/innobase/lock/lock0lock.cc --- mysql-5.7-5.7.33/storage/innobase/lock/lock0lock.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/lock/lock0lock.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/lock/lock0prdt.cc mysql-5.7-5.7.34/storage/innobase/lock/lock0prdt.cc --- mysql-5.7-5.7.33/storage/innobase/lock/lock0prdt.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/lock/lock0prdt.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/lock/lock0wait.cc mysql-5.7-5.7.34/storage/innobase/lock/lock0wait.cc --- mysql-5.7-5.7.33/storage/innobase/lock/lock0wait.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/lock/lock0wait.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/log/log0log.cc mysql-5.7-5.7.34/storage/innobase/log/log0log.cc --- mysql-5.7-5.7.33/storage/innobase/log/log0log.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/log/log0log.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2009, Google Inc. Portions of this file contain modifications contributed and copyrighted by diff -Nru mysql-5.7-5.7.33/storage/innobase/log/log0recv.cc mysql-5.7-5.7.34/storage/innobase/log/log0recv.cc --- mysql-5.7-5.7.33/storage/innobase/log/log0recv.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/log/log0recv.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify @@ -172,13 +172,13 @@ volatile bool recv_writer_thread_active = false; #endif /* !UNIV_HOTBACKUP */ -#ifndef DBUG_OFF +#ifndef NDEBUG /** Return string name of the redo log record type. @param[in] type record log record enum @return string name of record log record */ const char* get_mlog_string(mlog_id_t type); -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ /* prototypes */ @@ -3800,7 +3800,7 @@ bool last_phase) { DBUG_ENTER("recv_group_scan_log_recs"); - DBUG_ASSERT(!last_phase || recv_sys->mlog_checkpoint_lsn > 0); + assert(!last_phase || recv_sys->mlog_checkpoint_lsn > 0); mutex_enter(&recv_sys->mutex); recv_sys->len = 0; @@ -4611,7 +4611,7 @@ return(result); } -#ifndef DBUG_OFF +#ifndef NDEBUG /** Return string name of the redo log record type. @param[in] type record log record enum @return string name of record log record */ @@ -4786,7 +4786,7 @@ case MLOG_TRUNCATE: return("MLOG_TRUNCATE"); } - DBUG_ASSERT(0); + assert(0); return(NULL); } -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ diff -Nru mysql-5.7-5.7.33/storage/innobase/mach/mach0data.cc mysql-5.7-5.7.34/storage/innobase/mach/mach0data.cc --- mysql-5.7-5.7.33/storage/innobase/mach/mach0data.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/mach/mach0data.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/mem/mem0mem.cc mysql-5.7-5.7.34/storage/innobase/mem/mem0mem.cc --- mysql-5.7-5.7.33/storage/innobase/mem/mem0mem.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/mem/mem0mem.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/mtr/mtr0log.cc mysql-5.7-5.7.34/storage/innobase/mtr/mtr0log.cc --- mysql-5.7-5.7.33/storage/innobase/mtr/mtr0log.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/mtr/mtr0log.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/mtr/mtr0mtr.cc mysql-5.7-5.7.34/storage/innobase/mtr/mtr0mtr.cc --- mysql-5.7-5.7.33/storage/innobase/mtr/mtr0mtr.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/mtr/mtr0mtr.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/os/os0event.cc mysql-5.7-5.7.34/storage/innobase/os/os0event.cc --- mysql-5.7-5.7.33/storage/innobase/os/os0event.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/os/os0event.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/os/os0file.cc mysql-5.7-5.7.34/storage/innobase/os/os0file.cc --- mysql-5.7-5.7.33/storage/innobase/os/os0file.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/os/os0file.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /*********************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2009, Percona Inc. Portions of this file contain modifications contributed and copyrighted @@ -1715,6 +1715,7 @@ Encryption encryption(type.encryption_algorithm()); ut_ad(!type.is_log()); + ut_ad(!type.is_row_log()); ret = encryption.decrypt(type, buf, src_len, scratch, len); if (ret == DB_SUCCESS) { diff -Nru mysql-5.7-5.7.33/storage/innobase/os/os0proc.cc mysql-5.7-5.7.34/storage/innobase/os/os0proc.cc --- mysql-5.7-5.7.33/storage/innobase/os/os0proc.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/os/os0proc.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/os/os0thread.cc mysql-5.7-5.7.34/storage/innobase/os/os0thread.cc --- mysql-5.7-5.7.33/storage/innobase/os/os0thread.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/os/os0thread.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/page/page0cur.cc mysql-5.7-5.7.34/storage/innobase/page/page0cur.cc --- mysql-5.7-5.7.33/storage/innobase/page/page0cur.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/page/page0cur.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/page/page0page.cc mysql-5.7-5.7.34/storage/innobase/page/page0page.cc --- mysql-5.7-5.7.33/storage/innobase/page/page0page.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/page/page0page.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify @@ -855,9 +855,9 @@ if (!page_zip_compress(new_page_zip, new_page, index, page_zip_level, NULL, mtr)) { ulint ret_pos; -#ifndef DBUG_OFF +#ifndef NDEBUG zip_reorganize: -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ /* Before trying to reorganize the page, store the number of preceding records on the page. */ ret_pos = page_rec_get_n_recs_before(ret); diff -Nru mysql-5.7-5.7.33/storage/innobase/page/page0zip.cc mysql-5.7-5.7.34/storage/innobase/page/page0zip.cc --- mysql-5.7-5.7.33/storage/innobase/page/page0zip.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/page/page0zip.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2005, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2005, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/pars/lexyy.cc mysql-5.7-5.7.34/storage/innobase/pars/lexyy.cc --- mysql-5.7-5.7.33/storage/innobase/pars/lexyy.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/pars/lexyy.cc 2021-03-26 06:58:52.000000000 +0000 @@ -916,7 +916,7 @@ #line 1 "pars0lex.l" /***************************************************************************** -Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/pars/make_bison.sh mysql-5.7-5.7.34/storage/innobase/pars/make_bison.sh --- mysql-5.7-5.7.33/storage/innobase/pars/make_bison.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/pars/make_bison.sh 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (c) 1994, 2013, Oracle and/or its affiliates. All Rights Reserved. +# Copyright (c) 1994, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/pars/make_flex.sh mysql-5.7-5.7.34/storage/innobase/pars/make_flex.sh --- mysql-5.7-5.7.33/storage/innobase/pars/make_flex.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/pars/make_flex.sh 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +# Copyright (c) 1994, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/pars/pars0grm.y mysql-5.7-5.7.34/storage/innobase/pars/pars0grm.y --- mysql-5.7-5.7.33/storage/innobase/pars/pars0grm.y 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/pars/pars0grm.y 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/pars/pars0lex.l mysql-5.7-5.7.34/storage/innobase/pars/pars0lex.l --- mysql-5.7-5.7.33/storage/innobase/pars/pars0lex.l 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/pars/pars0lex.l 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/pars/pars0opt.cc mysql-5.7-5.7.34/storage/innobase/pars/pars0opt.cc --- mysql-5.7-5.7.33/storage/innobase/pars/pars0opt.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/pars/pars0opt.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/pars/pars0pars.cc mysql-5.7-5.7.34/storage/innobase/pars/pars0pars.cc --- mysql-5.7-5.7.33/storage/innobase/pars/pars0pars.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/pars/pars0pars.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/pars/pars0sym.cc mysql-5.7-5.7.34/storage/innobase/pars/pars0sym.cc --- mysql-5.7-5.7.33/storage/innobase/pars/pars0sym.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/pars/pars0sym.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/que/que0que.cc mysql-5.7-5.7.34/storage/innobase/que/que0que.cc --- mysql-5.7-5.7.33/storage/innobase/que/que0que.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/que/que0que.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -908,7 +908,7 @@ return(node); } -#ifndef DBUG_OFF +#ifndef NDEBUG /** Gets information of an SQL query graph node. @return type description */ static MY_ATTRIBUTE((warn_unused_result, nonnull)) @@ -965,7 +965,7 @@ return("UNKNOWN NODE TYPE"); } } -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ /**********************************************************************//** Performs an execution step on a query thread. diff -Nru mysql-5.7-5.7.33/storage/innobase/read/read0read.cc mysql-5.7-5.7.34/storage/innobase/read/read0read.cc --- mysql-5.7-5.7.33/storage/innobase/read/read0read.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/read/read0read.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/rem/rem0cmp.cc mysql-5.7-5.7.34/storage/innobase/rem/rem0cmp.cc --- mysql-5.7-5.7.33/storage/innobase/rem/rem0cmp.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/rem/rem0cmp.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/rem/rem0rec.cc mysql-5.7-5.7.34/storage/innobase/rem/rem0rec.cc --- mysql-5.7-5.7.33/storage/innobase/rem/rem0rec.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/rem/rem0rec.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0ext.cc mysql-5.7-5.7.34/storage/innobase/row/row0ext.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0ext.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0ext.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0ftsort.cc mysql-5.7-5.7.34/storage/innobase/row/row0ftsort.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0ftsort.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0ftsort.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2010, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0import.cc mysql-5.7-5.7.34/storage/innobase/row/row0import.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0import.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0import.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0ins.cc mysql-5.7-5.7.34/storage/innobase/row/row0ins.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0ins.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0ins.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -956,12 +956,12 @@ row_ext_t* ext; THD* thd = current_thd; ulint offsets_[REC_OFFS_NORMAL_SIZE]; + mem_heap_t* v_heap = NULL; + upd_t* update = cascade->update; rec_offs_init(offsets_); const ulint* offsets = rec_get_offsets(rec, index, offsets_, - ULINT_UNDEFINED, &cascade->heap); - mem_heap_t* v_heap = NULL; - upd_t* update = cascade->update; + ULINT_UNDEFINED, &update->heap); ulint n_v_fld = index->table->n_v_def; ulint n_diff; upd_field_t* upd_field; @@ -970,7 +970,7 @@ update->old_vrow = row_build( ROW_COPY_POINTERS, index, rec, offsets, index->table, NULL, NULL, - &ext, cascade->heap); + &ext, update->heap); n_diff = update->n_fields; @@ -1006,7 +1006,7 @@ upd_field = upd_get_nth_field(update, n_diff); upd_field->old_v_val = static_cast( - mem_heap_alloc(cascade->heap, + mem_heap_alloc(update->heap, sizeof *upd_field->old_v_val)); dfield_copy(upd_field->old_v_val, vfield); @@ -3197,9 +3197,9 @@ mem_heap_t** heap, /*!< in/out: memory heap */ dict_index_t* index, /*!< in: index */ const char* file, /*!< in: file name of caller */ -#ifndef DBUG_OFF +#ifndef NDEBUG const void* thd, /*!< in: connection, or NULL */ -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ ulint line) /*!< in: line number of caller */ { mtr_t mtr; diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0log.cc mysql-5.7-5.7.34/storage/innobase/row/row0log.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0log.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0log.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -364,7 +364,7 @@ if (mrec_size >= avail_size) { dberr_t err; - IORequest request(IORequest::WRITE); + IORequest request(IORequest::ROW_LOG | IORequest::WRITE); const os_offset_t byte_offset = (os_offset_t) log->tail.blocks * srv_sort_buf_size; @@ -483,7 +483,8 @@ if (size >= avail) { dberr_t err; - IORequest request(IORequest::WRITE); + IORequest request(IORequest::ROW_LOG | IORequest::WRITE); + const os_offset_t byte_offset = (os_offset_t) log->tail.blocks * srv_sort_buf_size; @@ -2917,8 +2918,7 @@ goto func_exit; } - IORequest request; - + IORequest request(IORequest::READ | IORequest::ROW_LOG); err = os_file_read_no_error_handling_int_fd( request, index->online_log->fd, @@ -3756,7 +3756,7 @@ goto func_exit; } - IORequest request; + IORequest request(IORequest::READ | IORequest::ROW_LOG); dberr_t err = os_file_read_no_error_handling_int_fd( request, index->online_log->fd, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0merge.cc mysql-5.7-5.7.34/storage/innobase/row/row0merge.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0merge.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0merge.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2005, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -1307,24 +1307,24 @@ /*====================*/ byte* b, /*!< out: buffer */ ulint e, /*!< in: encoded extra_size */ -#ifndef DBUG_OFF +#ifndef NDEBUG ulint size, /*!< in: total size to write */ int fd, /*!< in: file descriptor */ ulint foffs, /*!< in: file offset */ -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ const mrec_t* mrec, /*!< in: record to write */ const ulint* offsets)/*!< in: offsets of mrec */ -#ifdef DBUG_OFF +#ifdef NDEBUG # define row_merge_write_rec_low(b, e, size, fd, foffs, mrec, offsets) \ row_merge_write_rec_low(b, e, mrec, offsets) -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ { DBUG_ENTER("row_merge_write_rec_low"); -#ifndef DBUG_OFF +#ifndef NDEBUG const byte* const end = b + size; -#endif /* DBUG_OFF */ - DBUG_ASSERT(e == rec_offs_extra_size(offsets) + 1); +#endif /* NDEBUG */ + assert(e == rec_offs_extra_size(offsets) + 1); DBUG_PRINT("ib_merge_sort", ("%p,fd=%d,%lu: %s", reinterpret_cast(b), fd, ulong(foffs), @@ -1338,7 +1338,7 @@ } memcpy(b, mrec - rec_offs_extra_size(offsets), rec_offs_size(offsets)); - DBUG_ASSERT(b + rec_offs_size(offsets) == end); + assert(b + rec_offs_size(offsets) == end); DBUG_VOID_RETURN; } @@ -1878,11 +1878,11 @@ } } -#ifdef DBUG_OFF +#ifdef NDEBUG # define dbug_run_purge false -#else /* DBUG_OFF */ +#else /* NDEBUG */ bool dbug_run_purge = false; -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ DBUG_EXECUTE_IF( "ib_purge_on_create_index_page_switch", dbug_run_purge = true;); diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0mysql.cc mysql-5.7-5.7.34/storage/innobase/row/row0mysql.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0mysql.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0mysql.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2000, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -3060,9 +3060,9 @@ ib::error() << "Trying to create a MySQL system table " << table->name << " of type InnoDB. MySQL system" " tables must be of the MyISAM type!"; -#ifndef DBUG_OFF +#ifndef NDEBUG err_exit: -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ dict_mem_table_free(table); if (commit) { diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0purge.cc mysql-5.7-5.7.34/storage/innobase/row/row0purge.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0purge.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0purge.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -185,9 +185,9 @@ const char act[] = "now SIGNAL pessimistic_row_purge_clust_pause " "WAIT_FOR pessimistic_row_purge_clust_continue"; - DBUG_ASSERT(opt_debug_sync_timeout > 0); - DBUG_ASSERT(!debug_sync_set_action( - current_thd, STRING_WITH_LEN(act))); + assert(opt_debug_sync_timeout > 0); + assert(!debug_sync_set_action( + current_thd, STRING_WITH_LEN(act))); }); btr_cur_pessimistic_delete( diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0quiesce.cc mysql-5.7-5.7.34/storage/innobase/row/row0quiesce.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0quiesce.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0quiesce.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0row.cc mysql-5.7-5.7.34/storage/innobase/row/row0row.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0row.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0row.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0sel.cc mysql-5.7-5.7.34/storage/innobase/row/row0sel.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0sel.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0sel.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0trunc.cc mysql-5.7-5.7.34/storage/innobase/row/row0trunc.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0trunc.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0trunc.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2013, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0uins.cc mysql-5.7-5.7.34/storage/innobase/row/row0uins.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0uins.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0uins.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0umod.cc mysql-5.7-5.7.34/storage/innobase/row/row0umod.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0umod.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0umod.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0undo.cc mysql-5.7-5.7.34/storage/innobase/row/row0undo.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0undo.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0undo.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0upd.cc mysql-5.7-5.7.34/storage/innobase/row/row0upd.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0upd.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0upd.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/row/row0vers.cc mysql-5.7-5.7.34/storage/innobase/row/row0vers.cc --- mysql-5.7-5.7.33/storage/innobase/row/row0vers.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/row/row0vers.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1997, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -919,11 +919,11 @@ NULL, NULL, NULL, &ext, heap); if (dict_index_has_virtual(index)) { -#ifdef DBUG_OFF +#ifdef NDEBUG # define dbug_v_purge false -#else /* DBUG_OFF */ +#else /* NDEBUG */ bool dbug_v_purge = false; -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ DBUG_EXECUTE_IF( "ib_purge_virtual_index_callback", diff -Nru mysql-5.7-5.7.33/storage/innobase/srv/srv0conc.cc mysql-5.7-5.7.34/storage/innobase/srv/srv0conc.cc --- mysql-5.7-5.7.33/storage/innobase/srv/srv0conc.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/srv/srv0conc.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2011, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described diff -Nru mysql-5.7-5.7.33/storage/innobase/srv/srv0mon.cc mysql-5.7-5.7.34/storage/innobase/srv/srv0mon.cc --- mysql-5.7-5.7.33/storage/innobase/srv/srv0mon.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/srv/srv0mon.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2010, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2010, 2021, Oracle and/or its affiliates. Copyright (c) 2012, Facebook Inc. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/innobase/srv/srv0srv.cc mysql-5.7-5.7.34/storage/innobase/srv/srv0srv.cc --- mysql-5.7-5.7.33/storage/innobase/srv/srv0srv.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/srv/srv0srv.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, 2009 Google Inc. Copyright (c) 2009, Percona Inc. @@ -358,11 +358,11 @@ by SELECT or mysqldump. When this is nonzero, we do not allow any user modifications to the data. */ ulong srv_force_recovery; -#ifndef DBUG_OFF +#ifndef NDEBUG /** Inject a crash at different steps of the recovery process. This is for testing and debugging only. */ ulong srv_force_recovery_crash; -#endif /* !DBUG_OFF */ +#endif /* !NDEBUG */ /** Print all user-level transactions deadlocks to mysqld stderr */ diff -Nru mysql-5.7-5.7.33/storage/innobase/srv/srv0start.cc mysql-5.7-5.7.34/storage/innobase/srv/srv0start.cc --- mysql-5.7-5.7.33/storage/innobase/srv/srv0start.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/srv/srv0start.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Copyright (c) 2009, Percona Inc. diff -Nru mysql-5.7-5.7.33/storage/innobase/sync/sync0arr.cc mysql-5.7-5.7.34/storage/innobase/sync/sync0arr.cc --- mysql-5.7-5.7.33/storage/innobase/sync/sync0arr.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/sync/sync0arr.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by diff -Nru mysql-5.7-5.7.33/storage/innobase/sync/sync0debug.cc mysql-5.7-5.7.34/storage/innobase/sync/sync0debug.cc --- mysql-5.7-5.7.33/storage/innobase/sync/sync0debug.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/sync/sync0debug.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described diff -Nru mysql-5.7-5.7.33/storage/innobase/sync/sync0rw.cc mysql-5.7-5.7.34/storage/innobase/sync/sync0rw.cc --- mysql-5.7-5.7.33/storage/innobase/sync/sync0rw.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/sync/sync0rw.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by @@ -348,10 +348,14 @@ sync_array_t* sync_arr; ulint spin_count = 0; uint64_t count_os_wait = 0; + const os_thread_id_t curr_thread = os_thread_get_curr_id(); /* We reuse the thread id to index into the counter, cache it here for efficiency. */ + const size_t counter_index = (size_t) ut_rnd_gen_next_ulint( + (ulint) curr_thread); + ut_ad(rw_lock_validate(lock)); lock_loop: @@ -378,10 +382,12 @@ if (count_os_wait > 0) { lock->count_os_wait += static_cast(count_os_wait); - rw_lock_stats.rw_s_os_wait_count.add(count_os_wait); + rw_lock_stats.rw_s_os_wait_count.add(counter_index, + count_os_wait); } - rw_lock_stats.rw_s_spin_round_count.add(spin_count); + rw_lock_stats.rw_s_spin_round_count.add(counter_index, + spin_count); return; /* Success */ } else { @@ -412,10 +418,11 @@ static_cast(count_os_wait); rw_lock_stats.rw_s_os_wait_count.add( - count_os_wait); + counter_index, count_os_wait); } - rw_lock_stats.rw_s_spin_round_count.add(spin_count); + rw_lock_stats.rw_s_spin_round_count.add(counter_index, + spin_count); return; /* Success */ } @@ -423,7 +430,7 @@ /* see comments in trx_commit_low() to before_trx_state_committed_in_memory explaining this care to invoke the following sync check.*/ -#ifndef DBUG_OFF +#ifndef NDEBUG #ifdef UNIV_DEBUG if (lock->get_level() != SYNC_DICT_OPERATION) { DEBUG_SYNC_C("rw_s_lock_waiting"); @@ -452,9 +459,11 @@ rw_lock_t* lock) /*!< in: lock which was x-locked in the buffer read */ { + const os_thread_id_t curr_thread = os_thread_get_curr_id(); + ut_ad(rw_lock_is_locked(lock, RW_LOCK_X)); - rw_lock_set_writer_id_and_recursion_flag(lock, true); + rw_lock_set_writer_id_and_recursion_flag(lock, true, curr_thread); } /******************************************************************//** @@ -470,6 +479,7 @@ be passed to another thread to unlock */ #endif lint threshold,/*!< in: threshold to wait for */ + const os_thread_id_t curr_thread,/*!< in: current thread id */ const char* file_name,/*!< in: file name where lock requested */ ulint line) /*!< in: line where requested */ { @@ -477,6 +487,12 @@ ulint n_spins = 0; sync_array_t* sync_arr; uint64_t count_os_wait = 0; + size_t counter_index; + + /* We reuse the thread id to index into the counter, cache + it here for efficiency. */ + + counter_index = (size_t) ut_rnd_gen_next_ulint((ulint) curr_thread); os_rmb; ut_ad(lock->lock_word <= threshold); @@ -529,21 +545,22 @@ } } - rw_lock_stats.rw_x_spin_round_count.add(n_spins); + rw_lock_stats.rw_x_spin_round_count.add(counter_index, n_spins); if (count_os_wait > 0) { lock->count_os_wait += static_cast(count_os_wait); - rw_lock_stats.rw_x_os_wait_count.add(count_os_wait); + rw_lock_stats.rw_x_os_wait_count.add(counter_index, + count_os_wait); } } #ifdef UNIV_DEBUG -# define rw_lock_x_lock_wait(L, P, T, F, O) \ - rw_lock_x_lock_wait_func(L, P, T, F, O) +# define rw_lock_x_lock_wait(L, P, T, C, F, O) \ + rw_lock_x_lock_wait_func(L, P, T, C, F, O) #else -# define rw_lock_x_lock_wait(L, P, T, F, O) \ - rw_lock_x_lock_wait_func(L, T, F, O) +# define rw_lock_x_lock_wait(L, P, T, C, F, O) \ + rw_lock_x_lock_wait_func(L, T, C, F, O) #endif /* UNIV_DBEUG */ /******************************************************************//** @@ -556,6 +573,7 @@ rw_lock_t* lock, /*!< in: pointer to rw-lock */ ulint pass, /*!< in: pass value; != 0, if the lock will be passed to another thread to unlock */ + const os_thread_id_t curr_thread,/*!< in: current thread id */ const char* file_name,/*!< in: file name where lock requested */ ulint line) /*!< in: line where requested */ { @@ -569,13 +587,12 @@ /* Decrement occurred: we are writer or next-writer. */ rw_lock_set_writer_id_and_recursion_flag( - lock, !pass); + lock, !pass, curr_thread); - rw_lock_x_lock_wait(lock, pass, 0, file_name, line); + rw_lock_x_lock_wait(lock, pass, 0, curr_thread, + file_name, line); } else { - os_thread_id_t thread_id = os_thread_get_curr_id(); - bool recursive; os_thread_id_t writer_thread; @@ -587,7 +604,8 @@ /* Decrement failed: An X or SX lock is held by either this thread or another. Try to relock. */ - if (!pass && recursive && os_thread_eq(writer_thread, thread_id)) { + if (!pass && recursive + && os_thread_eq(writer_thread, curr_thread)) { /* Other s-locks can be allowed. If it is request x recursively while holding sx lock, this x lock should be along with the latching-order. */ @@ -601,7 +619,7 @@ released. */ rw_lock_x_lock_wait( lock, pass, -X_LOCK_HALF_DECR, - file_name, line); + curr_thread, file_name, line); } else { /* At least one X lock by this thread already @@ -632,12 +650,14 @@ /******************************************************************//** Low-level function for acquiring an sx lock. @return FALSE if did not succeed, TRUE if success. */ +UNIV_INLINE ibool rw_lock_sx_lock_low( /*================*/ rw_lock_t* lock, /*!< in: pointer to rw-lock */ ulint pass, /*!< in: pass value; != 0, if the lock will be passed to another thread to unlock */ + const os_thread_id_t curr_thread,/*!< in: current thread id */ const char* file_name,/*!< in: file name where lock requested */ ulint line) /*!< in: line where requested */ { @@ -651,13 +671,11 @@ /* Decrement occurred: we are the SX lock owner. */ rw_lock_set_writer_id_and_recursion_flag( - lock, !pass); + lock, !pass, curr_thread); lock->sx_recursive = 1; } else { - os_thread_id_t thread_id = os_thread_get_curr_id(); - bool recursive; os_thread_id_t writer_thread; @@ -670,7 +688,8 @@ /* Decrement failed: It already has an X or SX lock by this thread or another thread. If it is this thread, relock, else fail. */ - if (!pass && recursive && os_thread_eq(writer_thread, thread_id)) { + if (!pass && recursive + && os_thread_eq(writer_thread, curr_thread)) { /* This thread owns an X or SX lock */ if (lock->sx_recursive++ == 0) { /* This thread is making first SX-lock request @@ -735,21 +754,30 @@ sync_array_t* sync_arr; ulint spin_count = 0; uint64_t count_os_wait = 0; + const os_thread_id_t curr_thread = os_thread_get_curr_id(); + + /* We reuse the thread id to index into the counter, cache + it here for efficiency. */ + + const size_t counter_index = (size_t) ut_rnd_gen_next_ulint( + (ulint) curr_thread); ut_ad(rw_lock_validate(lock)); ut_ad(!rw_lock_own(lock, RW_LOCK_S)); lock_loop: - if (rw_lock_x_lock_low(lock, pass, file_name, line)) { + if (rw_lock_x_lock_low(lock, pass, curr_thread, file_name, line)) { if (count_os_wait > 0) { lock->count_os_wait += static_cast(count_os_wait); - rw_lock_stats.rw_x_os_wait_count.add(count_os_wait); + rw_lock_stats.rw_x_os_wait_count.add(counter_index, + count_os_wait); } - rw_lock_stats.rw_x_spin_round_count.add(spin_count); + rw_lock_stats.rw_x_spin_round_count.add(counter_index, + spin_count); /* Locking succeeded */ return; @@ -790,16 +818,18 @@ is sent. This could lead to a few unnecessary wake-up signals. */ rw_lock_set_waiter_flag(lock); - if (rw_lock_x_lock_low(lock, pass, file_name, line)) { + if (rw_lock_x_lock_low(lock, pass, curr_thread, file_name, line)) { sync_array_free_cell(sync_arr, cell); if (count_os_wait > 0) { lock->count_os_wait += static_cast(count_os_wait); - rw_lock_stats.rw_x_os_wait_count.add(count_os_wait); + rw_lock_stats.rw_x_os_wait_count.add(counter_index, + count_os_wait); } - rw_lock_stats.rw_x_spin_round_count.add(spin_count); + rw_lock_stats.rw_x_spin_round_count.add(counter_index, + spin_count); /* Locking succeeded */ return; @@ -838,22 +868,32 @@ ulint spin_count = 0; uint64_t count_os_wait = 0; ulint spin_wait_count = 0; + const os_thread_id_t curr_thread = os_thread_get_curr_id(); + + /* We reuse the thread id to index into the counter, cache + it here for efficiency. */ + + const size_t counter_index = (size_t) ut_rnd_gen_next_ulint( + (ulint) curr_thread); ut_ad(rw_lock_validate(lock)); ut_ad(!rw_lock_own(lock, RW_LOCK_S)); lock_loop: - if (rw_lock_sx_lock_low(lock, pass, file_name, line)) { + if (rw_lock_sx_lock_low(lock, pass, curr_thread, file_name, line)) { if (count_os_wait > 0) { lock->count_os_wait += static_cast(count_os_wait); - rw_lock_stats.rw_sx_os_wait_count.add(count_os_wait); + rw_lock_stats.rw_sx_os_wait_count.add(counter_index, + count_os_wait); } - rw_lock_stats.rw_sx_spin_round_count.add(spin_count); - rw_lock_stats.rw_sx_spin_wait_count.add(spin_wait_count); + rw_lock_stats.rw_sx_spin_round_count.add(counter_index, + spin_count); + rw_lock_stats.rw_sx_spin_wait_count.add(counter_index, + spin_wait_count); /* Locking succeeded */ return; @@ -896,18 +936,21 @@ is sent. This could lead to a few unnecessary wake-up signals. */ rw_lock_set_waiter_flag(lock); - if (rw_lock_sx_lock_low(lock, pass, file_name, line)) { + if (rw_lock_sx_lock_low(lock, pass, curr_thread, file_name, line)) { sync_array_free_cell(sync_arr, cell); if (count_os_wait > 0) { lock->count_os_wait += static_cast(count_os_wait); - rw_lock_stats.rw_sx_os_wait_count.add(count_os_wait); + rw_lock_stats.rw_sx_os_wait_count.add(counter_index, + count_os_wait); } - rw_lock_stats.rw_sx_spin_round_count.add(spin_count); - rw_lock_stats.rw_sx_spin_wait_count.add(spin_wait_count); + rw_lock_stats.rw_sx_spin_round_count.add(counter_index, + spin_count); + rw_lock_stats.rw_sx_spin_wait_count.add(counter_index, + spin_wait_count); /* Locking succeeded */ return; @@ -922,6 +965,25 @@ goto lock_loop; } +/******************************************************************//** +NOTE! Use the corresponding macro, not directly this function! Lock an +rw-lock in SX mode for the current thread if the lock can be +obtained immediately. +@return FALSE if did not succeed, TRUE if success. */ +ibool +rw_lock_sx_lock_func_nowait( +/*========================*/ + rw_lock_t* lock, /*!< in: pointer to rw-lock */ + ulint pass, /*!< in: pass value; != 0, if the lock will + be passed to another thread to unlock */ + const char* file_name,/*!< in: file name where lock requested */ + ulint line) /*!< in: line where requested */ +{ + const os_thread_id_t curr_thread = os_thread_get_curr_id(); + + return(rw_lock_sx_lock_low(lock, pass, curr_thread, file_name, line)); +} + #ifdef UNIV_DEBUG /******************************************************************//** diff -Nru mysql-5.7-5.7.33/storage/innobase/sync/sync0sync.cc mysql-5.7-5.7.34/storage/innobase/sync/sync0sync.cc --- mysql-5.7-5.7.33/storage/innobase/sync/sync0sync.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/sync/sync0sync.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1995, 2021, Oracle and/or its affiliates. Copyright (c) 2008, Google Inc. Portions of this file contain modifications contributed and copyrighted by diff -Nru mysql-5.7-5.7.33/storage/innobase/trx/trx0i_s.cc mysql-5.7-5.7.34/storage/innobase/trx/trx0i_s.cc --- mysql-5.7-5.7.33/storage/innobase/trx/trx0i_s.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/trx/trx0i_s.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2007, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/trx/trx0purge.cc mysql-5.7-5.7.34/storage/innobase/trx/trx0purge.cc --- mysql-5.7-5.7.33/storage/innobase/trx/trx0purge.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/trx/trx0purge.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/trx/trx0rec.cc mysql-5.7-5.7.34/storage/innobase/trx/trx0rec.cc --- mysql-5.7-5.7.33/storage/innobase/trx/trx0rec.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/trx/trx0rec.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/trx/trx0roll.cc mysql-5.7-5.7.34/storage/innobase/trx/trx0roll.cc --- mysql-5.7-5.7.33/storage/innobase/trx/trx0roll.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/trx/trx0roll.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2019, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/trx/trx0rseg.cc mysql-5.7-5.7.34/storage/innobase/trx/trx0rseg.cc --- mysql-5.7-5.7.33/storage/innobase/trx/trx0rseg.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/trx/trx0rseg.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/trx/trx0sys.cc mysql-5.7-5.7.34/storage/innobase/trx/trx0sys.cc --- mysql-5.7-5.7.33/storage/innobase/trx/trx0sys.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/trx/trx0sys.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/trx/trx0trx.cc mysql-5.7-5.7.34/storage/innobase/trx/trx0trx.cc --- mysql-5.7-5.7.33/storage/innobase/trx/trx0trx.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/trx/trx0trx.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -2172,7 +2172,7 @@ } else { serialised = false; } -#ifndef DBUG_OFF +#ifndef NDEBUG /* In case of this function is called from a stack executing THD::release_resources -> ... innobase_connection_close() -> diff -Nru mysql-5.7-5.7.33/storage/innobase/trx/trx0undo.cc mysql-5.7-5.7.34/storage/innobase/trx/trx0undo.cc --- mysql-5.7-5.7.33/storage/innobase/trx/trx0undo.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/trx/trx0undo.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/usr/usr0sess.cc mysql-5.7-5.7.34/storage/innobase/usr/usr0sess.cc --- mysql-5.7-5.7.33/storage/innobase/usr/usr0sess.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/usr/usr0sess.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1996, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0byte.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0byte.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0byte.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0byte.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2009, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0crc32.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0crc32.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0crc32.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0crc32.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 2009, 2010 Facebook, Inc. All Rights Reserved. -Copyright (c) 2011, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0dbg.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0dbg.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0dbg.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0dbg.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0list.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0list.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0list.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0list.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0mem.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0mem.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0mem.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0mem.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0new.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0new.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0new.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0new.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2014, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0rbt.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0rbt.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0rbt.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0rbt.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************//** -Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2007, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0rnd.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0rnd.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0rnd.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0rnd.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0ut.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0ut.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0ut.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0ut.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2020, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0vec.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0vec.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0vec.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0vec.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2014, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/innobase/ut/ut0wqueue.cc mysql-5.7-5.7.34/storage/innobase/ut/ut0wqueue.cc --- mysql-5.7-5.7.33/storage/innobase/ut/ut0wqueue.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/innobase/ut/ut0wqueue.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 2006, 2015, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/CMakeLists.txt mysql-5.7-5.7.34/storage/myisam/CMakeLists.txt --- mysql-5.7-5.7.33/storage/myisam/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/ftbench/Ecompare.pl mysql-5.7-5.7.34/storage/myisam/ftbench/Ecompare.pl --- mysql-5.7-5.7.33/storage/myisam/ftbench/Ecompare.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ftbench/Ecompare.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Copyright (c) 2003, 2005 MySQL AB +# Copyright (c) 2003, 2021, Oracle and/or its affiliates. # Use is subject to license terms # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisam/ftbench/Ecreate.pl mysql-5.7-5.7.34/storage/myisam/ftbench/Ecreate.pl --- mysql-5.7-5.7.33/storage/myisam/ftbench/Ecreate.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ftbench/Ecreate.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Copyright (c) 2003, 2005 MySQL AB +# Copyright (c) 2003, 2021, Oracle and/or its affiliates. # Use is subject to license terms # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisam/ftbench/Ereport.pl mysql-5.7-5.7.34/storage/myisam/ftbench/Ereport.pl --- mysql-5.7-5.7.33/storage/myisam/ftbench/Ereport.pl 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ftbench/Ereport.pl 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/perl -# Copyright (c) 2003, 2005 MySQL AB +# Copyright (c) 2003, 2021, Oracle and/or its affiliates. # Use is subject to license terms # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisam/ftbench/ft-test-run.sh mysql-5.7-5.7.34/storage/myisam/ftbench/ft-test-run.sh --- mysql-5.7-5.7.33/storage/myisam/ftbench/ft-test-run.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ftbench/ft-test-run.sh 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (c) 2003, 2005, 2006 MySQL AB +# Copyright (c) 2003, 2021, Oracle and/or its affiliates. # Use is subject to license terms # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisam/ft_boolean_search.c mysql-5.7-5.7.34/storage/myisam/ft_boolean_search.c --- mysql-5.7-5.7.33/storage/myisam/ft_boolean_search.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ft_boolean_search.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -277,7 +277,7 @@ info->quot= 0; if (ftb_param->ftbe->up) { - DBUG_ASSERT(ftb_param->depth); + assert(ftb_param->depth); ftb_param->ftbe= ftb_param->ftbe->up; ftb_param->depth--; ftb_param->up_quot= 0; @@ -315,7 +315,7 @@ MYSQL_FTPARSER_PARAM *param; MY_FTB_PARAM ftb_param; DBUG_ENTER("_ftb_parse_query"); - DBUG_ASSERT(parser); + assert(parser); if (ftb->state != UNINITIALIZED) DBUG_RETURN(0); @@ -483,7 +483,7 @@ ftbw->key_root=info->lastpos; ftbw->keyinfo=& info->s->ft2_keyinfo; r=_mi_search_first(info, ftbw->keyinfo, ftbw->key_root); - DBUG_ASSERT(r==0); /* found something */ + assert(r==0); /* found something */ memcpy(lastkey_buf+off, info->lastkey, info->lastkey_length); } ftbw->docid[0]=info->lastpos; @@ -588,7 +588,7 @@ ftb->info=info; ftb->keynr=keynr; ftb->charset=cs; - DBUG_ASSERT(keynr==NO_SUCH_KEY || cs == info->s->keyinfo[keynr].seg->charset); + assert(keynr==NO_SUCH_KEY || cs == info->s->keyinfo[keynr].seg->charset); ftb->with_scan=0; ftb->lastpos=HA_OFFSET_ERROR; memset(&ftb->no_dupes, 0, sizeof(TREE)); @@ -719,7 +719,7 @@ MY_FTB_PHRASE_PARAM ftb_param; MYSQL_FTPARSER_PARAM *param; DBUG_ENTER("_ftb_check_phrase"); - DBUG_ASSERT(parser); + assert(parser); if (! (param= ftparser_call_initializer(ftb->info, ftb->keynr, 1))) DBUG_RETURN(0); diff -Nru mysql-5.7-5.7.33/storage/myisam/ftdefs.h mysql-5.7-5.7.34/storage/myisam/ftdefs.h --- mysql-5.7-5.7.33/storage/myisam/ftdefs.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ftdefs.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/ft_nlq_search.c mysql-5.7-5.7.34/storage/myisam/ft_nlq_search.c --- mysql-5.7-5.7.33/storage/myisam/ft_nlq_search.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ft_nlq_search.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/ft_parser.c mysql-5.7-5.7.34/storage/myisam/ft_parser.c --- mysql-5.7-5.7.33/storage/myisam/ft_parser.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ft_parser.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify @@ -276,7 +276,7 @@ if (param->flags & MYSQL_FTFLAGS_NEED_COPY) { uchar *ptr; - DBUG_ASSERT(wtree->with_delete == 0); + assert(wtree->with_delete == 0); ptr= (uchar *)alloc_root(ft_param->mem_root, word_len); memcpy(ptr, word, word_len); w.pos= ptr; @@ -316,7 +316,7 @@ { MY_FT_PARSER_PARAM my_param; DBUG_ENTER("ft_parse"); - DBUG_ASSERT(parser); + assert(parser); my_param.wtree= wtree; my_param.mem_root= mem_root; @@ -378,7 +378,7 @@ ftparser_nr= info->s->keyinfo[keynr].ftkey_nr; parser= info->s->keyinfo[keynr].parser; } - DBUG_ASSERT(paramnr < MAX_PARAM_NR); + assert(paramnr < MAX_PARAM_NR); ftparser_nr= ftparser_nr*MAX_PARAM_NR + paramnr; if (! info->ftparser_param[ftparser_nr].mysql_add_word) { diff -Nru mysql-5.7-5.7.33/storage/myisam/ft_static.c mysql-5.7-5.7.34/storage/myisam/ft_static.c --- mysql-5.7-5.7.33/storage/myisam/ft_static.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ft_static.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/ft_stopwords.c mysql-5.7-5.7.34/storage/myisam/ft_stopwords.c --- mysql-5.7-5.7.33/storage/myisam/ft_stopwords.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ft_stopwords.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/ft_update.c mysql-5.7-5.7.34/storage/myisam/ft_update.c --- mysql-5.7-5.7.33/storage/myisam/ft_update.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ft_update.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/fulltext.h mysql-5.7-5.7.34/storage/myisam/fulltext.h --- mysql-5.7-5.7.33/storage/myisam/fulltext.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/fulltext.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/ha_myisam.cc mysql-5.7-5.7.34/storage/myisam/ha_myisam.cc --- mysql-5.7-5.7.33/storage/myisam/ha_myisam.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ha_myisam.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -110,7 +110,7 @@ "and NULLS_IGNORED", NULL, NULL, MI_STATS_METHOD_NULLS_NOT_EQUAL, &myisam_stats_method_typelib); -#ifndef DBUG_OFF +#ifndef NDEBUG /** Causes the thread to wait in a spin lock for a query kill signal. This function is used by the test frame work to identify race conditions. @@ -1720,7 +1720,7 @@ enum ha_rkey_function find_flag) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_key_count); int error=mi_rkey(file, buf, active_index, key, keypart_map, find_flag); table->status=error ? STATUS_NOT_FOUND: 0; @@ -1732,8 +1732,8 @@ key_part_map keypart_map, enum ha_rkey_function find_flag) { - DBUG_ASSERT(pushed_idx_cond == NULL); - DBUG_ASSERT(pushed_idx_cond_keyno == MAX_KEY); + assert(pushed_idx_cond == NULL); + assert(pushed_idx_cond_keyno == MAX_KEY); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); ha_statistic_increment(&SSV::ha_read_key_count); int error=mi_rkey(file, buf, index, key, keypart_map, find_flag); @@ -1747,7 +1747,7 @@ { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); DBUG_ENTER("ha_myisam::index_read_last"); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_key_count); int error=mi_rkey(file, buf, active_index, key, keypart_map, HA_READ_PREFIX_LAST); @@ -1759,7 +1759,7 @@ int ha_myisam::index_next(uchar *buf) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_next_count); int error=mi_rnext(file,buf,active_index); table->status=error ? STATUS_NOT_FOUND: 0; @@ -1770,7 +1770,7 @@ int ha_myisam::index_prev(uchar *buf) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_prev_count); int error=mi_rprev(file,buf, active_index); table->status=error ? STATUS_NOT_FOUND: 0; @@ -1781,7 +1781,7 @@ int ha_myisam::index_first(uchar *buf) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_first_count); int error=mi_rfirst(file, buf, active_index); table->status=error ? STATUS_NOT_FOUND: 0; @@ -1792,7 +1792,7 @@ int ha_myisam::index_last(uchar *buf) { MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); ha_statistic_increment(&SSV::ha_read_last_count); int error=mi_rlast(file, buf, active_index); table->status=error ? STATUS_NOT_FOUND: 0; @@ -1805,7 +1805,7 @@ uint length MY_ATTRIBUTE((unused))) { int error; - DBUG_ASSERT(inited==INDEX); + assert(inited==INDEX); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); ha_statistic_increment(&SSV::ha_read_next_count); do @@ -1943,8 +1943,8 @@ int ha_myisam::reset(void) { /* Reset MyISAM specific part for index condition pushdown */ - DBUG_ASSERT(pushed_idx_cond == NULL); - DBUG_ASSERT(pushed_idx_cond_keyno == MAX_KEY); + assert(pushed_idx_cond == NULL); + assert(pushed_idx_cond_keyno == MAX_KEY); mi_set_index_cond_func(file, NULL, 0); ds_mrr.reset(); return mi_reset(file); diff -Nru mysql-5.7-5.7.33/storage/myisam/ha_myisam.h mysql-5.7-5.7.34/storage/myisam/ha_myisam.h --- mysql-5.7-5.7.33/storage/myisam/ha_myisam.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/ha_myisam.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_cache.c mysql-5.7-5.7.34/storage/myisam/mi_cache.c --- mysql-5.7-5.7.33/storage/myisam/mi_cache.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_cache.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_changed.c mysql-5.7-5.7.34/storage/myisam/mi_changed.c --- mysql-5.7-5.7.33/storage/myisam/mi_changed.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_changed.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2005, 2006 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_check.c mysql-5.7-5.7.34/storage/myisam/mi_check.c --- mysql-5.7-5.7.33/storage/myisam/mi_check.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_check.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -874,7 +874,7 @@ } if (record >= info->state->data_file_length) { -#ifndef DBUG_OFF +#ifndef NDEBUG char llbuff2[22], llbuff3[22]; #endif mi_check_print_error(param,"Found key at page %s that points to record outside datafile",llstr(page,llbuff)); @@ -1555,7 +1555,7 @@ if (info->s->options & (HA_OPTION_CHECKSUM | HA_OPTION_COMPRESS_RECORD)) param->testflag|=T_CALC_CHECKSUM; - DBUG_ASSERT(param->use_buffers < SIZE_T_MAX); + assert(param->use_buffers < SIZE_T_MAX); if (!param->using_global_keycache) (void) init_key_cache(dflt_key_cache, param->key_cache_block_size, @@ -2070,7 +2070,7 @@ DBUG_ENTER("sort_one_index"); /* cannot walk over R-tree indices */ - DBUG_ASSERT(keyinfo->key_alg != HA_KEY_ALG_RTREE); + assert(keyinfo->key_alg != HA_KEY_ALG_RTREE); new_page_pos=param->new_file_pos; param->new_file_pos+=keyinfo->block_length; @@ -2109,7 +2109,7 @@ if (keypos >= endpos || (key_length=(*keyinfo->get_key)(keyinfo,nod_flag,&keypos,key)) == 0) break; - DBUG_ASSERT(keypos <= endpos); + assert(keypos <= endpos); if (keyinfo->flag & HA_FULLTEXT) { uint off; @@ -3846,7 +3846,7 @@ _mi_print_key(stdout,sort_param->seg,(uchar*) a, USE_WHOLE_KEY); return (sort_delete_record(sort_param)); } -#ifndef DBUG_OFF +#ifndef NDEBUG if (cmp > 0) { mi_check_print_error(param, @@ -4685,8 +4685,8 @@ MI_KEYDEF *key=share->keyinfo; uint i; - DBUG_ASSERT(info->state->records == 0 && - (!rows || rows >= MI_MIN_ROWS_TO_DISABLE_INDEXES)); + assert(info->state->records == 0 && + (!rows || rows >= MI_MIN_ROWS_TO_DISABLE_INDEXES)); for (i=0 ; i < share->base.keys ; i++,key++) { if (!(key->flag & (HA_NOSAME | HA_SPATIAL | HA_AUTO_KEY)) && @@ -4831,7 +4831,7 @@ break; case HA_KEYTYPE_END: /* purecov: inspected */ /* keep compiler happy */ - DBUG_ASSERT(0); + assert(0); break; } } diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_checksum.c mysql-5.7-5.7.34/storage/myisam/mi_checksum.c --- mysql-5.7-5.7.33/storage/myisam/mi_checksum.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_checksum.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_close.c mysql-5.7-5.7.34/storage/myisam/mi_close.c --- mysql-5.7-5.7.33/storage/myisam/mi_close.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_close.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_create.c mysql-5.7-5.7.34/storage/myisam/mi_create.c --- mysql-5.7-5.7.33/storage/myisam/mi_create.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_create.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -387,7 +387,7 @@ } if (keyseg->flag & HA_SPACE_PACK) { - DBUG_ASSERT(!(keyseg->flag & HA_VAR_LENGTH_PART)); + assert(!(keyseg->flag & HA_VAR_LENGTH_PART)); keydef->flag |= HA_SPACE_PACK_USED | HA_VAR_LENGTH_KEY; options|=HA_OPTION_PACK_KEYS; /* Using packed keys */ length++; /* At least one length byte */ @@ -400,8 +400,8 @@ } if (keyseg->flag & (HA_VAR_LENGTH_PART | HA_BLOB_PART)) { - DBUG_ASSERT(!test_all_bits(keyseg->flag, - (HA_VAR_LENGTH_PART | HA_BLOB_PART))); + assert(!test_all_bits(keyseg->flag, + (HA_VAR_LENGTH_PART | HA_BLOB_PART))); keydef->flag|=HA_VAR_LENGTH_KEY; length++; /* At least one length byte */ options|=HA_OPTION_PACK_KEYS; /* Using packed keys */ @@ -692,7 +692,7 @@ if (mi_state_info_write(file, &share.state, 2) || mi_base_info_write(file, &share.base)) goto err; -#ifndef DBUG_OFF +#ifndef NDEBUG if ((uint) mysql_file_tell(file, MYF(0)) != base_pos + MI_BASE_INFO_SIZE) { uint pos=(uint) mysql_file_tell(file, MYF(0)); @@ -787,7 +787,7 @@ if (mi_recinfo_write(file, &recinfo[i])) goto err; -#ifndef DBUG_OFF +#ifndef NDEBUG if ((uint) mysql_file_tell(file, MYF(0)) != info_length) { uint pos= (uint) mysql_file_tell(file, MYF(0)); @@ -848,7 +848,7 @@ uint mi_get_pointer_length(ulonglong file_length, uint def) { - DBUG_ASSERT(def >= 2 && def <= 7); + assert(def >= 2 && def <= 7); if (file_length) /* If not default */ { if (file_length >= 1ULL << 48) diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_dbug.c mysql-5.7-5.7.34/storage/myisam/mi_dbug.c --- mysql-5.7-5.7.33/storage/myisam/mi_dbug.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_dbug.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_delete_all.c mysql-5.7-5.7.34/storage/myisam/mi_delete_all.c --- mysql-5.7-5.7.33/storage/myisam/mi_delete_all.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_delete_all.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_delete.c mysql-5.7-5.7.34/storage/myisam/mi_delete.c --- mysql-5.7-5.7.33/storage/myisam/mi_delete.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_delete.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -251,7 +251,7 @@ get_key_full_length_rdonly(off, lastkey); subkeys=ft_sintXkorr(lastkey+off); - DBUG_ASSERT(info->ft1_to_ft2==0 || subkeys >=0); + assert(info->ft1_to_ft2==0 || subkeys >=0); comp_flag=SEARCH_SAME; if (subkeys >= 0) { diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_delete_table.c mysql-5.7-5.7.34/storage/myisam/mi_delete_table.c --- mysql-5.7-5.7.33/storage/myisam/mi_delete_table.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_delete_table.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_dynrec.c mysql-5.7-5.7.34/storage/myisam/mi_dynrec.c --- mysql-5.7-5.7.33/storage/myisam/mi_dynrec.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_dynrec.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -290,7 +290,7 @@ record); DBUG_PRINT("info",("reclength: %lu reclength2: %lu", reclength, reclength2)); - DBUG_ASSERT(reclength2 <= reclength); + assert(reclength2 <= reclength); error=write_dynamic_record(info,rec_buff+ALIGN_SIZE(MI_MAX_DYN_BLOCK_HEADER), reclength2); my_free(rec_buff); diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_extra.c mysql-5.7-5.7.34/storage/myisam/mi_extra.c --- mysql-5.7-5.7.33/storage/myisam/mi_extra.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_extra.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_extrafunc.h mysql-5.7-5.7.34/storage/myisam/mi_extrafunc.h --- mysql-5.7-5.7.33/storage/myisam/mi_extrafunc.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_extrafunc.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_info.c mysql-5.7-5.7.34/storage/myisam/mi_info.c --- mysql-5.7-5.7.33/storage/myisam/mi_info.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_info.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_key.c mysql-5.7-5.7.34/storage/myisam/mi_key.c --- mysql-5.7-5.7.33/storage/myisam/mi_key.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_key.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -225,7 +225,7 @@ keypart_map= (((key_part_map)1) << (2*SPDIMS)) - 1; /* only key prefixes are supported */ - DBUG_ASSERT(((keypart_map+1) & keypart_map) == 0); + assert(((keypart_map+1) & keypart_map) == 0); for (keyseg= info->s->keyinfo[keynr].seg ; keyseg->type && keypart_map; old+= keyseg->length, keyseg++) @@ -571,7 +571,7 @@ value= uint8korr(key); break; default: - DBUG_ASSERT(0); + assert(0); value=0; /* Error */ break; } diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_keycache.c mysql-5.7-5.7.34/storage/myisam/mi_keycache.c --- mysql-5.7-5.7.33/storage/myisam/mi_keycache.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_keycache.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_locking.c mysql-5.7-5.7.34/storage/myisam/mi_locking.c --- mysql-5.7-5.7.33/storage/myisam/mi_locking.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_locking.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -288,7 +288,7 @@ (long) info->s->state.state.key_file_length, (long) info->s->state.state.data_file_length, concurrent_insert)); -#ifndef DBUG_OFF +#ifndef NDEBUG if (info->state->key_file_length > info->s->state.state.key_file_length || info->state->data_file_length > info->s->state.state.data_file_length) DBUG_PRINT("warning",("old info: key_file: %ld data_file: %ld", @@ -315,7 +315,7 @@ */ if (info->state == &info->save_state) { -#ifndef DBUG_OFF +#ifndef NDEBUG DBUG_PRINT("info",("updating status: key_file: %ld data_file: %ld", (long) info->state->key_file_length, (long) info->state->data_file_length)); diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_log.c mysql-5.7-5.7.34/storage/myisam/mi_log.c --- mysql-5.7-5.7.33/storage/myisam/mi_log.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_log.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_open.c mysql-5.7-5.7.34/storage/myisam/mi_open.c --- mysql-5.7-5.7.33/storage/myisam/mi_open.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_open.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_packrec.c mysql-5.7-5.7.34/storage/myisam/mi_packrec.c --- mysql-5.7-5.7.33/storage/myisam/mi_packrec.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_packrec.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -1330,7 +1330,7 @@ &info->rec_buff, info->dfile, filepos); if (b_type) goto err; /* Error code is already set */ -#ifndef DBUG_OFF +#ifndef NDEBUG if (block_info.rec_len > share->max_pack_length) { set_my_errno(HA_ERR_WRONG_IN_RECORD); @@ -1555,7 +1555,7 @@ void _mi_unmap_file(MI_INFO *info) { - DBUG_ASSERT(info->s->options & HA_OPTION_COMPRESS_RECORD); + assert(info->s->options & HA_OPTION_COMPRESS_RECORD); (void) my_munmap((char*) info->s->file_map, (size_t) info->s->mmaped_length); @@ -1631,7 +1631,7 @@ (start=share->file_map+ filepos)))) goto err; -#ifndef DBUG_OFF +#ifndef NDEBUG if (block_info.rec_len > info->s->max_pack_length) { set_my_errno(HA_ERR_WRONG_IN_RECORD); @@ -1668,7 +1668,7 @@ *(uchar*) block_buff=255; if (version == 1) /* old format */ { - DBUG_ASSERT(length <= 0xFFFFFF); + assert(length <= 0xFFFFFF); int3store(block_buff + 1, (ulong) length); return 4; } diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_page.c mysql-5.7-5.7.34/storage/myisam/mi_page.c --- mysql-5.7-5.7.33/storage/myisam/mi_page.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_page.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_panic.c mysql-5.7-5.7.34/storage/myisam/mi_panic.c --- mysql-5.7-5.7.33/storage/myisam/mi_panic.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_panic.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_preload.c mysql-5.7-5.7.34/storage/myisam/mi_preload.c --- mysql-5.7-5.7.33/storage/myisam/mi_preload.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_preload.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -61,7 +61,7 @@ DBUG_RETURN(0); /* Preload into a non initialized key cache should never happen. */ - DBUG_ASSERT(share->key_cache->key_cache_inited); + assert(share->key_cache->key_cache_inited); block_length= keyinfo[0].block_length; diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_range.c mysql-5.7-5.7.34/storage/myisam/mi_range.c --- mysql-5.7-5.7.33/storage/myisam/mi_range.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_range.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify @@ -134,7 +134,7 @@ DBUG_ENTER("_mi_record_pos"); DBUG_PRINT("enter",("search_flag: %d",search_flag)); - DBUG_ASSERT(keypart_map); + assert(keypart_map); key_buff=info->lastkey+info->s->base.max_key_length; key_len=_mi_pack_key(info,inx,key_buff,(uchar*) key, keypart_map, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_rename.c mysql-5.7-5.7.34/storage/myisam/mi_rename.c --- mysql-5.7-5.7.33/storage/myisam/mi_rename.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_rename.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_rfirst.c mysql-5.7-5.7.34/storage/myisam/mi_rfirst.c --- mysql-5.7-5.7.33/storage/myisam/mi_rfirst.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_rfirst.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2005-2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_rkey.c mysql-5.7-5.7.34/storage/myisam/mi_rkey.c --- mysql-5.7-5.7.33/storage/myisam/mi_rkey.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_rkey.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2020, Oracle and/or its affiliates. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -63,7 +63,7 @@ } else { - DBUG_ASSERT(keypart_map); + assert(keypart_map); /* Save the packed key for later use in the second buffer of lastkey. */ key_buff=info->lastkey+info->s->base.max_key_length; pack_key_length=_mi_pack_key(info,(uint) inx, key_buff, (uchar*) key, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_rlast.c mysql-5.7-5.7.34/storage/myisam/mi_rlast.c --- mysql-5.7-5.7.33/storage/myisam/mi_rlast.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_rlast.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2005-2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_rnext.c mysql-5.7-5.7.34/storage/myisam/mi_rnext.c --- mysql-5.7-5.7.33/storage/myisam/mi_rnext.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_rnext.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_rnext_same.c mysql-5.7-5.7.34/storage/myisam/mi_rnext_same.c --- mysql-5.7-5.7.33/storage/myisam/mi_rnext_same.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_rnext_same.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_rprev.c mysql-5.7-5.7.34/storage/myisam/mi_rprev.c --- mysql-5.7-5.7.33/storage/myisam/mi_rprev.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_rprev.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_rrnd.c mysql-5.7-5.7.34/storage/myisam/mi_rrnd.c --- mysql-5.7-5.7.33/storage/myisam/mi_rrnd.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_rrnd.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_rsame.c mysql-5.7-5.7.34/storage/myisam/mi_rsame.c --- mysql-5.7-5.7.33/storage/myisam/mi_rsame.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_rsame.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_rsamepos.c mysql-5.7-5.7.34/storage/myisam/mi_rsamepos.c --- mysql-5.7-5.7.33/storage/myisam/mi_rsamepos.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_rsamepos.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_scan.c mysql-5.7-5.7.34/storage/myisam/mi_scan.c --- mysql-5.7-5.7.33/storage/myisam/mi_scan.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_scan.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_search.c mysql-5.7-5.7.34/storage/myisam/mi_search.c --- mysql-5.7-5.7.33/storage/myisam/mi_search.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_search.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -499,7 +499,7 @@ for (vseg_end= vseg + (len-cmplen) ; vseg < vseg_end && *vseg == (uchar) ' '; vseg++, matched++) ; - DBUG_ASSERT(vseg < vseg_end); + assert(vseg < vseg_end); if (*vseg > (uchar) ' ') { @@ -525,7 +525,7 @@ visited and 0 otherwise, i.e. flag <=0 here always !!! */ fix_flag: - DBUG_ASSERT(flag <= 0); + assert(flag <= 0); if (nextflag & (SEARCH_NO_FIND | SEARCH_LAST)) flag=(nextflag & (SEARCH_BIGGER | SEARCH_LAST)) ? -1 : 1; if (flag>=0) diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_static.c mysql-5.7-5.7.34/storage/myisam/mi_static.c --- mysql-5.7-5.7.33/storage/myisam/mi_static.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_static.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_statrec.c mysql-5.7-5.7.34/storage/myisam/mi_statrec.c --- mysql-5.7-5.7.33/storage/myisam/mi_statrec.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_statrec.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_test1.c mysql-5.7-5.7.34/storage/myisam/mi_test1.c --- mysql-5.7-5.7.33/storage/myisam/mi_test1.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_test1.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -541,7 +541,7 @@ { {"checksum", 'c', "Undocumented", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifndef DBUG_OFF +#ifndef NDEBUG {"debug", '#', "Undocumented", 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, #endif diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_test2.c mysql-5.7-5.7.34/storage/myisam/mi_test2.c --- mysql-5.7-5.7.33/storage/myisam/mi_test2.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_test2.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -25,8 +25,8 @@ #ifndef USE_MY_FUNC /* We want to be able to dbug this !! */ #define USE_MY_FUNC #endif -#ifdef DBUG_OFF -#undef DBUG_OFF +#ifdef NDEBUG +#undef NDEBUG #endif #include "myisamdef.h" #include diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_test3.c mysql-5.7-5.7.34/storage/myisam/mi_test3.c --- mysql-5.7-5.7.33/storage/myisam/mi_test3.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_test3.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_test_all.sh mysql-5.7-5.7.34/storage/myisam/mi_test_all.sh --- mysql-5.7-5.7.33/storage/myisam/mi_test_all.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_test_all.sh 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (C) 2000, 2007 MySQL AB +# Copyright (c) 2000, 2021, Oracle and/or its affiliates. # Use is subject to license terms # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_unique.c mysql-5.7-5.7.34/storage/myisam/mi_unique.c --- mysql-5.7-5.7.33/storage/myisam/mi_unique.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_unique.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_update.c mysql-5.7-5.7.34/storage/myisam/mi_update.c --- mysql-5.7-5.7.33/storage/myisam/mi_update.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_update.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/mi_write.c mysql-5.7-5.7.34/storage/myisam/mi_write.c --- mysql-5.7-5.7.33/storage/myisam/mi_write.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/mi_write.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -403,7 +403,7 @@ &root, comp_flag); _mi_dpointer(info, keypos+HA_FT_WLEN, root); subkeys--; /* should there be underflow protection ? */ - DBUG_ASSERT(subkeys < 0); + assert(subkeys < 0); ft_intXstore(keypos, subkeys); if (!error) error=_mi_write_keypage(info,keyinfo,page,DFLT_INIT_HITS,temp_buff); @@ -484,7 +484,7 @@ (key_pos == endpos ? (uchar*) 0 : key_pos), prev_key, prev_key, key,&s_temp); -#ifndef DBUG_OFF +#ifndef NDEBUG if (key_pos != anc_buff+2+nod_flag && (keyinfo->flag & (HA_BINARY_PACK_KEY | HA_PACK_KEY))) { @@ -536,14 +536,14 @@ uchar *a=key, *b=anc_buff+2+nod_flag; uint alen, blen, ft2len=info->s->ft2_keyinfo.keylength; /* the very first key on the page is always unpacked */ - DBUG_ASSERT((*b & 128) == 0); + assert((*b & 128) == 0); #if HA_FT_MAXLEN >= 127 /* TODO: Undefined symbol */ blen= mi_uint2korr(b); b+=2; #else blen= *b++; #endif get_key_length(alen,a); - DBUG_ASSERT(info->ft1_to_ft2==0); + assert(info->ft1_to_ft2==0); if (alen == blen && ha_compare_text(keyinfo->seg->charset, a, alen, b, blen, 0, 0)==0) { @@ -976,8 +976,8 @@ DBUG_ENTER("_mi_init_bulk_insert"); DBUG_PRINT("enter",("cache_size: %lu", cache_size)); - DBUG_ASSERT(!info->bulk_insert && - (!rows || rows >= MI_MIN_ROWS_TO_USE_BULK_INSERT)); + assert(!info->bulk_insert && + (!rows || rows >= MI_MIN_ROWS_TO_USE_BULK_INSERT)); mi_clear_all_keys_active(key_map); for (i=total_keylength=num_keys=0 ; i < share->base.keys ; i++) diff -Nru mysql-5.7-5.7.33/storage/myisam/myisamchk.c mysql-5.7-5.7.34/storage/myisam/myisamchk.c --- mysql-5.7-5.7.33/storage/myisam/myisamchk.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/myisamchk.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -187,7 +187,7 @@ {"correct-checksum", OPT_CORRECT_CHECKSUM, "Correct checksum information for table.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, #else @@ -371,7 +371,7 @@ puts("Used without options all tables on the command will be checked for errors"); printf("Usage: %s [OPTIONS] tables[.MYI]\n", my_progname_short); printf("\nGlobal options:\n"); -#ifndef DBUG_OFF +#ifndef NDEBUG printf("\ -#, --debug=... Output debug log. Often this is 'd:t:o,filename'.\n"); #endif diff -Nru mysql-5.7-5.7.33/storage/myisam/myisamdef.h mysql-5.7-5.7.34/storage/myisam/myisamdef.h --- mysql-5.7-5.7.33/storage/myisam/myisamdef.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/myisamdef.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/myisam_ftdump.c mysql-5.7-5.7.34/storage/myisam/myisam_ftdump.c --- mysql-5.7-5.7.33/storage/myisam/myisam_ftdump.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/myisam_ftdump.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/myisamlog.c mysql-5.7-5.7.34/storage/myisam/myisamlog.c --- mysql-5.7-5.7.33/storage/myisam/myisamlog.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/myisamlog.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/myisampack.c mysql-5.7-5.7.34/storage/myisam/myisampack.c --- mysql-5.7-5.7.33/storage/myisam/myisampack.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/myisampack.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -181,7 +181,7 @@ static int mrg_close(PACK_MRG_INFO *mrg); static int mrg_rrnd(PACK_MRG_INFO *info,uchar *buf); static void mrg_reset(PACK_MRG_INFO *mrg); -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) static void fakebigcodes(HUFF_COUNTS *huff_counts, HUFF_COUNTS *end_count); static int fakecmp(my_off_t **count1, my_off_t **count2); #endif @@ -279,7 +279,7 @@ {"character-sets-dir", OPT_CHARSETS_DIR_MP, "Directory where character sets are.", &charsets_dir, &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DBUG_OFF +#ifdef NDEBUG {"debug", '#', "This is a non-debug version. Catch this and exit.", 0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, #else @@ -2019,7 +2019,7 @@ char *ptr= digits; uint idx= bits; - DBUG_ASSERT(idx < sizeof(digits)); + assert(idx < sizeof(digits)); while (idx) *(ptr++)= '0' + ((char) (value >> (--idx)) & (char) 1); *ptr= '\0'; @@ -2048,7 +2048,7 @@ char *ptr= digits; uint idx= 2 * sizeof(value); /* Two hex digits per byte. */ - DBUG_ASSERT(idx < sizeof(digits)); + assert(idx < sizeof(digits)); while (idx) { if ((*(ptr++)= '0' + ((char) (value >> (4 * (--idx))) & (char) 0xf)) > '9') @@ -2930,8 +2930,8 @@ static void write_bits(ulonglong value, uint bits) { - DBUG_ASSERT(((bits < 8 * sizeof(value)) && ! (value >> bits)) || - (bits == 8 * sizeof(value))); + assert(((bits < 8 * sizeof(value)) && ! (value >> bits)) || + (bits == 8 * sizeof(value))); if ((file_buffer.bits-= (int) bits) >= 0) { @@ -3132,7 +3132,7 @@ } -#if !defined(DBUG_OFF) +#if !defined(NDEBUG) /* Fake the counts to get big Huffman codes. diff -Nru mysql-5.7-5.7.33/storage/myisam/rt_index.c mysql-5.7-5.7.34/storage/myisam/rt_index.c --- mysql-5.7-5.7.33/storage/myisam/rt_index.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/rt_index.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -182,14 +182,14 @@ // This is assumed to happen only when the index is empty. If that // doesn't hold, the code in mi_rkey() that checks the record // count has to be changed. - DBUG_ASSERT(info->s->state.state.records == 0); + assert(info->s->state.state.records == 0); set_my_errno(HA_ERR_END_OF_FILE); return -1; } // All empty indexes should be caught above. Negative record counts // should never occur. - DBUG_ASSERT(info->s->state.state.records > 0); + assert(info->s->state.state.records > 0); /* Save searched key, include data pointer. diff -Nru mysql-5.7-5.7.33/storage/myisam/rt_index.h mysql-5.7-5.7.34/storage/myisam/rt_index.h --- mysql-5.7-5.7.33/storage/myisam/rt_index.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/rt_index.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/rt_key.c mysql-5.7-5.7.34/storage/myisam/rt_key.c --- mysql-5.7-5.7.33/storage/myisam/rt_key.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/rt_key.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -48,16 +48,16 @@ if (nod_flag) { /* save key */ - DBUG_ASSERT(_mi_kpos(nod_flag, key) < info->state->key_file_length); + assert(_mi_kpos(nod_flag, key) < info->state->key_file_length); memcpy(rt_PAGE_END(page_buf), key - nod_flag, key_length + nod_flag); page_size += key_length + nod_flag; } else { /* save key */ - DBUG_ASSERT(_mi_dpos(info, nod_flag, key + key_length + - info->s->base.rec_reflength) < - info->state->data_file_length + info->s->base.pack_reclength); + assert(_mi_dpos(info, nod_flag, key + key_length + + info->s->base.rec_reflength) < + info->state->data_file_length + info->s->base.pack_reclength); memcpy(rt_PAGE_END(page_buf), key, key_length + info->s->base.rec_reflength); page_size += key_length + info->s->base.rec_reflength; diff -Nru mysql-5.7-5.7.33/storage/myisam/rt_key.h mysql-5.7-5.7.34/storage/myisam/rt_key.h --- mysql-5.7-5.7.33/storage/myisam/rt_key.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/rt_key.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/rt_mbr.c mysql-5.7-5.7.34/storage/myisam/rt_mbr.c --- mysql-5.7-5.7.33/storage/myisam/rt_mbr.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/rt_mbr.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -61,7 +61,7 @@ }\ else /* if unknown comparison operator */ \ { \ - DBUG_ASSERT(0); \ + assert(0); \ } #define RT_CMP_KORR(type, korr_func, len, nextflag) \ diff -Nru mysql-5.7-5.7.33/storage/myisam/rt_mbr.h mysql-5.7-5.7.34/storage/myisam/rt_mbr.h --- mysql-5.7-5.7.33/storage/myisam/rt_mbr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/rt_mbr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/rt_split.c mysql-5.7-5.7.34/storage/myisam/rt_split.c --- mysql-5.7-5.7.33/storage/myisam/rt_split.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/rt_split.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/rt_test.c mysql-5.7-5.7.34/storage/myisam/rt_test.c --- mysql-5.7-5.7.33/storage/myisam/rt_test.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/rt_test.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/sort.cc mysql-5.7-5.7.34/storage/myisam/sort.cc --- mysql-5.7-5.7.33/storage/myisam/sort.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/sort.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -829,7 +829,7 @@ close_cached_file(to_file); /* This holds old result */ if (to_file == t_file) { - DBUG_ASSERT(t_file2.type == WRITE_CACHE); + assert(t_file2.type == WRITE_CACHE); *t_file=t_file2; /* Copy result file */ t_file->current_pos= &t_file->write_pos; t_file->current_end= &t_file->write_end; @@ -951,7 +951,7 @@ count=error=0; maxcount=keys/((uint) (Tb-Fb) +1); - DBUG_ASSERT(maxcount > 0); + assert(maxcount > 0); if (to_file) to_start_filepos=my_b_tell(to_file); strpos=(uchar*) sort_keys; diff -Nru mysql-5.7-5.7.33/storage/myisam/sp_defs.h mysql-5.7-5.7.34/storage/myisam/sp_defs.h --- mysql-5.7-5.7.33/storage/myisam/sp_defs.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/sp_defs.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisam/sp_key.c mysql-5.7-5.7.34/storage/myisam/sp_key.c --- mysql-5.7-5.7.33/storage/myisam/sp_key.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/sp_key.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -64,10 +64,10 @@ uint length = keyseg->length, start= keyseg->start; double val; - DBUG_ASSERT(length == sizeof(double)); - DBUG_ASSERT(!(start % sizeof(double))); - DBUG_ASSERT(start < sizeof(mbr)); - DBUG_ASSERT(keyseg->type == HA_KEYTYPE_DOUBLE); + assert(length == sizeof(double)); + assert(!(start % sizeof(double))); + assert(start < sizeof(mbr)); + assert(keyseg->type == HA_KEYTYPE_DOUBLE); val= mbr[start / sizeof (double)]; if (my_isnan(val)) diff -Nru mysql-5.7-5.7.33/storage/myisam/sp_test.c mysql-5.7-5.7.34/storage/myisam/sp_test.c --- mysql-5.7-5.7.33/storage/myisam/sp_test.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisam/sp_test.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/CMakeLists.txt mysql-5.7-5.7.34/storage/myisammrg/CMakeLists.txt --- mysql-5.7-5.7.33/storage/myisammrg/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/ha_myisammrg.cc mysql-5.7-5.7.34/storage/myisammrg/ha_myisammrg.cc --- mysql-5.7-5.7.33/storage/myisammrg/ha_myisammrg.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/ha_myisammrg.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -278,7 +278,7 @@ } else { - DBUG_ASSERT(strlen(filename) < sizeof(dir_path)); + assert(strlen(filename) < sizeof(dir_path)); fn_format(dir_path, filename, "", "", 0); /* Extract child table name and database name from filename. */ dirlen= dirname_length(dir_path); @@ -360,7 +360,7 @@ DBUG_PRINT("myrg", ("test_if_locked_arg: %u", test_if_locked_arg)); /* Must not be used when table is open. */ - DBUG_ASSERT(!this->file); + assert(!this->file); /* Save for later use. */ test_if_locked= test_if_locked_arg; @@ -448,7 +448,7 @@ this->table->s->table_name.str, (long) this->table)); /* Must call this with open table. */ - DBUG_ASSERT(this->file); + assert(this->file); /* Ignore this for empty MERGE tables (UNION=()). */ if (!this->file->tables) @@ -458,10 +458,10 @@ } /* Must not call this with attached children. */ - DBUG_ASSERT(!this->file->children_attached); + assert(!this->file->children_attached); /* Must not call this with children list in place. */ - DBUG_ASSERT(this->children_l == NULL); + assert(this->children_l == NULL); /* Prevent inclusion of another MERGE table, which could make infinite @@ -645,7 +645,7 @@ Number of children in the list and MYRG_INFO::tables_count, which is used by caller of this function, should always match. */ - DBUG_ASSERT(child_l); + assert(child_l); child= child_l->table; @@ -812,7 +812,7 @@ DBUG_PRINT("myrg", ("test_if_locked: %u", this->test_if_locked)); /* Must call this with open table. */ - DBUG_ASSERT(this->file); + assert(this->file); /* A MERGE table with no children (empty union) is always seen as @@ -826,11 +826,11 @@ DBUG_PRINT("myrg", ("child tables: %u", this->file->tables)); /* Must not call this with attached children. */ - DBUG_ASSERT(!this->file->children_attached); + assert(!this->file->children_attached); DEBUG_SYNC(current_thd, "before_myisammrg_attach"); /* Must call this with children list in place. */ - DBUG_ASSERT(this->table->pos_in_table_list->next_global == this->children_l); + assert(this->table->pos_in_table_list->next_global == this->children_l); if (myrg_attach_children(this->file, this->test_if_locked | current_thd->open_options, @@ -910,7 +910,7 @@ goto err; /* purecov: inspected */ List_iterator_fast def_it(child_def_list); - DBUG_ASSERT(this->children_l); + assert(this->children_l); for (child_l= this->children_l; ; child_l= child_l->next_global) { Mrg_child_def *mrg_child_def= def_it++; @@ -963,7 +963,7 @@ DBUG_ENTER("ha_myisammrg::detach_children"); /* Must call this with open table. */ - DBUG_ASSERT(this->file); + assert(this->file); /* A MERGE table with no children (empty union) cannot be detached. */ if (!this->file->tables) @@ -980,7 +980,7 @@ for (child_l= this->children_l; ; child_l= child_l->next_global) { /* - Do not DBUG_ASSERT(child_l->table); open_tables might be + Do not assert(child_l->table); open_tables might be incomplete. Clear the table reference. @@ -1088,7 +1088,7 @@ int ha_myisammrg::write_row(uchar * buf) { DBUG_ENTER("ha_myisammrg::write_row"); - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); ha_statistic_increment(&SSV::ha_write_count); if (file->merge_insert_method == MERGE_INSERT_DISABLED || !file->tables) @@ -1105,14 +1105,14 @@ int ha_myisammrg::update_row(const uchar * old_data, uchar * new_data) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); ha_statistic_increment(&SSV::ha_update_count); return myrg_update(file,old_data,new_data); } int ha_myisammrg::delete_row(const uchar * buf) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); ha_statistic_increment(&SSV::ha_delete_count); return myrg_delete(file,buf); } @@ -1121,7 +1121,7 @@ key_part_map keypart_map, enum ha_rkey_function find_flag) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); ha_statistic_increment(&SSV::ha_read_key_count); int error=myrg_rkey(file,buf,active_index, key, keypart_map, find_flag); @@ -1134,7 +1134,7 @@ key_part_map keypart_map, enum ha_rkey_function find_flag) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); ha_statistic_increment(&SSV::ha_read_key_count); int error=myrg_rkey(file,buf,index, key, keypart_map, find_flag); @@ -1146,7 +1146,7 @@ int ha_myisammrg::index_read_last_map(uchar *buf, const uchar *key, key_part_map keypart_map) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); ha_statistic_increment(&SSV::ha_read_key_count); int error=myrg_rkey(file,buf,active_index, key, keypart_map, @@ -1158,7 +1158,7 @@ int ha_myisammrg::index_next(uchar * buf) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); ha_statistic_increment(&SSV::ha_read_next_count); int error=myrg_rnext(file,buf,active_index); @@ -1169,7 +1169,7 @@ int ha_myisammrg::index_prev(uchar * buf) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); ha_statistic_increment(&SSV::ha_read_prev_count); int error=myrg_rprev(file,buf, active_index); @@ -1180,7 +1180,7 @@ int ha_myisammrg::index_first(uchar * buf) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); ha_statistic_increment(&SSV::ha_read_first_count); int error=myrg_rfirst(file, buf, active_index); @@ -1191,7 +1191,7 @@ int ha_myisammrg::index_last(uchar * buf) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); ha_statistic_increment(&SSV::ha_read_last_count); int error=myrg_rlast(file, buf, active_index); @@ -1205,7 +1205,7 @@ uint length MY_ATTRIBUTE((unused))) { int error; - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); MYSQL_INDEX_READ_ROW_START(table_share->db.str, table_share->table_name.str); ha_statistic_increment(&SSV::ha_read_next_count); do @@ -1220,14 +1220,14 @@ int ha_myisammrg::rnd_init(bool scan) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); return myrg_reset(file); } int ha_myisammrg::rnd_next(uchar *buf) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); MYSQL_READ_ROW_START(table_share->db.str, table_share->table_name.str, TRUE); ha_statistic_increment(&SSV::ha_read_rnd_next_count); @@ -1240,7 +1240,7 @@ int ha_myisammrg::rnd_pos(uchar * buf, uchar *pos) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); MYSQL_READ_ROW_START(table_share->db.str, table_share->table_name.str, TRUE); ha_statistic_increment(&SSV::ha_read_rnd_count); @@ -1252,7 +1252,7 @@ void ha_myisammrg::position(const uchar *record) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); ulonglong row_position= myrg_position(file); my_store_ptr(ref, ref_length, (my_off_t) row_position); } @@ -1261,7 +1261,7 @@ ha_rows ha_myisammrg::records_in_range(uint inx, key_range *min_key, key_range *max_key) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); return (ha_rows) myrg_records_in_range(file, (int) inx, min_key, max_key); } @@ -1285,7 +1285,7 @@ int ha_myisammrg::info(uint flag) { MYMERGE_INFO mrg_info; - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); (void) myrg_status(file,&mrg_info,flag); /* The following fails if one has not compiled MySQL with -DBIG_TABLES @@ -1406,7 +1406,7 @@ int ha_myisammrg::extra_opt(enum ha_extra_function operation, ulong cache_size) { - DBUG_ASSERT(this->file->children_attached); + assert(this->file->children_attached); return myrg_extra(file, operation, (void*) &cache_size); } diff -Nru mysql-5.7-5.7.33/storage/myisammrg/ha_myisammrg.h mysql-5.7-5.7.34/storage/myisammrg/ha_myisammrg.h --- mysql-5.7-5.7.33/storage/myisammrg/ha_myisammrg.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/ha_myisammrg.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_close.c mysql-5.7-5.7.34/storage/myisammrg/myrg_close.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_close.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_close.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_create.c mysql-5.7-5.7.34/storage/myisammrg/myrg_create.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_create.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_create.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_def.h mysql-5.7-5.7.34/storage/myisammrg/myrg_def.h --- mysql-5.7-5.7.33/storage/myisammrg/myrg_def.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_def.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_delete.c mysql-5.7-5.7.34/storage/myisammrg/myrg_delete.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_delete.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_delete.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_extra.c mysql-5.7-5.7.34/storage/myisammrg/myrg_extra.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_extra.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_extra.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000-2003, 2005-2007 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_info.c mysql-5.7-5.7.34/storage/myisammrg/myrg_info.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_info.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_info.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2005, 2006 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_locking.c mysql-5.7-5.7.34/storage/myisammrg/myrg_locking.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_locking.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_locking.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_open.c mysql-5.7-5.7.34/storage/myisammrg/myrg_open.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_open.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_open.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -117,7 +117,7 @@ key_parts*sizeof(long), MYF(MY_WME|MY_ZEROFILL)))) goto err; - DBUG_ASSERT(files); + assert(files); m_info->open_tables=(MYRG_TABLE *) (m_info+1); m_info->rec_per_key_part=(ulong *) (m_info->open_tables+files); m_info->tables= files; diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_panic.c mysql-5.7-5.7.34/storage/myisammrg/myrg_panic.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_panic.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_panic.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_queue.c mysql-5.7-5.7.34/storage/myisammrg/myrg_queue.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_queue.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_queue.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -80,7 +80,7 @@ this branch with underlying table that has less keys than merge table have. */ - DBUG_ASSERT(!info->tables); + assert(!info->tables); error= HA_ERR_END_OF_FILE; set_my_errno(error); } diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_range.c mysql-5.7-5.7.34/storage/myisammrg/myrg_range.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_range.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_range.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2004-2006 MySQL AB +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_records.c mysql-5.7-5.7.34/storage/myisammrg/myrg_records.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_records.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_records.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2008 MySQL AB +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_rfirst.c mysql-5.7-5.7.34/storage/myisammrg/myrg_rfirst.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_rfirst.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_rfirst.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_rkey.c mysql-5.7-5.7.34/storage/myisammrg/myrg_rkey.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_rkey.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_rkey.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_rlast.c mysql-5.7-5.7.34/storage/myisammrg/myrg_rlast.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_rlast.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_rlast.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_rnext.c mysql-5.7-5.7.34/storage/myisammrg/myrg_rnext.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_rnext.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_rnext.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000-2003, 2005-2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_rnext_same.c mysql-5.7-5.7.34/storage/myisammrg/myrg_rnext_same.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_rnext_same.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_rnext_same.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2004-2007 MySQL AB +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_rprev.c mysql-5.7-5.7.34/storage/myisammrg/myrg_rprev.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_rprev.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_rprev.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000-2003, 2005-2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_rrnd.c mysql-5.7-5.7.34/storage/myisammrg/myrg_rrnd.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_rrnd.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_rrnd.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_rsame.c mysql-5.7-5.7.34/storage/myisammrg/myrg_rsame.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_rsame.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_rsame.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_static.c mysql-5.7-5.7.34/storage/myisammrg/myrg_static.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_static.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_static.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_update.c mysql-5.7-5.7.34/storage/myisammrg/myrg_update.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_update.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_update.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/myisammrg/myrg_write.c mysql-5.7-5.7.34/storage/myisammrg/myrg_write.c --- mysql-5.7-5.7.33/storage/myisammrg/myrg_write.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/myisammrg/myrg_write.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2001, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/partition/CMakeLists.txt mysql-5.7-5.7.34/storage/partition/CMakeLists.txt --- mysql-5.7-5.7.33/storage/partition/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/partition/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/partition/ha_partition.cc mysql-5.7-5.7.34/storage/partition/ha_partition.cc --- mysql-5.7-5.7.33/storage/partition/ha_partition.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/partition/ha_partition.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -73,7 +73,7 @@ #include "log.h" // sql_print_error #include "debug_sync.h" -#ifndef DBUG_OFF +#ifndef NDEBUG #include "sql_test.h" // print_where #endif @@ -177,7 +177,7 @@ bool Parts_share_refs::init(uint arg_num_parts) { - DBUG_ASSERT(!num_parts && !ha_shares); + assert(!num_parts && !ha_shares); num_parts= arg_num_parts; /* Allocate an array of Handler_share pointers */ ha_shares= new Handler_share *[num_parts]; @@ -469,7 +469,7 @@ } if (m_part_info) { - DBUG_ASSERT(m_tot_parts > 0); + assert(m_tot_parts > 0); if (new_handlers_from_part_info(mem_root)) DBUG_RETURN(true); } @@ -691,7 +691,7 @@ TABLE_SHARE *share= table_arg->s; DBUG_ENTER("ha_partition::create"); - DBUG_ASSERT(*fn_rext((char*)name) == '\0'); + assert(*fn_rext((char*)name) == '\0'); /* Not allowed to create temporary partitioned tables */ if (create_info && create_info->options & HA_LEX_CREATE_TMP_TABLE) @@ -702,7 +702,7 @@ if (get_from_handler_file(name, ha_thd()->mem_root, false)) DBUG_RETURN(TRUE); - DBUG_ASSERT(m_file_buffer); + assert(m_file_buffer); DBUG_PRINT("enter", ("name: (%s)", name)); name_buffer_ptr= m_name_buffer_ptr; file= m_file; @@ -944,7 +944,7 @@ error= file->preload_keys(thd, check_opt); else { - DBUG_ASSERT(FALSE); + assert(FALSE); error= 1; } if (error == HA_ADMIN_ALREADY_DONE) @@ -1444,16 +1444,16 @@ for (i= 0; i < num_parts; i++) { part_elem= part_it++; - DBUG_ASSERT(part_elem); + assert(part_elem); if (m_is_sub_partitioned) { List_iterator subpart_it(part_elem->subpartitions); for (j= 0; j < num_subparts; j++) { sub_elem= subpart_it++; - DBUG_ASSERT(sub_elem); + assert(sub_elem); part= i * num_subparts + j; - DBUG_ASSERT(part < m_file_tot_parts && m_file[part]); + assert(part < m_file_tot_parts && m_file[part]); if (ha_legacy_type(m_file[part]->ht) == DB_TYPE_INNODB) { dummy_info.data_file_name= dummy_info.index_file_name = NULL; @@ -1472,7 +1472,7 @@ } else { - DBUG_ASSERT(m_file[i]); + assert(m_file[i]); if (ha_legacy_type(m_file[i]->ht) == DB_TYPE_INNODB) { dummy_info.data_file_name= dummy_info.index_file_name= NULL; @@ -1514,7 +1514,7 @@ if (m_file) { file_array= m_file; - DBUG_ASSERT(*file_array); + assert(*file_array); do { (*file_array)->change_table_ptr(table_arg, share); @@ -1568,7 +1568,7 @@ if (get_from_handler_file(from, ha_thd()->mem_root, false)) DBUG_RETURN(error); - DBUG_ASSERT(m_file_buffer); + assert(m_file_buffer); DBUG_PRINT("enter", ("from: (%s) to: (%s)", from, to ? to : "(nil)")); name_buffer_ptr= m_name_buffer_ptr; file= m_file; @@ -1918,8 +1918,8 @@ } m_file_tot_parts= m_tot_parts; memset(m_file, 0, alloc_len); - DBUG_ASSERT(m_part_info->num_parts > 0); - DBUG_ASSERT(m_part_info->num_parts == m_part_info->partitions.elements); + assert(m_part_info->num_parts > 0); + assert(m_part_info->num_parts == m_part_info->partitions.elements); i= 0; part_count= 0; @@ -2012,7 +2012,7 @@ goto err2; m_tot_parts= uint4korr((file_buffer) + PAR_NUM_PARTS_OFFSET); DBUG_PRINT("info", ("No of parts = %u", m_tot_parts)); - DBUG_ASSERT(!m_file_tot_parts || m_file_tot_parts == m_tot_parts); + assert(!m_file_tot_parts || m_file_tot_parts == m_tot_parts); tot_partition_words= (m_tot_parts + PAR_WORD_SIZE - 1) / PAR_WORD_SIZE; tot_name_len_offset= file_buffer + PAR_ENGINES_OFFSET + @@ -2056,8 +2056,8 @@ handlerton *first_engine; enum legacy_db_type db_type, first_db_type; - DBUG_ASSERT(!m_file); - DBUG_ASSERT(!m_engine_array); + assert(!m_file); + assert(!m_engine_array); DBUG_ENTER("ha_partition::setup_engine_array"); buff= (uchar *) (m_file_buffer + PAR_ENGINES_OFFSET); @@ -2079,7 +2079,7 @@ DBUG_PRINT("error", ("partition %u engine %d is not same as " "first partition %d", i, db_type, (int) first_db_type)); - DBUG_ASSERT(0); + assert(0); clear_handler_file(); goto err; } @@ -2160,16 +2160,16 @@ uint i; DBUG_ENTER("ha_partition::set_ha_share_ref"); - DBUG_ASSERT(!part_share); - DBUG_ASSERT(table_share); - DBUG_ASSERT(!m_is_clone_of); - DBUG_ASSERT(m_tot_parts); + assert(!part_share); + assert(table_share); + assert(!m_is_clone_of); + assert(m_tot_parts); if (handler::set_ha_share_ref(ha_share_arg)) DBUG_RETURN(true); if (!(part_share= get_share())) DBUG_RETURN(true); - DBUG_ASSERT(part_share->partitions_share_refs); - DBUG_ASSERT(part_share->partitions_share_refs->num_parts >= m_tot_parts); + assert(part_share->partitions_share_refs); + assert(part_share->partitions_share_refs->num_parts >= m_tot_parts); ha_shares= part_share->partitions_share_refs->ha_shares; for (i= 0; i < m_tot_parts; i++) { @@ -2195,7 +2195,7 @@ { Ha_partition_share *tmp_share; DBUG_ENTER("ha_partition::get_share"); - DBUG_ASSERT(table_share); + assert(table_share); lock_shared_ha_data(); if (!(tmp_share= static_cast(get_ha_share_ptr()))) @@ -2274,7 +2274,7 @@ /* Initialize the bitmap for read/lock_partitions */ if (!m_is_clone_of) { - DBUG_ASSERT(!m_clone_mem_root); + assert(!m_clone_mem_root); if (m_part_info->set_partition_bitmaps(NULL)) { free_partition_bitmaps(); @@ -2317,8 +2317,8 @@ ulonglong check_table_flags; DBUG_ENTER("ha_partition::open"); - DBUG_ASSERT(table->s == table_share); - DBUG_ASSERT(m_part_info); + assert(table->s == table_share); + assert(m_part_info); ref_length= 0; m_mode= mode; m_open_test_lock= test_if_locked; @@ -2347,7 +2347,7 @@ { goto err; } - DBUG_ASSERT(!m_file_tot_parts || m_file_tot_parts == m_tot_parts); + assert(!m_file_tot_parts || m_file_tot_parts == m_tot_parts); if (!m_part_ids_sorted_by_num_of_records) { if (!(m_part_ids_sorted_by_num_of_records= @@ -2367,12 +2367,12 @@ goto err; } - DBUG_ASSERT(m_part_info); + assert(m_part_info); if (m_is_clone_of) { uint i, alloc_len; - DBUG_ASSERT(m_clone_mem_root); + assert(m_clone_mem_root); /* Allocate an array of handler pointers for the partitions handlers. */ alloc_len= (m_tot_parts + 1) * sizeof(handler*); if (!(m_file= (handler **) alloc_root(m_clone_mem_root, alloc_len))) @@ -2412,7 +2412,7 @@ goto err_handler; if (m_file == file) m_num_locks= (*file)->lock_count(); - DBUG_ASSERT(m_num_locks == (*file)->lock_count()); + assert(m_num_locks == (*file)->lock_count()); name_buffer_ptr+= strlen(name_buffer_ptr) + 1; } while (*(++file)); } @@ -2497,7 +2497,7 @@ handler::unbind_psi(); for (i= 0; i < m_tot_parts; i++) { - DBUG_ASSERT(m_file[i] != NULL); + assert(m_file[i] != NULL); m_file[i]->unbind_psi(); } DBUG_VOID_RETURN; @@ -2511,7 +2511,7 @@ handler::rebind_psi(); for (i= 0; i < m_tot_parts; i++) { - DBUG_ASSERT(m_file[i] != NULL); + assert(m_file[i] != NULL); m_file[i]->rebind_psi(); } DBUG_VOID_RETURN; @@ -2597,10 +2597,10 @@ handler **file; DBUG_ENTER("ha_partition::close"); - DBUG_ASSERT(table->s == table_share); + assert(table->s == table_share); close_partitioning(); free_partition_bitmaps(); - DBUG_ASSERT(m_part_info); + assert(m_part_info); file= m_file; do @@ -2659,7 +2659,7 @@ MY_BITMAP *used_partitions; DBUG_ENTER("ha_partition::external_lock"); - DBUG_ASSERT(!m_auto_increment_lock && !m_auto_increment_safe_stmt_log_lock); + assert(!m_auto_increment_lock && !m_auto_increment_safe_stmt_log_lock); if (lock_type == F_UNLCK) used_partitions= &m_locked_partitions; @@ -2759,7 +2759,7 @@ { uint i; DBUG_ENTER("ha_partition::store_lock"); - DBUG_ASSERT(thd == current_thd); + assert(thd == current_thd); /* This can be called from get_lock_data() in mysql_lock_abort_for_thread(), @@ -2806,15 +2806,15 @@ int error= 0; uint i; /* Assert that read_partitions is included in lock_partitions */ - DBUG_ASSERT(bitmap_is_subset(&m_part_info->read_partitions, - &m_part_info->lock_partitions)); + assert(bitmap_is_subset(&m_part_info->read_partitions, + &m_part_info->lock_partitions)); /* m_locked_partitions is set in previous external_lock/LOCK TABLES. Current statement's lock requests must not include any partitions not previously locked. */ - DBUG_ASSERT(bitmap_is_subset(&m_part_info->lock_partitions, - &m_locked_partitions)); + assert(bitmap_is_subset(&m_part_info->lock_partitions, + &m_locked_partitions)); DBUG_ENTER("ha_partition::start_stmt"); for (i= bitmap_get_first_set(&(m_part_info->lock_partitions)); @@ -2905,8 +2905,8 @@ bool ha_partition::was_semi_consistent_read() { DBUG_ENTER("ha_partition::was_semi_consistent_read"); - DBUG_ASSERT(m_last_part < m_tot_parts && - m_part_info->is_partition_used(m_last_part)); + assert(m_last_part < m_tot_parts && + m_part_info->is_partition_used(m_last_part)); DBUG_RETURN(m_file[m_last_part]->was_semi_consistent_read()); } @@ -2935,7 +2935,7 @@ DBUG_ENTER("ha_partition::try_semi_consistent_read"); i= m_part_info->get_first_used_partition(); - DBUG_ASSERT(i != MY_BIT_NONE); + assert(i != MY_BIT_NONE); for (; i < m_tot_parts; i= m_part_info->get_next_used_partition(i)) @@ -3179,7 +3179,7 @@ if (!bitmap_is_set(&m_bulk_insert_started, part_id) && bitmap_is_set(&m_bulk_insert_started, m_tot_parts)) { - DBUG_ASSERT(bitmap_is_set(&(m_part_info->lock_partitions), part_id)); + assert(bitmap_is_set(&(m_part_info->lock_partitions), part_id)); old_buffer_size= thd->variables.read_buff_size; /* Update read_buffer_size for this partition */ thd->variables.read_buff_size= estimate_read_buffer_size(old_buffer_size); @@ -3279,7 +3279,7 @@ if (!bitmap_is_set(&m_bulk_insert_started, m_tot_parts)) { - DBUG_ASSERT(0); + assert(0); DBUG_RETURN(error); } @@ -3851,10 +3851,10 @@ int res, error= 0; DBUG_ENTER("ha_partition::info"); -#ifndef DBUG_OFF +#ifndef NDEBUG if (bitmap_is_set_all(&(m_part_info->read_partitions))) DBUG_PRINT("info", ("All partitions are used")); -#endif /* DBUG_OFF */ +#endif /* NDEBUG */ if (flag & HA_STATUS_AUTO) { DBUG_PRINT("info", ("HA_STATUS_AUTO")); @@ -4079,7 +4079,7 @@ uint part_id) { handler *file= m_file[part_id]; - DBUG_ASSERT(bitmap_is_set(&(m_part_info->read_partitions), part_id)); + assert(bitmap_is_set(&(m_part_info->read_partitions), part_id)); file->info(HA_STATUS_TIME | HA_STATUS_VARIABLE | HA_STATUS_VARIABLE_EXTRA | HA_STATUS_NO_LOCK); @@ -4467,7 +4467,7 @@ { if (!m_extra_cache) m_extra_cache_part_id= m_part_spec.start_part; - DBUG_ASSERT(m_extra_cache_part_id == m_part_spec.start_part); + assert(m_extra_cache_part_id == m_part_spec.start_part); (void) m_file[m_part_spec.start_part]->extra(HA_EXTRA_PREPARE_FOR_UPDATE); } break; @@ -4578,10 +4578,10 @@ // so we can avoid allocating ref_length bytes for every used partition // in init_record_priority_queue()! /* index_init(sorted=true) must have been called! */ - DBUG_ASSERT(m_ordered); - DBUG_ASSERT(m_ordered_rec_buffer); + assert(m_ordered); + assert(m_ordered_rec_buffer); /* No index_read call must have been done! */ - DBUG_ASSERT(m_queue->empty()); + assert(m_queue->empty()); /* If not PK is set as secondary sort, do secondary sort by rowid/ref. */ if (!m_curr_key_info[1]) { @@ -4597,7 +4597,7 @@ default: { /* Temporary crash to discover what is wrong */ - DBUG_ASSERT(0); + assert(0); break; } } @@ -4653,7 +4653,7 @@ { DBUG_ENTER("ha_partition::extra_opt()"); - DBUG_ASSERT(HA_EXTRA_CACHE == operation); + assert(HA_EXTRA_CACHE == operation); prepare_extra_cache(cachesize); DBUG_RETURN(0); } @@ -4679,8 +4679,8 @@ m_extra_cache_size= cachesize; if (m_part_spec.start_part != NO_CURRENT_PART_ID) { - DBUG_ASSERT(bitmap_is_set(&m_partitions_to_reset, - m_part_spec.start_part)); + assert(bitmap_is_set(&m_partitions_to_reset, + m_part_spec.start_part)); bitmap_set_bit(&m_partitions_to_reset, m_part_spec.start_part); late_extra_cache(m_part_spec.start_part); } @@ -4777,7 +4777,7 @@ DBUG_VOID_RETURN; file= m_file[partition_id]; (void) file->extra(HA_EXTRA_NO_CACHE); - DBUG_ASSERT(partition_id == m_extra_cache_part_id); + assert(partition_id == m_extra_cache_part_id); m_extra_cache_part_id= NO_CURRENT_PART_ID; DBUG_VOID_RETURN; } @@ -5077,7 +5077,7 @@ { if (!(*file)->can_switch_engines()) { - DBUG_ASSERT(0); // A ha_partition table should never have FKs!!! + assert(0); // A ha_partition table should never have FKs!!! DBUG_RETURN(FALSE); } } while (*(++file)); @@ -5114,7 +5114,7 @@ if (first_used_partition == MY_BIT_NONE) { - DBUG_ASSERT(0); // How can this happen? + assert(0); // How can this happen? DBUG_RETURN(handler::index_type(inx)); } @@ -5129,7 +5129,7 @@ DBUG_ENTER("ha_partition::get_row_type"); i= m_part_info->get_first_used_partition(); - DBUG_ASSERT(i < m_tot_parts); + assert(i < m_tot_parts); if (i >= m_tot_parts) DBUG_RETURN(ROW_TYPE_NOT_USED); @@ -5332,7 +5332,7 @@ else if (first_is_set != (ha_alter_info->handler_ctx != NULL)) { /* Either none or all partitions must set handler_ctx! */ - DBUG_ASSERT(0); + assert(0); DBUG_RETURN(HA_ALTER_ERROR); } if (p_result < result) @@ -5454,8 +5454,8 @@ if (commit) { - DBUG_ASSERT(ha_alter_info->group_commit_ctx == - part_inplace_ctx->handler_ctx_array); + assert(ha_alter_info->group_commit_ctx == + part_inplace_ctx->handler_ctx_array); ha_alter_info->handler_ctx= part_inplace_ctx->handler_ctx_array[0]; error= m_file[0]->ha_commit_inplace_alter_table(altered_table, ha_alter_info, commit); @@ -5472,7 +5472,7 @@ Loop over all other partitions as to follow the protocol! */ uint i; - DBUG_ASSERT(0); + assert(0); for (i= 1; i < m_tot_parts; i++) { ha_alter_info->handler_ctx= part_inplace_ctx->handler_ctx_array[i]; @@ -5679,7 +5679,7 @@ partitions, but in myisam it is possible since we are comparing offsets. Remove this assert if DB_ROW_ID is changed to be per partition. */ - DBUG_ASSERT(!m_innodb); + assert(!m_innodb); diff1= ref2[1] - ref1[1]; diff2= ref2[0] - ref1[0]; @@ -5721,7 +5721,7 @@ DBUG_ENTER("ha_partition::idx_cond_push"); DBUG_EXECUTE("where", print_where(idx_cond, "cond", QT_ORDINARY);); DBUG_PRINT("info", ("keyno: %u, active_index: %u", keyno, active_index)); - DBUG_ASSERT(pushed_idx_cond == NULL); + assert(pushed_idx_cond == NULL); for (i= m_part_info->get_first_used_partition(); i < m_tot_parts; @@ -5735,9 +5735,9 @@ All partitions has the same structure, so if the first partition succeeds, then the rest will also succeed. */ - DBUG_ASSERT(i == m_part_info->get_first_used_partition()); + assert(i == m_part_info->get_first_used_partition()); /* Only supports entire index conditions or no conditions! */ - DBUG_ASSERT(res == idx_cond); + assert(res == idx_cond); if (res != idx_cond) m_file[i]->cancel_pushed_idx_cond(); /* cancel previous calls. */ @@ -5750,7 +5750,7 @@ DBUG_RETURN(idx_cond); } } - DBUG_ASSERT(pushed_idx_cond_keyno == MAX_KEY); + assert(pushed_idx_cond_keyno == MAX_KEY); pushed_idx_cond= idx_cond; pushed_idx_cond_keyno= keyno; DBUG_PRINT("info", ("Index condition pushdown used for keyno: %u", keyno)); @@ -5794,13 +5794,13 @@ inline int ha_partition::initialize_auto_increment(bool no_lock) { DBUG_ENTER("ha_partition::initialize_auto_increment"); -#ifndef DBUG_OFF +#ifndef NDEBUG if (table_share->tmp_table == NO_TMP_TABLE) { mysql_mutex_assert_owner(part_share->auto_inc_mutex); } #endif - DBUG_ASSERT(!part_share->auto_inc_initialized); + assert(!part_share->auto_inc_initialized); /* The auto-inc mutex in the table_share is locked, so we do not need @@ -5827,7 +5827,7 @@ } } while (*(++file_array)); - DBUG_ASSERT(auto_increment_value); + assert(auto_increment_value); stats.auto_increment_value= auto_increment_value; /* We only use the cached auto inc value if it is @@ -5835,7 +5835,7 @@ */ if (table_share->next_number_keypart == 0) { - DBUG_ASSERT(part_share->next_auto_inc_val <= auto_increment_value); + assert(part_share->next_auto_inc_val <= auto_increment_value); part_share->next_auto_inc_val= auto_increment_value; part_share->auto_inc_initialized= true; DBUG_PRINT("info", ("initializing next_auto_inc_val to %lu", @@ -5863,7 +5863,7 @@ DBUG_PRINT("info", ("offset: %lu inc: %lu desired_values: %lu " "first_value: %lu", (ulong) offset, (ulong) increment, (ulong) nb_desired_values, (ulong) *first_value)); - DBUG_ASSERT(increment && nb_desired_values); + assert(increment && nb_desired_values); *first_value= 0; if (table->s->next_number_keypart) { @@ -5922,7 +5922,7 @@ uint i; DBUG_ENTER("ha_partition::release_auto_increment_all_parts"); - DBUG_ASSERT(table->s->next_number_keypart); + assert(table->s->next_number_keypart); for (i= m_part_info->get_first_used_partition(); i < m_tot_parts; i= bitmap_get_next_set(&m_part_info->lock_partitions, i)) @@ -5983,7 +5983,7 @@ handler **file; int error= 0; - DBUG_ASSERT(bitmap_is_set_all(&(m_part_info->lock_partitions))); + assert(bitmap_is_set_all(&(m_part_info->lock_partitions))); for (file= m_file; *file; file++) { if ((error= (*file)->ha_disable_indexes(mode))) @@ -6008,7 +6008,7 @@ handler **file; int error= 0; - DBUG_ASSERT(bitmap_is_set_all(&(m_part_info->lock_partitions))); + assert(bitmap_is_set_all(&(m_part_info->lock_partitions))); for (file= m_file; *file; file++) { if ((error= (*file)->ha_enable_indexes(mode))) @@ -6033,7 +6033,7 @@ handler **file; int error= 0; - DBUG_ASSERT(bitmap_is_set_all(&(m_part_info->lock_partitions))); + assert(bitmap_is_set_all(&(m_part_info->lock_partitions))); for (file= m_file; *file; file++) { if ((error= (*file)->indexes_are_disabled())) diff -Nru mysql-5.7-5.7.33/storage/partition/ha_partition.h mysql-5.7-5.7.34/storage/partition/ha_partition.h --- mysql-5.7-5.7.33/storage/partition/ha_partition.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/partition/ha_partition.h 2021-03-26 06:58:52.000000000 +0000 @@ -2,7 +2,7 @@ #define HA_PARTITION_INCLUDED /* - Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/CMakeLists.txt mysql-5.7-5.7.34/storage/perfschema/CMakeLists.txt --- mysql-5.7-5.7.33/storage/perfschema/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # # This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/perfschema/cursor_by_account.cc mysql-5.7-5.7.34/storage/perfschema/cursor_by_account.cc --- mysql-5.7-5.7.33/storage/perfschema/cursor_by_account.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/cursor_by_account.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/cursor_by_account.h mysql-5.7-5.7.34/storage/perfschema/cursor_by_account.h --- mysql-5.7-5.7.33/storage/perfschema/cursor_by_account.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/cursor_by_account.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/cursor_by_host.cc mysql-5.7-5.7.34/storage/perfschema/cursor_by_host.cc --- mysql-5.7-5.7.33/storage/perfschema/cursor_by_host.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/cursor_by_host.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/cursor_by_host.h mysql-5.7-5.7.34/storage/perfschema/cursor_by_host.h --- mysql-5.7-5.7.33/storage/perfschema/cursor_by_host.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/cursor_by_host.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/cursor_by_thread.cc mysql-5.7-5.7.34/storage/perfschema/cursor_by_thread.cc --- mysql-5.7-5.7.33/storage/perfschema/cursor_by_thread.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/cursor_by_thread.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/cursor_by_thread_connect_attr.cc mysql-5.7-5.7.34/storage/perfschema/cursor_by_thread_connect_attr.cc --- mysql-5.7-5.7.33/storage/perfschema/cursor_by_thread_connect_attr.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/cursor_by_thread_connect_attr.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/cursor_by_thread_connect_attr.h mysql-5.7-5.7.34/storage/perfschema/cursor_by_thread_connect_attr.h --- mysql-5.7-5.7.33/storage/perfschema/cursor_by_thread_connect_attr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/cursor_by_thread_connect_attr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/cursor_by_thread.h mysql-5.7-5.7.34/storage/perfschema/cursor_by_thread.h --- mysql-5.7-5.7.33/storage/perfschema/cursor_by_thread.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/cursor_by_thread.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/cursor_by_user.cc mysql-5.7-5.7.34/storage/perfschema/cursor_by_user.cc --- mysql-5.7-5.7.33/storage/perfschema/cursor_by_user.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/cursor_by_user.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/cursor_by_user.h mysql-5.7-5.7.34/storage/perfschema/cursor_by_user.h --- mysql-5.7-5.7.33/storage/perfschema/cursor_by_user.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/cursor_by_user.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/ha_perfschema.cc mysql-5.7-5.7.34/storage/perfschema/ha_perfschema.cc --- mysql-5.7-5.7.33/storage/perfschema/ha_perfschema.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/ha_perfschema.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -268,7 +268,7 @@ if (!PFS_ENABLED()) DBUG_RETURN(HA_ERR_WRONG_COMMAND); - DBUG_ASSERT(m_table_share); + assert(m_table_share); ha_statistic_increment(&SSV::ha_write_count); result= m_table_share->write_row(table, buf, table->field); DBUG_RETURN(result); @@ -294,7 +294,7 @@ if (is_executed_by_slave()) DBUG_RETURN(0); - DBUG_ASSERT(m_table); + assert(m_table); ha_statistic_increment(&SSV::ha_update_count); int result= m_table->update_row(table, old_data, new_data, table->field); DBUG_RETURN(result); @@ -306,7 +306,7 @@ if (!PFS_ENABLED()) DBUG_RETURN(HA_ERR_WRONG_COMMAND); - DBUG_ASSERT(m_table); + assert(m_table); ha_statistic_increment(&SSV::ha_delete_count); int result= m_table->delete_row(table, buf, table->field); DBUG_RETURN(result); @@ -317,8 +317,8 @@ int result; DBUG_ENTER("ha_perfschema::rnd_init"); - DBUG_ASSERT(m_table_share); - DBUG_ASSERT(m_table_share->m_open_table != NULL); + assert(m_table_share); + assert(m_table_share->m_open_table != NULL); stats.records= 0; if (m_table == NULL) @@ -336,7 +336,7 @@ int ha_perfschema::rnd_end(void) { DBUG_ENTER("ha_perfschema::rnd_end"); - DBUG_ASSERT(m_table); + assert(m_table); delete m_table; m_table= NULL; DBUG_RETURN(0); @@ -351,7 +351,7 @@ DBUG_RETURN(HA_ERR_END_OF_FILE); } - DBUG_ASSERT(m_table); + assert(m_table); ha_statistic_increment(&SSV::ha_read_rnd_next_count); int result= m_table->rnd_next(); @@ -369,7 +369,7 @@ { DBUG_ENTER("ha_perfschema::position"); - DBUG_ASSERT(m_table); + assert(m_table); m_table->get_position(ref); DBUG_VOID_RETURN; } @@ -383,7 +383,7 @@ DBUG_RETURN(HA_ERR_END_OF_FILE); } - DBUG_ASSERT(m_table); + assert(m_table); ha_statistic_increment(&SSV::ha_read_rnd_count); int result= m_table->rnd_pos(pos); if (result == 0) @@ -395,7 +395,7 @@ int ha_perfschema::info(uint flag) { DBUG_ENTER("ha_perfschema::info"); - DBUG_ASSERT(m_table_share); + assert(m_table_share); if (flag & HA_STATUS_VARIABLE) stats.records= m_table_share->get_row_count(); if (flag & HA_STATUS_CONST) @@ -414,7 +414,7 @@ if (is_executed_by_slave()) DBUG_RETURN(0); - DBUG_ASSERT(m_table_share); + assert(m_table_share); if (m_table_share->m_delete_all_rows) result= m_table_share->m_delete_all_rows(); else @@ -456,8 +456,8 @@ HA_CREATE_INFO *create_info) { DBUG_ENTER("ha_perfschema::create"); - DBUG_ASSERT(table_arg); - DBUG_ASSERT(table_arg->s); + assert(table_arg); + assert(table_arg->s); if (find_table_share(table_arg->s->db.str, table_arg->s->table_name.str)) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/ha_perfschema.h mysql-5.7-5.7.34/storage/perfschema/ha_perfschema.h --- mysql-5.7-5.7.33/storage/perfschema/ha_perfschema.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/ha_perfschema.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -235,8 +235,8 @@ */ bool is_executed_by_slave() const { - DBUG_ASSERT(table != NULL); - DBUG_ASSERT(table->in_use != NULL); + assert(table != NULL); + assert(table->in_use != NULL); return table->in_use->slave_thread; } diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_account.cc mysql-5.7-5.7.34/storage/perfschema/pfs_account.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_account.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_account.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -74,9 +74,9 @@ const PFS_account *account; const void *result; typed_entry= reinterpret_cast (entry); - DBUG_ASSERT(typed_entry != NULL); + assert(typed_entry != NULL); account= *typed_entry; - DBUG_ASSERT(account != NULL); + assert(account != NULL); *length= account->m_key.m_key_length; result= account->m_key.m_hash_key; return const_cast (reinterpret_cast (result)); @@ -123,8 +123,8 @@ const char *user, uint user_length, const char *host, uint host_length) { - DBUG_ASSERT(user_length <= USERNAME_LENGTH); - DBUG_ASSERT(host_length <= HOSTNAME_LENGTH); + assert(user_length <= USERNAME_LENGTH); + assert(host_length <= HOSTNAME_LENGTH); char *ptr= &key->m_hash_key[0]; if (user_length > 0) @@ -653,7 +653,7 @@ account->m_key.m_key_length)); if (entry && (entry != MY_ERRPTR)) { - DBUG_ASSERT(*entry == account); + assert(*entry == account); if (account->get_refcount() == 0) { lf_hash_delete(&account_hash, pins, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_account.h mysql-5.7-5.7.34/storage/perfschema/pfs_account.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_account.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_account.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_atomic.h mysql-5.7-5.7.34/storage/perfschema/pfs_atomic.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_atomic.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_atomic.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_autosize.cc mysql-5.7-5.7.34/storage/perfschema/pfs_autosize.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_autosize.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_autosize.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -242,15 +242,15 @@ heuristic= estimate_hints(param); apply_heuristic(param, heuristic); - DBUG_ASSERT(param->m_events_waits_history_sizing >= 0); - DBUG_ASSERT(param->m_events_waits_history_long_sizing >= 0); - DBUG_ASSERT(param->m_events_stages_history_sizing >= 0); - DBUG_ASSERT(param->m_events_stages_history_long_sizing >= 0); - DBUG_ASSERT(param->m_events_statements_history_sizing >= 0); - DBUG_ASSERT(param->m_events_statements_history_long_sizing >= 0); - DBUG_ASSERT(param->m_events_transactions_history_sizing >= 0); - DBUG_ASSERT(param->m_events_transactions_history_long_sizing >= 0); - DBUG_ASSERT(param->m_session_connect_attrs_sizing >= 0); + assert(param->m_events_waits_history_sizing >= 0); + assert(param->m_events_waits_history_long_sizing >= 0); + assert(param->m_events_stages_history_sizing >= 0); + assert(param->m_events_stages_history_long_sizing >= 0); + assert(param->m_events_statements_history_sizing >= 0); + assert(param->m_events_statements_history_long_sizing >= 0); + assert(param->m_events_transactions_history_sizing >= 0); + assert(param->m_events_transactions_history_long_sizing >= 0); + assert(param->m_session_connect_attrs_sizing >= 0); } else { diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_buffer_container.cc mysql-5.7-5.7.34/storage/perfschema/pfs_buffer_container.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_buffer_container.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_buffer_container.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_buffer_container.h mysql-5.7-5.7.34/storage/perfschema/pfs_buffer_container.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_buffer_container.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_buffer_container.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -159,7 +159,7 @@ void free_array(array_type *array) { - DBUG_ASSERT(array->m_max > 0); + assert(array->m_max > 0); PFS_FREE_ARRAY(m_builtin_class, array->m_max, sizeof(T), array->m_ptr); @@ -259,7 +259,7 @@ iterator_type iterate(uint index) { - DBUG_ASSERT(index <= m_max); + assert(index <= m_max); return PFS_buffer_iterator(this, index); } @@ -319,7 +319,7 @@ inline value_type* get(uint index) { - DBUG_ASSERT(index < m_max); + assert(index < m_max); value_type *pfs= m_array.m_ptr + index; if (pfs->m_lock.is_populated()) @@ -364,7 +364,7 @@ private: value_type* scan_next(uint & index, uint * found_index) { - DBUG_ASSERT(index <= m_max); + assert(index <= m_max); value_type *pfs_first= m_array.get_first(); value_type *pfs= pfs_first + index; @@ -479,9 +479,9 @@ m_full= false; } - DBUG_ASSERT(m_max_page_count <= PFS_PAGE_COUNT); - DBUG_ASSERT(0 < m_last_page_size); - DBUG_ASSERT(m_last_page_size <= PFS_PAGE_SIZE); + assert(m_max_page_count <= PFS_PAGE_COUNT); + assert(0 < m_last_page_size); + assert(m_last_page_size <= PFS_PAGE_SIZE); native_mutex_init(& m_critical_section, NULL); return 0; @@ -692,7 +692,7 @@ // ================================================================== } - DBUG_ASSERT(array != NULL); + assert(array != NULL); pfs= array->allocate(dirty_state); if (pfs != NULL) { @@ -753,7 +753,7 @@ iterator_type iterate(uint index) { - DBUG_ASSERT(index <= m_max); + assert(index <= m_max); return PFS_buffer_scalable_iterator(this, index); } @@ -861,7 +861,7 @@ value_type* get(uint index) { - DBUG_ASSERT(index < m_max); + assert(index < m_max); uint index_1= index / PFS_PAGE_SIZE; array_type *page= m_pages[index_1]; @@ -958,13 +958,13 @@ { if (page_index + 1 < m_max_page_count) return PFS_PAGE_SIZE; - DBUG_ASSERT(page_index + 1 == m_max_page_count); + assert(page_index + 1 == m_max_page_count); return m_last_page_size; } value_type* scan_next(uint & index, uint * found_index) { - DBUG_ASSERT(index <= m_max); + assert(index <= m_max); uint index_1= index / PFS_PAGE_SIZE; uint index_2= index % PFS_PAGE_SIZE; @@ -1179,7 +1179,7 @@ value_type *allocate(pfs_dirty_state *dirty_state, uint partition) { - DBUG_ASSERT(partition < PFS_PARTITION_COUNT); + assert(partition < PFS_PARTITION_COUNT); return m_partitions[partition]->allocate(dirty_state); } @@ -1308,7 +1308,7 @@ value_type* scan_next(uint & partition_index, uint & sub_index, uint * found_partition, uint * found_sub_index) { value_type *record= NULL; - DBUG_ASSERT(partition_index < PFS_PARTITION_COUNT); + assert(partition_index < PFS_PARTITION_COUNT); while (partition_index < PFS_PARTITION_COUNT) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_builtin_memory.cc mysql-5.7-5.7.34/storage/perfschema/pfs_builtin_memory.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_builtin_memory.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_builtin_memory.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -119,7 +119,7 @@ my_snprintf(klass->m_class.m_name, sizeof(klass->m_class.m_name), "%.*s", PFS_MAX_INFO_NAME_LENGTH - 1, name); klass->m_class.m_name_length= strlen(name); - DBUG_ASSERT(klass->m_class.m_name_length < sizeof(klass->m_class.m_name)); + assert(klass->m_class.m_name_length < sizeof(klass->m_class.m_name)); klass->m_class.m_timer= NULL; klass->m_stat.reset(); diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_builtin_memory.h mysql-5.7-5.7.34/storage/perfschema/pfs_builtin_memory.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_builtin_memory.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_builtin_memory.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs.cc mysql-5.7-5.7.34/storage/perfschema/pfs.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -92,9 +92,9 @@ old_thread->m_thread_internal_id, old_thread->m_class->m_name); - DBUG_ASSERT(strcmp(new_thread->m_class->m_name, "thread/sql/event_worker") != 0); - DBUG_ASSERT(strcmp(new_thread->m_class->m_name, "thread/sql/event_scheduler") != 0); - DBUG_ASSERT(strcmp(new_thread->m_class->m_name, "thread/sql/one_connection") != 0); + assert(strcmp(new_thread->m_class->m_name, "thread/sql/event_worker") != 0); + assert(strcmp(new_thread->m_class->m_name, "thread/sql/event_scheduler") != 0); + assert(strcmp(new_thread->m_class->m_name, "thread/sql/one_connection") != 0); } #endif /* PFS_PARANOID */ @@ -1367,16 +1367,16 @@ static inline PFS_thread* my_thread_get_THR_PFS() { - DBUG_ASSERT(THR_PFS_initialized); + assert(THR_PFS_initialized); PFS_thread *thread= static_cast(my_get_thread_local(THR_PFS)); - DBUG_ASSERT(thread == NULL || sanitize_thread(thread) != NULL); + assert(thread == NULL || sanitize_thread(thread) != NULL); return thread; } static inline void my_thread_set_THR_PFS(PFS_thread *pfs) { - DBUG_ASSERT(THR_PFS_initialized); + assert(THR_PFS_initialized); my_set_thread_local(THR_PFS, pfs); } @@ -1553,8 +1553,8 @@ size_t len; \ size_t full_length; \ \ - DBUG_ASSERT(category != NULL); \ - DBUG_ASSERT(info != NULL); \ + assert(category != NULL); \ + assert(info != NULL); \ if (unlikely(build_prefix(&PREFIX, category, \ formatted_name, &prefix_length)) || \ ! pfs_initialized) \ @@ -1566,8 +1566,8 @@ \ for (; count>0; count--, info++) \ { \ - DBUG_ASSERT(info->m_key != NULL); \ - DBUG_ASSERT(info->m_name != NULL); \ + assert(info->m_key != NULL); \ + assert(info->m_name != NULL); \ len= strlen(info->m_name); \ full_length= prefix_length + len; \ if (likely(full_length <= PFS_MAX_INFO_NAME_LENGTH)) \ @@ -1619,8 +1619,8 @@ size_t len; size_t full_length; - DBUG_ASSERT(category != NULL); - DBUG_ASSERT(info != NULL); + assert(category != NULL); + assert(info != NULL); if (build_prefix(&rwlock_instrument_prefix, category, rw_formatted_name, &rw_prefix_length) || build_prefix(&sxlock_instrument_prefix, category, @@ -1634,8 +1634,8 @@ for (; count>0; count--, info++) { - DBUG_ASSERT(info->m_key != NULL); - DBUG_ASSERT(info->m_name != NULL); + assert(info->m_key != NULL); + assert(info->m_name != NULL); len= strlen(info->m_name); if (info->m_flags & PSI_RWLOCK_FLAG_SX) @@ -1723,8 +1723,8 @@ size_t full_length; PSI_stage_info_v1 *info; - DBUG_ASSERT(category != NULL); - DBUG_ASSERT(info_array != NULL); + assert(category != NULL); + assert(info_array != NULL); if (unlikely(build_prefix(&stage_instrument_prefix, category, formatted_name, &prefix_length)) || ! pfs_initialized) @@ -1737,8 +1737,8 @@ for (; count>0; count--, info_array++) { info= *info_array; - DBUG_ASSERT(info != NULL); - DBUG_ASSERT(info->m_name != NULL); + assert(info != NULL); + assert(info->m_name != NULL); len= strlen(info->m_name); full_length= prefix_length + len; if (likely(full_length <= PFS_MAX_INFO_NAME_LENGTH)) @@ -1768,8 +1768,8 @@ size_t len; size_t full_length; - DBUG_ASSERT(category != NULL); - DBUG_ASSERT(info != NULL); + assert(category != NULL); + assert(info != NULL); if (unlikely(build_prefix(&statement_instrument_prefix, category, formatted_name, &prefix_length)) || ! pfs_initialized) @@ -1781,7 +1781,7 @@ for (; count>0; count--, info++) { - DBUG_ASSERT(info->m_name != NULL); + assert(info->m_name != NULL); len= strlen(info->m_name); full_length= prefix_length + len; if (likely(full_length <= PFS_MAX_INFO_NAME_LENGTH)) @@ -1835,7 +1835,7 @@ { PFS_mutex *pfs= reinterpret_cast (mutex); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); destroy_mutex(pfs); } @@ -1858,7 +1858,7 @@ { PFS_rwlock *pfs= reinterpret_cast (rwlock); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); destroy_rwlock(pfs); } @@ -1881,7 +1881,7 @@ { PFS_cond *pfs= reinterpret_cast (cond); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); destroy_cond(pfs); } @@ -1999,7 +1999,7 @@ PFS_table *pfs= reinterpret_cast (table); if (likely(pfs != NULL)) { - DBUG_ASSERT(pfs->m_thread_owner == NULL); + assert(pfs->m_thread_owner == NULL); if (unlikely(! pfs->m_share->m_enabled)) { @@ -2083,7 +2083,7 @@ { PFS_socket *pfs= reinterpret_cast (socket); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); destroy_socket(pfs); } @@ -2325,9 +2325,9 @@ pfs_dirty_state dirty_state; PFS_thread *pfs= my_thread_get_THR_PFS(); - DBUG_ASSERT((user != NULL) || (user_len == 0)); - DBUG_ASSERT(user_len >= 0); - DBUG_ASSERT((uint) user_len <= sizeof(pfs->m_username)); + assert((user != NULL) || (user_len == 0)); + assert(user_len >= 0); + assert((uint) user_len <= sizeof(pfs->m_username)); if (unlikely(pfs == NULL)) return; @@ -2383,11 +2383,11 @@ pfs_dirty_state dirty_state; PFS_thread *pfs= my_thread_get_THR_PFS(); - DBUG_ASSERT((user != NULL) || (user_len == 0)); - DBUG_ASSERT(user_len >= 0); - DBUG_ASSERT((uint) user_len <= sizeof(pfs->m_username)); - DBUG_ASSERT((host != NULL) || (host_len == 0)); - DBUG_ASSERT(host_len >= 0); + assert((user != NULL) || (user_len == 0)); + assert(user_len >= 0); + assert((uint) user_len <= sizeof(pfs->m_username)); + assert((host != NULL) || (host_len == 0)); + assert(host_len >= 0); host_len= min(host_len, sizeof(pfs->m_hostname)); if (unlikely(pfs == NULL)) @@ -2444,9 +2444,9 @@ { PFS_thread *pfs= my_thread_get_THR_PFS(); - DBUG_ASSERT((db != NULL) || (db_len == 0)); - DBUG_ASSERT(db_len >= 0); - DBUG_ASSERT((uint) db_len <= sizeof(pfs->m_dbname)); + assert((db != NULL) || (db_len == 0)); + assert(db_len >= 0); + assert((uint) db_len <= sizeof(pfs->m_dbname)); if (likely(pfs != NULL)) { @@ -2467,8 +2467,8 @@ { PFS_thread *pfs= my_thread_get_THR_PFS(); - DBUG_ASSERT(command >= 0); - DBUG_ASSERT(command <= (int) COM_END); + assert(command >= 0); + assert(command <= (int) COM_END); if (likely(pfs != NULL)) { @@ -2484,8 +2484,8 @@ { PFS_thread *pfs= my_thread_get_THR_PFS(); - DBUG_ASSERT(conn_type >= FIRST_VIO_TYPE); - DBUG_ASSERT(conn_type <= LAST_VIO_TYPE); + assert(conn_type >= FIRST_VIO_TYPE); + assert(conn_type <= LAST_VIO_TYPE); if (likely(pfs != NULL)) { @@ -2526,7 +2526,7 @@ pfs_dirty_state dirty_state; PFS_thread *pfs= my_thread_get_THR_PFS(); - DBUG_ASSERT((info != NULL) || (info_len == 0)); + assert((info != NULL) || (info_len == 0)); if (likely(pfs != NULL)) { @@ -2599,12 +2599,12 @@ const char *src_file, uint src_line) { PFS_mutex *pfs_mutex= reinterpret_cast (mutex); - DBUG_ASSERT((int) op >= 0); - DBUG_ASSERT((uint) op < array_elements(mutex_operation_map)); - DBUG_ASSERT(state != NULL); + assert((int) op >= 0); + assert((uint) op < array_elements(mutex_operation_map)); + assert(state != NULL); - DBUG_ASSERT(pfs_mutex != NULL); - DBUG_ASSERT(pfs_mutex->m_class != NULL); + assert(pfs_mutex != NULL); + assert(pfs_mutex->m_class != NULL); if (! pfs_mutex->m_enabled) return NULL; @@ -2698,31 +2698,31 @@ const char *src_file, uint src_line) { PFS_rwlock *pfs_rwlock= reinterpret_cast (rwlock); - DBUG_ASSERT(static_cast (op) >= 0); - DBUG_ASSERT(static_cast (op) < array_elements(rwlock_operation_map)); - DBUG_ASSERT(state != NULL); - DBUG_ASSERT(pfs_rwlock != NULL); - DBUG_ASSERT(pfs_rwlock->m_class != NULL); + assert(static_cast (op) >= 0); + assert(static_cast (op) < array_elements(rwlock_operation_map)); + assert(state != NULL); + assert(pfs_rwlock != NULL); + assert(pfs_rwlock->m_class != NULL); /* Operations supported for READ WRITE LOCK */ - DBUG_ASSERT( pfs_rwlock->m_class->is_shared_exclusive() - || (op == PSI_RWLOCK_READLOCK) - || (op == PSI_RWLOCK_WRITELOCK) - || (op == PSI_RWLOCK_TRYREADLOCK) - || (op == PSI_RWLOCK_TRYWRITELOCK) - ); + assert( pfs_rwlock->m_class->is_shared_exclusive() + || (op == PSI_RWLOCK_READLOCK) + || (op == PSI_RWLOCK_WRITELOCK) + || (op == PSI_RWLOCK_TRYREADLOCK) + || (op == PSI_RWLOCK_TRYWRITELOCK) + ); /* Operations supported for SHARED EXCLUSIVE LOCK */ - DBUG_ASSERT( ! pfs_rwlock->m_class->is_shared_exclusive() - || (op == PSI_RWLOCK_SHAREDLOCK) - || (op == PSI_RWLOCK_SHAREDEXCLUSIVELOCK) - || (op == PSI_RWLOCK_EXCLUSIVELOCK) - || (op == PSI_RWLOCK_TRYSHAREDLOCK) - || (op == PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK) - || (op == PSI_RWLOCK_TRYEXCLUSIVELOCK) - ); + assert( ! pfs_rwlock->m_class->is_shared_exclusive() + || (op == PSI_RWLOCK_SHAREDLOCK) + || (op == PSI_RWLOCK_SHAREDEXCLUSIVELOCK) + || (op == PSI_RWLOCK_EXCLUSIVELOCK) + || (op == PSI_RWLOCK_TRYSHAREDLOCK) + || (op == PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK) + || (op == PSI_RWLOCK_TRYEXCLUSIVELOCK) + ); if (! pfs_rwlock->m_enabled) return NULL; @@ -2811,10 +2811,10 @@ PSI_rwlock_operation op, const char *src_file, uint src_line) { - DBUG_ASSERT((op == PSI_RWLOCK_READLOCK) || - (op == PSI_RWLOCK_TRYREADLOCK) || - (op == PSI_RWLOCK_SHAREDLOCK) || - (op == PSI_RWLOCK_TRYSHAREDLOCK)); + assert((op == PSI_RWLOCK_READLOCK) || + (op == PSI_RWLOCK_TRYREADLOCK) || + (op == PSI_RWLOCK_SHAREDLOCK) || + (op == PSI_RWLOCK_TRYSHAREDLOCK)); return pfs_start_rwlock_wait_v1(state, rwlock, op, src_file, src_line); } @@ -2825,12 +2825,12 @@ PSI_rwlock_operation op, const char *src_file, uint src_line) { - DBUG_ASSERT((op == PSI_RWLOCK_WRITELOCK) || - (op == PSI_RWLOCK_TRYWRITELOCK) || - (op == PSI_RWLOCK_SHAREDEXCLUSIVELOCK) || - (op == PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK) || - (op == PSI_RWLOCK_EXCLUSIVELOCK) || - (op == PSI_RWLOCK_TRYEXCLUSIVELOCK)); + assert((op == PSI_RWLOCK_WRITELOCK) || + (op == PSI_RWLOCK_TRYWRITELOCK) || + (op == PSI_RWLOCK_SHAREDEXCLUSIVELOCK) || + (op == PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK) || + (op == PSI_RWLOCK_EXCLUSIVELOCK) || + (op == PSI_RWLOCK_TRYEXCLUSIVELOCK)); return pfs_start_rwlock_wait_v1(state, rwlock, op, src_file, src_line); } @@ -2857,11 +2857,11 @@ in start_cond_wait_v1() and end_cond_wait_v1(). */ PFS_cond *pfs_cond= reinterpret_cast (cond); - DBUG_ASSERT(static_cast (op) >= 0); - DBUG_ASSERT(static_cast (op) < array_elements(cond_operation_map)); - DBUG_ASSERT(state != NULL); - DBUG_ASSERT(pfs_cond != NULL); - DBUG_ASSERT(pfs_cond->m_class != NULL); + assert(static_cast (op) >= 0); + assert(static_cast (op) < array_elements(cond_operation_map)); + assert(state != NULL); + assert(pfs_cond != NULL); + assert(pfs_cond->m_class != NULL); if (! pfs_cond->m_enabled) return NULL; @@ -2973,7 +2973,7 @@ case TL_WRITE_DEFAULT: case TL_WRITE_CONCURRENT_DEFAULT: default: - DBUG_ASSERT(false); + assert(false); } /* Dead code */ @@ -2982,7 +2982,7 @@ static inline PFS_TL_LOCK_TYPE external_lock_flags_to_lock_type(uint flags) { - DBUG_ASSERT(flags == F_RDLCK || flags == F_WRLCK); + assert(flags == F_RDLCK || flags == F_WRLCK); return (flags == F_RDLCK ? PFS_TL_READ_EXTERNAL : PFS_TL_WRITE_EXTERNAL); } @@ -2997,12 +2997,12 @@ uint index, const char *src_file, uint src_line) { - DBUG_ASSERT(static_cast (op) >= 0); - DBUG_ASSERT(static_cast (op) < array_elements(table_io_operation_map)); - DBUG_ASSERT(state != NULL); + assert(static_cast (op) >= 0); + assert(static_cast (op) < array_elements(table_io_operation_map)); + assert(state != NULL); PFS_table *pfs_table= reinterpret_cast (table); - DBUG_ASSERT(pfs_table != NULL); - DBUG_ASSERT(pfs_table->m_share != NULL); + assert(pfs_table != NULL); + assert(pfs_table->m_share != NULL); if (! pfs_table->m_io_enabled) return NULL; @@ -3099,13 +3099,13 @@ ulong op_flags, const char *src_file, uint src_line) { - DBUG_ASSERT(state != NULL); - DBUG_ASSERT((op == PSI_TABLE_LOCK) || (op == PSI_TABLE_EXTERNAL_LOCK)); + assert(state != NULL); + assert((op == PSI_TABLE_LOCK) || (op == PSI_TABLE_EXTERNAL_LOCK)); PFS_table *pfs_table= reinterpret_cast (table); - DBUG_ASSERT(pfs_table != NULL); - DBUG_ASSERT(pfs_table->m_share != NULL); + assert(pfs_table != NULL); + assert(pfs_table->m_share != NULL); if (! pfs_table->m_lock_enabled) return NULL; @@ -3135,10 +3135,10 @@ break; default: lock_type= PFS_TL_READ; - DBUG_ASSERT(false); + assert(false); } - DBUG_ASSERT((uint) lock_type < array_elements(table_lock_operation_map)); + assert((uint) lock_type < array_elements(table_lock_operation_map)); uint flags; ulonglong timer_start= 0; @@ -3228,9 +3228,9 @@ PSI_file_operation op, const char *name, const void *identity) { - DBUG_ASSERT(static_cast (op) >= 0); - DBUG_ASSERT(static_cast (op) < array_elements(file_operation_map)); - DBUG_ASSERT(state != NULL); + assert(static_cast (op) >= 0); + assert(static_cast (op) < array_elements(file_operation_map)); + assert(state != NULL); if (! flag_global_instrumentation) return NULL; @@ -3305,13 +3305,13 @@ PSI_file *file, PSI_file_operation op) { PFS_file *pfs_file= reinterpret_cast (file); - DBUG_ASSERT(static_cast (op) >= 0); - DBUG_ASSERT(static_cast (op) < array_elements(file_operation_map)); - DBUG_ASSERT(state != NULL); + assert(static_cast (op) >= 0); + assert(static_cast (op) < array_elements(file_operation_map)); + assert(state != NULL); if (unlikely(pfs_file == NULL)) return NULL; - DBUG_ASSERT(pfs_file->m_class != NULL); + assert(pfs_file->m_class != NULL); PFS_file_class *klass= pfs_file->m_class; if (! pfs_file->m_enabled) @@ -3398,9 +3398,9 @@ File file, PSI_file_operation op) { int index= static_cast (file); - DBUG_ASSERT(static_cast (op) >= 0); - DBUG_ASSERT(static_cast (op) < array_elements(file_operation_map)); - DBUG_ASSERT(state != NULL); + assert(static_cast (op) >= 0); + assert(static_cast (op) < array_elements(file_operation_map)); + assert(state != NULL); if (unlikely((index < 0) || (index >= file_handle_max))) return NULL; @@ -3423,7 +3423,7 @@ if (! pfs_file->m_enabled) return NULL; - DBUG_ASSERT(pfs_file->m_class != NULL); + assert(pfs_file->m_class != NULL); PFS_file_class *klass= pfs_file->m_class; /* Needed for the LF_HASH */ @@ -3507,13 +3507,13 @@ size_t count, const char *src_file, uint src_line) { - DBUG_ASSERT(static_cast (op) >= 0); - DBUG_ASSERT(static_cast (op) < array_elements(socket_operation_map)); - DBUG_ASSERT(state != NULL); + assert(static_cast (op) >= 0); + assert(static_cast (op) < array_elements(socket_operation_map)); + assert(state != NULL); PFS_socket *pfs_socket= reinterpret_cast (socket); - DBUG_ASSERT(pfs_socket != NULL); - DBUG_ASSERT(pfs_socket->m_class != NULL); + assert(pfs_socket != NULL); + assert(pfs_socket->m_class != NULL); if (!pfs_socket->m_enabled || pfs_socket->m_idle) return NULL; @@ -3629,7 +3629,7 @@ { PFS_mutex *pfs_mutex= reinterpret_cast (mutex); - DBUG_ASSERT(pfs_mutex != NULL); + assert(pfs_mutex != NULL); /* Note that this code is still protected by the instrumented mutex, @@ -3665,10 +3665,10 @@ void pfs_unlock_rwlock_v1(PSI_rwlock *rwlock) { PFS_rwlock *pfs_rwlock= reinterpret_cast (rwlock); - DBUG_ASSERT(pfs_rwlock != NULL); - DBUG_ASSERT(pfs_rwlock == sanitize_rwlock(pfs_rwlock)); - DBUG_ASSERT(pfs_rwlock->m_class != NULL); - DBUG_ASSERT(pfs_rwlock->m_lock.is_populated()); + assert(pfs_rwlock != NULL); + assert(pfs_rwlock == sanitize_rwlock(pfs_rwlock)); + assert(pfs_rwlock->m_class != NULL); + assert(pfs_rwlock->m_lock.is_populated()); bool last_writer= false; bool last_reader= false; @@ -3745,7 +3745,7 @@ #ifdef PFS_LATER PFS_cond *pfs_cond= reinterpret_cast (cond); - DBUG_ASSERT(pfs_cond != NULL); + assert(pfs_cond != NULL); pfs_cond->m_cond_stat.m_signal_count++; #endif @@ -3760,7 +3760,7 @@ #ifdef PFS_LATER PFS_cond *pfs_cond= reinterpret_cast (cond); - DBUG_ASSERT(pfs_cond != NULL); + assert(pfs_cond != NULL); pfs_cond->m_cond_stat.m_broadcast_count++; #endif @@ -3773,7 +3773,7 @@ PSI_idle_locker* pfs_start_idle_wait_v1(PSI_idle_locker_state* state, const char *src_file, uint src_line) { - DBUG_ASSERT(state != NULL); + assert(state != NULL); if (!flag_global_instrumentation) return NULL; @@ -3794,7 +3794,7 @@ state->m_thread= reinterpret_cast (pfs_thread); flags= STATE_FLAG_THREAD; - DBUG_ASSERT(pfs_thread->m_events_statements_count == 0); + assert(pfs_thread->m_events_statements_count == 0); if (global_idle_class.m_timed) { @@ -3859,7 +3859,7 @@ void pfs_end_idle_wait_v1(PSI_idle_locker* locker) { PSI_idle_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; @@ -3891,7 +3891,7 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; @@ -3901,7 +3901,7 @@ insert_events_waits_history_long(wait); thread->m_events_waits_current--; - DBUG_ASSERT(wait == thread->m_events_waits_current); + assert(wait == thread->m_events_waits_current); } } @@ -3924,13 +3924,13 @@ void pfs_end_mutex_wait_v1(PSI_mutex_locker* locker, int rc) { PSI_mutex_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; PFS_mutex *mutex= reinterpret_cast (state->m_mutex); - DBUG_ASSERT(mutex != NULL); + assert(mutex != NULL); PFS_thread *thread= reinterpret_cast (state->m_thread); uint flags= state->m_flags; @@ -3960,8 +3960,8 @@ event_name_array= thread->write_instr_class_waits_stats(); uint index= mutex->m_class->m_event_name_index; - DBUG_ASSERT(index <= wait_class_max); - DBUG_ASSERT(sanitize_thread(thread) != NULL); + assert(index <= wait_class_max); + assert(sanitize_thread(thread) != NULL); if (flags & STATE_FLAG_TIMED) { @@ -3977,7 +3977,7 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; @@ -3987,7 +3987,7 @@ insert_events_waits_history_long(wait); thread->m_events_waits_current--; - DBUG_ASSERT(wait == thread->m_events_waits_current); + assert(wait == thread->m_events_waits_current); } } } @@ -3999,13 +3999,13 @@ void pfs_end_rwlock_rdwait_v1(PSI_rwlock_locker* locker, int rc) { PSI_rwlock_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; PFS_rwlock *rwlock= reinterpret_cast (state->m_rwlock); - DBUG_ASSERT(rwlock != NULL); + assert(rwlock != NULL); if (state->m_flags & STATE_FLAG_TIMED) { @@ -4038,7 +4038,7 @@ if (state->m_flags & STATE_FLAG_THREAD) { PFS_thread *thread= reinterpret_cast (state->m_thread); - DBUG_ASSERT(thread != NULL); + assert(thread != NULL); PFS_single_stat *event_name_array; event_name_array= thread->write_instr_class_waits_stats(); @@ -4058,7 +4058,7 @@ if (state->m_flags & STATE_FLAG_EVENT) { PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; @@ -4068,7 +4068,7 @@ insert_events_waits_history_long(wait); thread->m_events_waits_current--; - DBUG_ASSERT(wait == thread->m_events_waits_current); + assert(wait == thread->m_events_waits_current); } } } @@ -4080,13 +4080,13 @@ void pfs_end_rwlock_wrwait_v1(PSI_rwlock_locker* locker, int rc) { PSI_rwlock_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; PFS_rwlock *rwlock= reinterpret_cast (state->m_rwlock); - DBUG_ASSERT(rwlock != NULL); + assert(rwlock != NULL); PFS_thread *thread= reinterpret_cast (state->m_thread); if (state->m_flags & STATE_FLAG_TIMED) @@ -4137,7 +4137,7 @@ if (state->m_flags & STATE_FLAG_EVENT) { PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; @@ -4147,7 +4147,7 @@ insert_events_waits_history_long(wait); thread->m_events_waits_current--; - DBUG_ASSERT(wait == thread->m_events_waits_current); + assert(wait == thread->m_events_waits_current); } } } @@ -4159,7 +4159,7 @@ void pfs_end_cond_wait_v1(PSI_cond_locker* locker, int rc) { PSI_cond_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; @@ -4183,7 +4183,7 @@ if (state->m_flags & STATE_FLAG_THREAD) { PFS_thread *thread= reinterpret_cast (state->m_thread); - DBUG_ASSERT(thread != NULL); + assert(thread != NULL); PFS_single_stat *event_name_array; event_name_array= thread->write_instr_class_waits_stats(); @@ -4203,7 +4203,7 @@ if (state->m_flags & STATE_FLAG_EVENT) { PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; @@ -4213,7 +4213,7 @@ insert_events_waits_history_long(wait); thread->m_events_waits_current--; - DBUG_ASSERT(wait == thread->m_events_waits_current); + assert(wait == thread->m_events_waits_current); } } } @@ -4225,19 +4225,19 @@ void pfs_end_table_io_wait_v1(PSI_table_locker* locker, ulonglong numrows) { PSI_table_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; PFS_table *table= reinterpret_cast (state->m_table); - DBUG_ASSERT(table != NULL); + assert(table != NULL); PFS_single_stat *stat; PFS_table_io_stat *table_io_stat; - DBUG_ASSERT((state->m_index < table->m_share->m_key_count) || - (state->m_index == MAX_INDEXES)); + assert((state->m_index < table->m_share->m_key_count) || + (state->m_index == MAX_INDEXES)); table_io_stat= & table->m_table_stat.m_index_stat[state->m_index]; table_io_stat->m_has_data= true; @@ -4257,7 +4257,7 @@ stat= & table_io_stat->m_delete; break; default: - DBUG_ASSERT(false); + assert(false); stat= NULL; break; } @@ -4278,7 +4278,7 @@ if (flags & STATE_FLAG_THREAD) { PFS_thread *thread= reinterpret_cast (state->m_thread); - DBUG_ASSERT(thread != NULL); + assert(thread != NULL); PFS_single_stat *event_name_array; event_name_array= thread->write_instr_class_waits_stats(); @@ -4299,7 +4299,7 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; @@ -4310,7 +4310,7 @@ insert_events_waits_history_long(wait); thread->m_events_waits_current--; - DBUG_ASSERT(wait == thread->m_events_waits_current); + assert(wait == thread->m_events_waits_current); } } @@ -4324,13 +4324,13 @@ void pfs_end_table_lock_wait_v1(PSI_table_locker* locker) { PSI_table_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; PFS_table *table= reinterpret_cast (state->m_table); - DBUG_ASSERT(table != NULL); + assert(table != NULL); PFS_single_stat *stat= & table->m_table_stat.m_lock_stat.m_stat[state->m_index]; @@ -4350,7 +4350,7 @@ if (flags & STATE_FLAG_THREAD) { PFS_thread *thread= reinterpret_cast (state->m_thread); - DBUG_ASSERT(thread != NULL); + assert(thread != NULL); PFS_single_stat *event_name_array; event_name_array= thread->write_instr_class_waits_stats(); @@ -4371,7 +4371,7 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; @@ -4381,7 +4381,7 @@ insert_events_waits_history_long(wait); thread->m_events_waits_current--; - DBUG_ASSERT(wait == thread->m_events_waits_current); + assert(wait == thread->m_events_waits_current); } } @@ -4418,7 +4418,7 @@ void *result) { PSI_file_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); switch (state->m_operation) { @@ -4439,7 +4439,7 @@ } break; default: - DBUG_ASSERT(false); + assert(false); break; } @@ -4458,7 +4458,7 @@ PFS_file *pfs_file= NULL; int index= (int) file; PSI_file_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); if (index >= 0) { @@ -4492,9 +4492,9 @@ void pfs_end_temp_file_open_wait_and_bind_to_descriptor_v1 (PSI_file_locker *locker, File file, const char *filename) { - DBUG_ASSERT(filename != NULL); + assert(filename != NULL); PSI_file_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); /* Set filename that was generated during creation of temporary file. */ state->m_name= filename; @@ -4519,7 +4519,7 @@ { ulonglong timer_start= 0; PSI_file_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); uint flags= state->m_flags; @@ -4532,7 +4532,7 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_start= timer_start; wait->m_source_file= src_file; @@ -4549,7 +4549,7 @@ size_t byte_count) { PSI_file_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); PFS_file *file= reinterpret_cast (state->m_file); PFS_file_class *klass= reinterpret_cast (state->m_class); PFS_thread *thread= reinterpret_cast (state->m_thread); @@ -4600,7 +4600,7 @@ byte_stat= &file_stat->m_io_stat.m_misc; break; default: - DBUG_ASSERT(false); + assert(false); byte_stat= NULL; break; } @@ -4621,7 +4621,7 @@ if (flags & STATE_FLAG_THREAD) { - DBUG_ASSERT(thread != NULL); + assert(thread != NULL); PFS_single_stat *event_name_array; event_name_array= thread->write_instr_class_waits_stats(); @@ -4641,7 +4641,7 @@ if (state->m_flags & STATE_FLAG_EVENT) { PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_end= timer_end; wait->m_number_of_bytes= bytes; @@ -4656,7 +4656,7 @@ insert_events_waits_history_long(wait); thread->m_events_waits_current--; - DBUG_ASSERT(wait == thread->m_events_waits_current); + assert(wait == thread->m_events_waits_current); } } } @@ -4674,7 +4674,7 @@ uint len; PFS_file *pfs_file; PSI_file_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); switch (state->m_operation) { @@ -4689,7 +4689,7 @@ case PSI_FILE_CLOSE: break; default: - DBUG_ASSERT(false); + assert(false); break; } @@ -4705,7 +4705,7 @@ void pfs_end_file_close_wait_v1(PSI_file_locker *locker, int rc) { PSI_file_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); pfs_end_file_wait_v1(locker, 0); @@ -4722,7 +4722,7 @@ { if (file->m_temporary) { - DBUG_ASSERT(file->m_file_stat.m_open_count <= 1); + assert(file->m_file_stat.m_open_count <= 1); destroy_file(thread, file); } else @@ -4738,7 +4738,7 @@ destroy_file(thread, file); break; default: - DBUG_ASSERT(false); + assert(false); break; } } @@ -4753,8 +4753,8 @@ const char *new_name, int rc) { PSI_file_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); - DBUG_ASSERT(state->m_operation == PSI_FILE_RENAME); + assert(state != NULL); + assert(state->m_operation == PSI_FILE_RENAME); if (rc == 0) { @@ -4959,8 +4959,8 @@ PSI_statement_key key, const void *charset, PSI_sp_share *sp_share) { - DBUG_ASSERT(state != NULL); - DBUG_ASSERT(charset != NULL); + assert(state != NULL); + assert(charset != NULL); if (! flag_global_instrumentation) return NULL; PFS_statement_class *klass= find_statement_class(key); @@ -5152,11 +5152,11 @@ PSI_statement_locker_state *state= reinterpret_cast (locker); if (state == NULL) return NULL; - DBUG_ASSERT(state->m_class != NULL); + assert(state->m_class != NULL); PFS_statement_class *klass; /* Only refine statements for mutable instrumentation */ klass= reinterpret_cast (state->m_class); - DBUG_ASSERT(klass->is_mutable()); + assert(klass->is_mutable()); klass= find_statement_class(key); uint flags= state->m_flags; @@ -5167,7 +5167,7 @@ if (flags & STATE_FLAG_THREAD) { PFS_thread *pfs_thread= reinterpret_cast (state->m_thread); - DBUG_ASSERT(pfs_thread != NULL); + assert(pfs_thread != NULL); if (pfs_thread->m_events_statements_count > 0) pfs_thread->m_events_statements_count--; } @@ -5182,7 +5182,7 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_statements *pfs= reinterpret_cast (state->m_statement); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); /* mutate EVENTS_STATEMENTS_CURRENT.EVENT_NAME */ pfs->m_class= klass; @@ -5198,7 +5198,7 @@ const char *src_file, uint src_line) { PSI_statement_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); uint flags= state->m_flags; ulonglong timer_start= 0; @@ -5210,7 +5210,7 @@ } compile_time_assert(PSI_SCHEMA_NAME_LEN == NAME_LEN); - DBUG_ASSERT(db_len <= sizeof(state->m_schema_name)); + assert(db_len <= sizeof(state->m_schema_name)); if (db_len > 0) memcpy(state->m_schema_name, db, db_len); @@ -5219,13 +5219,13 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_statements *pfs= reinterpret_cast (state->m_statement); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); pfs->m_timer_start= timer_start; pfs->m_source_file= src_file; pfs->m_source_line= src_line; - DBUG_ASSERT(db_len <= sizeof(pfs->m_current_schema_name)); + assert(db_len <= sizeof(pfs->m_current_schema_name)); if (db_len > 0) memcpy(pfs->m_current_schema_name, db, db_len); pfs->m_current_schema_name_length= db_len; @@ -5236,7 +5236,7 @@ const char *text, uint text_len) { PSI_statement_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); if (state->m_discarded) return; @@ -5244,7 +5244,7 @@ if (state->m_flags & STATE_FLAG_EVENT) { PFS_events_statements *pfs= reinterpret_cast (state->m_statement); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); if (text_len > pfs_max_sqltext) { text_len= (uint)pfs_max_sqltext; @@ -5271,7 +5271,7 @@ { \ PFS_events_statements *pfs; \ pfs= reinterpret_cast (state->m_statement); \ - DBUG_ASSERT(pfs != NULL); \ + assert(pfs != NULL); \ pfs->ATTR= VALUE; \ } \ return; @@ -5288,7 +5288,7 @@ { \ PFS_events_statements *pfs; \ pfs= reinterpret_cast (state->m_statement); \ - DBUG_ASSERT(pfs != NULL); \ + assert(pfs != NULL); \ pfs->ATTR+= VALUE; \ } \ return; @@ -5391,14 +5391,14 @@ { PSI_statement_locker_state *state= reinterpret_cast (locker); Diagnostics_area *da= reinterpret_cast (stmt_da); - DBUG_ASSERT(state != NULL); - DBUG_ASSERT(da != NULL); + assert(state != NULL); + assert(da != NULL); if (state->m_discarded) return; PFS_statement_class *klass= reinterpret_cast (state->m_class); - DBUG_ASSERT(klass != NULL); + assert(klass != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; @@ -5425,7 +5425,7 @@ if (flags & STATE_FLAG_THREAD) { PFS_thread *thread= reinterpret_cast (state->m_thread); - DBUG_ASSERT(thread != NULL); + assert(thread != NULL); event_name_array= thread->write_instr_class_statements_stats(); /* Aggregate to EVENTS_STATEMENTS_SUMMARY_BY_THREAD_BY_EVENT_NAME */ stat= & event_name_array[index]; @@ -5446,7 +5446,7 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_statements *pfs= reinterpret_cast (state->m_statement); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); pfs_dirty_state dirty_state; thread->m_stmt_lock.allocated_to_dirty(& dirty_state); @@ -5500,7 +5500,7 @@ if (thread->m_flag_events_statements_history_long) insert_events_statements_history_long(pfs); - DBUG_ASSERT(thread->m_events_statements_count > 0); + assert(thread->m_events_statements_count > 0); thread->m_events_statements_count--; thread->m_stmt_lock.dirty_to_allocated(& dirty_state); } @@ -5763,7 +5763,7 @@ case SP_TYPE_EVENT: return OBJECT_TYPE_EVENT; default: - DBUG_ASSERT(false); + assert(false); /* Dead code */ return NO_OBJECT_TYPE; } @@ -5809,7 +5809,7 @@ PSI_sp_locker* pfs_start_sp_v1(PSI_sp_locker_state *state, PSI_sp_share *sp_share) { - DBUG_ASSERT(state != NULL); + assert(state != NULL); if (! flag_global_instrumentation) return NULL; @@ -5847,7 +5847,7 @@ void pfs_end_sp_v1(PSI_sp_locker *locker) { PSI_sp_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); ulonglong timer_end; ulonglong wait_time; @@ -5898,7 +5898,7 @@ my_bool read_only, my_bool autocommit) { - DBUG_ASSERT(state != NULL); + assert(state != NULL); if (!flag_global_instrumentation) return NULL; @@ -5986,7 +5986,7 @@ const char *src_file, uint src_line) { PSI_transaction_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); uint flags= state->m_flags; ulonglong timer_start= 0; @@ -6000,7 +6000,7 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_transactions *pfs= reinterpret_cast (state->m_transaction); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); pfs->m_timer_start= timer_start; pfs->m_source_file= src_file; @@ -6016,14 +6016,14 @@ const void *gtid_spec) { PSI_transaction_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); - DBUG_ASSERT(sid != NULL); - DBUG_ASSERT(gtid_spec != NULL); + assert(state != NULL); + assert(sid != NULL); + assert(gtid_spec != NULL); if (state->m_flags & STATE_FLAG_EVENT) { PFS_events_transactions *pfs= reinterpret_cast (state->m_transaction); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); pfs->m_sid= *(rpl_sid *)sid; pfs->m_gtid_spec= *(Gtid_specification *)gtid_spec; } @@ -6034,13 +6034,13 @@ int xa_state) { PSI_transaction_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); if (state->m_flags & STATE_FLAG_EVENT) { PFS_events_transactions *pfs= reinterpret_cast (state->m_transaction); - DBUG_ASSERT(pfs != NULL); - DBUG_ASSERT(xid != NULL); + assert(pfs != NULL); + assert(xid != NULL); pfs->m_xid= *(PSI_xid *)xid; pfs->m_xa_state= (enum_xa_transaction_state)xa_state; @@ -6053,12 +6053,12 @@ int xa_state) { PSI_transaction_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); if (state->m_flags & STATE_FLAG_EVENT) { PFS_events_transactions *pfs= reinterpret_cast (state->m_transaction); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); pfs->m_xa_state= (enum_xa_transaction_state)xa_state; pfs->m_xa= true; @@ -6069,15 +6069,15 @@ void pfs_set_transaction_trxid_v1(PSI_transaction_locker *locker, const ulonglong *trxid) { - DBUG_ASSERT(trxid != NULL); + assert(trxid != NULL); PSI_transaction_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); if (state->m_flags & STATE_FLAG_EVENT) { PFS_events_transactions *pfs= reinterpret_cast (state->m_transaction); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); if (pfs->m_trxid == 0) pfs->m_trxid= *trxid; @@ -6094,7 +6094,7 @@ { \ PFS_events_transactions *pfs; \ pfs= reinterpret_cast (state->m_transaction); \ - DBUG_ASSERT(pfs != NULL); \ + assert(pfs != NULL); \ pfs->ATTR+= VALUE; \ } \ return; @@ -6121,7 +6121,7 @@ void pfs_end_transaction_v1(PSI_transaction_locker *locker, my_bool commit) { PSI_transaction_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; @@ -6138,7 +6138,7 @@ if (flags & STATE_FLAG_THREAD) { PFS_thread *pfs_thread= reinterpret_cast (state->m_thread); - DBUG_ASSERT(pfs_thread != NULL); + assert(pfs_thread != NULL); /* Aggregate to EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME */ stat= &pfs_thread->write_instr_class_transactions_stats()[GLOBAL_TRANSACTION_INDEX]; @@ -6146,7 +6146,7 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_transactions *pfs= reinterpret_cast (state->m_transaction); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); /* events_transactions_current may have been cleared while the transaction was active */ if (unlikely(pfs->m_class == NULL)) @@ -6202,10 +6202,10 @@ void pfs_end_socket_wait_v1(PSI_socket_locker *locker, size_t byte_count) { PSI_socket_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); PFS_socket *socket= reinterpret_cast(state->m_socket); - DBUG_ASSERT(socket != NULL); + assert(socket != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; @@ -6240,7 +6240,7 @@ byte_stat= &socket->m_socket_stat.m_io_stat.m_misc; break; default: - DBUG_ASSERT(false); + assert(false); byte_stat= NULL; break; } @@ -6264,9 +6264,9 @@ if (flags & STATE_FLAG_EVENT) { PFS_thread *thread= reinterpret_cast(state->m_thread); - DBUG_ASSERT(thread != NULL); + assert(thread != NULL); PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; @@ -6278,17 +6278,17 @@ insert_events_waits_history_long(wait); thread->m_events_waits_current--; - DBUG_ASSERT(wait == thread->m_events_waits_current); + assert(wait == thread->m_events_waits_current); } } void pfs_set_socket_state_v1(PSI_socket *socket, PSI_socket_state state) { - DBUG_ASSERT((state == PSI_SOCKET_STATE_IDLE) || (state == PSI_SOCKET_STATE_ACTIVE)); + assert((state == PSI_SOCKET_STATE_IDLE) || (state == PSI_SOCKET_STATE_ACTIVE)); PFS_socket *pfs= reinterpret_cast(socket); - DBUG_ASSERT(pfs != NULL); - DBUG_ASSERT(pfs->m_idle || (state == PSI_SOCKET_STATE_IDLE)); - DBUG_ASSERT(!pfs->m_idle || (state == PSI_SOCKET_STATE_ACTIVE)); + assert(pfs != NULL); + assert(pfs->m_idle || (state == PSI_SOCKET_STATE_IDLE)); + assert(!pfs->m_idle || (state == PSI_SOCKET_STATE_ACTIVE)); pfs->m_idle= (state == PSI_SOCKET_STATE_IDLE); } @@ -6301,7 +6301,7 @@ socklen_t addr_len) { PFS_socket *pfs= reinterpret_cast(socket); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); /** Set socket descriptor */ if (fd != NULL) @@ -6327,7 +6327,7 @@ void pfs_set_socket_thread_owner_v1(PSI_socket *socket) { PFS_socket *pfs_socket= reinterpret_cast(socket); - DBUG_ASSERT(pfs_socket != NULL); + assert(pfs_socket != NULL); pfs_socket->m_thread_owner= my_thread_get_THR_PFS(); } @@ -6336,7 +6336,7 @@ { PSI_statement_locker_state *statement_state; statement_state= reinterpret_cast (locker); - DBUG_ASSERT(statement_state != NULL); + assert(statement_state != NULL); if (statement_state->m_discarded) return NULL; @@ -6353,8 +6353,8 @@ { PSI_statement_locker_state *statement_state; statement_state= reinterpret_cast (locker); - DBUG_ASSERT(statement_state != NULL); - DBUG_ASSERT(digest != NULL); + assert(statement_state != NULL); + assert(digest != NULL); if (statement_state->m_discarded) return; @@ -6398,7 +6398,7 @@ PSI_prepared_stmt* ps) { PSI_statement_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); state->m_parent_prepared_stmt= ps; state->m_in_prepare= false; @@ -6427,7 +6427,7 @@ { PFS_prepared_stmt *pfs_prepared_stmt = reinterpret_cast(prepared_stmt); - DBUG_ASSERT(pfs_prepared_stmt != NULL); + assert(pfs_prepared_stmt != NULL); uint max_len = COL_INFO_SIZE; if (text_len > max_len) @@ -6450,7 +6450,7 @@ { PFS_thread *thd= my_thread_get_THR_PFS(); - DBUG_ASSERT(buffer != NULL); + assert(buffer != NULL); if (likely(thd != NULL) && session_connect_attrs_size_per_thread > 0) { @@ -6487,7 +6487,7 @@ PSI_memory_key pfs_memory_alloc_v1(PSI_memory_key key, size_t size, PSI_thread **owner) { PFS_thread ** owner_thread= reinterpret_cast(owner); - DBUG_ASSERT(owner_thread != NULL); + assert(owner_thread != NULL); if (! flag_global_instrumentation) { @@ -6557,7 +6557,7 @@ PSI_memory_key pfs_memory_realloc_v1(PSI_memory_key key, size_t old_size, size_t new_size, PSI_thread **owner) { PFS_thread ** owner_thread_hdl= reinterpret_cast(owner); - DBUG_ASSERT(owner != NULL); + assert(owner != NULL); PFS_memory_class *klass= find_memory_class(key); if (klass == NULL) @@ -6635,7 +6635,7 @@ PSI_memory_key pfs_memory_claim_v1(PSI_memory_key key, size_t size, PSI_thread **owner) { PFS_thread ** owner_thread= reinterpret_cast(owner); - DBUG_ASSERT(owner_thread != NULL); + assert(owner_thread != NULL); PFS_memory_class *klass= find_memory_class(key); if (klass == NULL) @@ -6767,7 +6767,7 @@ { PFS_table *pfs_table= reinterpret_cast (table); - DBUG_ASSERT(pfs_table != NULL); + assert(pfs_table != NULL); pfs_table->m_internal_lock= PFS_TL_NONE; return; @@ -6811,7 +6811,7 @@ pfs_set_metadata_lock_status_v1(PSI_metadata_lock *lock, opaque_mdl_status mdl_status) { PFS_metadata_lock *pfs= reinterpret_cast (lock); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); pfs->m_mdl_status= mdl_status; } @@ -6819,7 +6819,7 @@ pfs_destroy_metadata_lock_v1(PSI_metadata_lock *lock) { PFS_metadata_lock *pfs= reinterpret_cast (lock); - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); destroy_metadata_lock(pfs); } @@ -6830,8 +6830,8 @@ uint src_line) { PFS_metadata_lock *pfs_lock= reinterpret_cast (lock); - DBUG_ASSERT(state != NULL); - DBUG_ASSERT(pfs_lock != NULL); + assert(state != NULL); + assert(pfs_lock != NULL); if (! pfs_lock->m_enabled) return NULL; @@ -6920,7 +6920,7 @@ int rc) { PSI_metadata_locker_state *state= reinterpret_cast (locker); - DBUG_ASSERT(state != NULL); + assert(state != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; @@ -6954,7 +6954,7 @@ if (flags & STATE_FLAG_EVENT) { PFS_events_waits *wait= reinterpret_cast (state->m_wait); - DBUG_ASSERT(wait != NULL); + assert(wait != NULL); wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; @@ -6964,7 +6964,7 @@ insert_events_waits_history_long(wait); thread->m_events_waits_current--; - DBUG_ASSERT(wait == thread->m_events_waits_current); + assert(wait == thread->m_events_waits_current); } } else diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_check.cc mysql-5.7-5.7.34/storage/perfschema/pfs_check.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_check.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_check.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_column_types.h mysql-5.7-5.7.34/storage/perfschema/pfs_column_types.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_column_types.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_column_types.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_column_values.cc mysql-5.7-5.7.34/storage/perfschema/pfs_column_values.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_column_values.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_column_values.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_column_values.h mysql-5.7-5.7.34/storage/perfschema/pfs_column_values.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_column_values.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_column_values.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_con_slice.cc mysql-5.7-5.7.34/storage/perfschema/pfs_con_slice.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_con_slice.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_con_slice.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_con_slice.h mysql-5.7-5.7.34/storage/perfschema/pfs_con_slice.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_con_slice.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_con_slice.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_defaults.cc mysql-5.7-5.7.34/storage/perfschema/pfs_defaults.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_defaults.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_defaults.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_defaults.h mysql-5.7-5.7.34/storage/perfschema/pfs_defaults.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_defaults.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_defaults.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_digest.cc mysql-5.7-5.7.34/storage/perfschema/pfs_digest.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_digest.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_digest.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -146,9 +146,9 @@ const PFS_statements_digest_stat *digest; const void *result; typed_entry= reinterpret_cast(entry); - DBUG_ASSERT(typed_entry != NULL); + assert(typed_entry != NULL); digest= *typed_entry; - DBUG_ASSERT(digest != NULL); + assert(digest != NULL); *length= sizeof (PFS_digest_key); result= & digest->m_digest_key; return const_cast (reinterpret_cast (result)); @@ -198,7 +198,7 @@ const char *schema_name, uint schema_name_length) { - DBUG_ASSERT(digest_storage != NULL); + assert(digest_storage != NULL); if (statements_digest_stat_array == NULL) return NULL; @@ -276,7 +276,7 @@ } /* Add a new record in digest stat array. */ - DBUG_ASSERT(safe_index < digest_max); + assert(safe_index < digest_max); pfs= &statements_digest_stat_array[safe_index]; if (pfs->m_lock.is_free()) diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_digest.h mysql-5.7-5.7.34/storage/perfschema/pfs_digest.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_digest.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_digest.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_engine_table.cc mysql-5.7-5.7.34/storage/perfschema/pfs_engine_table.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_engine_table.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_engine_table.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -146,13 +146,13 @@ { /* Restore context from TLS. */ PFS_table_context *context= static_cast(my_get_thread_local(m_thr_key)); - DBUG_ASSERT(context != NULL); + assert(context != NULL); if(context) { m_last_version= context->m_current_version; m_map= context->m_map; - DBUG_ASSERT(m_map_size == context->m_map_size); + assert(m_map_size == context->m_map_size); m_map_size= context->m_map_size; m_word_size= context->m_word_size; } @@ -161,7 +161,7 @@ { /* Check that TLS is not in use. */ PFS_table_context *context= static_cast(my_get_thread_local(m_thr_key)); - //DBUG_ASSERT(context == NULL); + //assert(context == NULL); context= this; @@ -653,28 +653,28 @@ void PFS_engine_table::set_field_long(Field *f, long value) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_LONG); + assert(f->real_type() == MYSQL_TYPE_LONG); Field_long *f2= (Field_long*) f; f2->store(value, false); } void PFS_engine_table::set_field_ulong(Field *f, ulong value) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_LONG); + assert(f->real_type() == MYSQL_TYPE_LONG); Field_long *f2= (Field_long*) f; f2->store(value, true); } void PFS_engine_table::set_field_longlong(Field *f, longlong value) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_LONGLONG); + assert(f->real_type() == MYSQL_TYPE_LONGLONG); Field_longlong *f2= (Field_longlong*) f; f2->store(value, false); } void PFS_engine_table::set_field_ulonglong(Field *f, ulonglong value) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_LONGLONG); + assert(f->real_type() == MYSQL_TYPE_LONGLONG); Field_longlong *f2= (Field_longlong*) f; f2->store(value, true); } @@ -682,7 +682,7 @@ void PFS_engine_table::set_field_char_utf8(Field *f, const char* str, uint len) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_STRING); + assert(f->real_type() == MYSQL_TYPE_STRING); Field_string *f2= (Field_string*) f; f2->store(str, len, &my_charset_utf8_bin); } @@ -692,7 +692,7 @@ const char* str, uint len) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_VARCHAR); + assert(f->real_type() == MYSQL_TYPE_VARCHAR); Field_varstring *f2= (Field_varstring*) f; f2->store(str, len, cs); } @@ -700,7 +700,7 @@ void PFS_engine_table::set_field_varchar_utf8(Field *f, const char* str, uint len) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_VARCHAR); + assert(f->real_type() == MYSQL_TYPE_VARCHAR); Field_varstring *f2= (Field_varstring*) f; f2->store(str, len, &my_charset_utf8_bin); } @@ -708,7 +708,7 @@ void PFS_engine_table::set_field_longtext_utf8(Field *f, const char* str, uint len) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_BLOB); + assert(f->real_type() == MYSQL_TYPE_BLOB); Field_blob *f2= (Field_blob*) f; f2->store(str, len, &my_charset_utf8_bin); } @@ -716,14 +716,14 @@ void PFS_engine_table::set_field_blob(Field *f, const char* val, uint len) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_BLOB); + assert(f->real_type() == MYSQL_TYPE_BLOB); Field_blob *f2= (Field_blob*) f; f2->store(val, len, &my_charset_utf8_bin); } void PFS_engine_table::set_field_enum(Field *f, ulonglong value) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_ENUM); + assert(f->real_type() == MYSQL_TYPE_ENUM); Field_enum *f2= (Field_enum*) f; f2->store_type(value); } @@ -733,21 +733,21 @@ struct timeval tm; tm.tv_sec= (long)(value / 1000000); tm.tv_usec= (long)(value % 1000000); - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_TIMESTAMP2); + assert(f->real_type() == MYSQL_TYPE_TIMESTAMP2); Field_timestampf *f2= (Field_timestampf*) f; f2->store_timestamp(& tm); } void PFS_engine_table::set_field_double(Field *f, double value) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_DOUBLE); + assert(f->real_type() == MYSQL_TYPE_DOUBLE); Field_double *f2= (Field_double*) f; f2->store(value); } ulonglong PFS_engine_table::get_field_enum(Field *f) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_ENUM); + assert(f->real_type() == MYSQL_TYPE_ENUM); Field_enum *f2= (Field_enum*) f; return f2->val_int(); } @@ -755,7 +755,7 @@ String* PFS_engine_table::get_field_char_utf8(Field *f, String *val) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_STRING); + assert(f->real_type() == MYSQL_TYPE_STRING); Field_string *f2= (Field_string*) f; val= f2->val_str(NULL, val); return val; @@ -764,7 +764,7 @@ String* PFS_engine_table::get_field_varchar_utf8(Field *f, String *val) { - DBUG_ASSERT(f->real_type() == MYSQL_TYPE_VARCHAR); + assert(f->real_type() == MYSQL_TYPE_VARCHAR); Field_varstring *f2= (Field_varstring*) f; val= f2->val_str(NULL, val); return val; @@ -860,7 +860,7 @@ return false; } - DBUG_ASSERT(thd->lex != NULL); + assert(thd->lex != NULL); if ((thd->lex->sql_command != SQLCOM_TRUNCATE) && (thd->lex->sql_command != SQLCOM_GRANT)) { return false; diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_engine_table.h mysql-5.7-5.7.34/storage/perfschema/pfs_engine_table.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_engine_table.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_engine_table.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_events.h mysql-5.7-5.7.34/storage/perfschema/pfs_events.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_events.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_events.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_events_stages.cc mysql-5.7-5.7.34/storage/perfschema/pfs_events_stages.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_events_stages.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_events_stages.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -101,7 +101,7 @@ if (unlikely(events_stages_history_per_thread == 0)) return; - DBUG_ASSERT(thread->m_stages_history != NULL); + assert(thread->m_stages_history != NULL); uint index= thread->m_stages_history_index; @@ -133,7 +133,7 @@ if (unlikely(events_stages_history_long_size == 0)) return; - DBUG_ASSERT(events_stages_history_long_array != NULL); + assert(events_stages_history_long_array != NULL); uint index= PFS_atomic::add_u32(&events_stages_history_long_index.m_u32, 1); diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_events_stages.h mysql-5.7-5.7.34/storage/perfschema/pfs_events_stages.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_events_stages.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_events_stages.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_events_statements.cc mysql-5.7-5.7.34/storage/perfschema/pfs_events_statements.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_events_statements.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_events_statements.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -180,7 +180,7 @@ if (unlikely(events_statements_history_per_thread == 0)) return; - DBUG_ASSERT(thread->m_statements_history != NULL); + assert(thread->m_statements_history != NULL); uint index= thread->m_statements_history_index; @@ -212,7 +212,7 @@ if (unlikely(events_statements_history_long_size == 0)) return ; - DBUG_ASSERT(events_statements_history_long_array != NULL); + assert(events_statements_history_long_array != NULL); uint index= PFS_atomic::add_u32(&events_statements_history_long_index.m_u32, 1); diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_events_statements.h mysql-5.7-5.7.34/storage/perfschema/pfs_events_statements.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_events_statements.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_events_statements.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_events_transactions.cc mysql-5.7-5.7.34/storage/perfschema/pfs_events_transactions.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_events_transactions.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_events_transactions.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -101,7 +101,7 @@ if (unlikely(events_transactions_history_per_thread == 0)) return; - DBUG_ASSERT(thread->m_transactions_history != NULL); + assert(thread->m_transactions_history != NULL); uint index= thread->m_transactions_history_index; @@ -133,7 +133,7 @@ if (unlikely(events_transactions_history_long_size == 0)) return ; - DBUG_ASSERT(events_transactions_history_long_array != NULL); + assert(events_transactions_history_long_array != NULL); uint index= PFS_atomic::add_u32(&events_transactions_history_long_index.m_u32, 1); @@ -252,7 +252,7 @@ if (xid->is_null()) return false; - DBUG_ASSERT(offset + length <= MYSQL_XIDDATASIZE); + assert(offset + length <= MYSQL_XIDDATASIZE); unsigned char *c= (unsigned char*)&xid->data + offset; diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_events_transactions.h mysql-5.7-5.7.34/storage/perfschema/pfs_events_transactions.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_events_transactions.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_events_transactions.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_events_waits.cc mysql-5.7-5.7.34/storage/perfschema/pfs_events_waits.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_events_waits.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_events_waits.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_events_waits.h mysql-5.7-5.7.34/storage/perfschema/pfs_events_waits.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_events_waits.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_events_waits.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_global.cc mysql-5.7-5.7.34/storage/perfschema/pfs_global.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_global.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_global.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify @@ -57,8 +57,8 @@ */ void *pfs_malloc(PFS_builtin_memory_class *klass, size_t size, myf flags) { - DBUG_ASSERT(klass != NULL); - DBUG_ASSERT(size > 0); + assert(klass != NULL); + assert(size > 0); void *ptr= NULL; @@ -135,9 +135,9 @@ */ void *pfs_malloc_array(PFS_builtin_memory_class *klass, size_t n, size_t size, myf flags) { - DBUG_ASSERT(klass != NULL); - DBUG_ASSERT(n > 0); - DBUG_ASSERT(size > 0); + assert(klass != NULL); + assert(n > 0); + assert(size > 0); void *ptr= NULL; size_t array_size= n * size; /* Check for overflow before allocating. */ @@ -170,7 +170,7 @@ return; size_t array_size= n * size; /* Overflow should have been detected by pfs_malloc_array. */ - DBUG_ASSERT(!is_overflow(array_size, n, size)); + assert(!is_overflow(array_size, n, size)); return pfs_free(klass, array_size, ptr); } @@ -213,9 +213,9 @@ const struct sockaddr_storage *src_addr, socklen_t src_len) { - DBUG_ASSERT(host); - DBUG_ASSERT(src_addr); - DBUG_ASSERT(port); + assert(host); + assert(src_addr); + assert(port); memset(host, 0, host_len); *port= 0; diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_global.h mysql-5.7-5.7.34/storage/perfschema/pfs_global.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_global.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_global.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -174,7 +174,7 @@ seed2= seed1*seed1; seed1= result; - DBUG_ASSERT(result < max_size); + assert(result < max_size); return result; } diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs.h mysql-5.7-5.7.34/storage/perfschema/pfs.h --- mysql-5.7-5.7.33/storage/perfschema/pfs.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_host.cc mysql-5.7-5.7.34/storage/perfschema/pfs_host.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_host.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_host.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -71,9 +71,9 @@ const PFS_host *host; const void *result; typed_entry= reinterpret_cast (entry); - DBUG_ASSERT(typed_entry != NULL); + assert(typed_entry != NULL); host= *typed_entry; - DBUG_ASSERT(host != NULL); + assert(host != NULL); *length= host->m_key.m_key_length; result= host->m_key.m_hash_key; return const_cast (reinterpret_cast (result)); @@ -119,7 +119,7 @@ static void set_host_key(PFS_host_key *key, const char *host, uint host_length) { - DBUG_ASSERT(host_length <= HOSTNAME_LENGTH); + assert(host_length <= HOSTNAME_LENGTH); char *ptr= &key->m_hash_key[0]; if (host_length > 0) @@ -328,7 +328,7 @@ host->m_key.m_hash_key, host->m_key.m_key_length)); if (entry && (entry != MY_ERRPTR)) { - DBUG_ASSERT(*entry == host); + assert(*entry == host); if (host->get_refcount() == 0) { lf_hash_delete(&host_hash, pins, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_host.h mysql-5.7-5.7.34/storage/perfschema/pfs_host.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_host.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_host.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_instr.cc mysql-5.7-5.7.34/storage/perfschema/pfs_instr.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_instr.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_instr.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -105,7 +105,7 @@ uint index; /* Make sure init_event_name_sizing is called */ - DBUG_ASSERT(wait_class_max != 0); + assert(wait_class_max != 0); file_handle_max= param->m_file_handle_sizing; file_handle_full= false; @@ -257,9 +257,9 @@ const PFS_file *file; const void *result; typed_entry= reinterpret_cast (entry); - DBUG_ASSERT(typed_entry != NULL); + assert(typed_entry != NULL); file= *typed_entry; - DBUG_ASSERT(file != NULL); + assert(file != NULL); *length= file->m_filename_length; result= file->m_filename; return const_cast (reinterpret_cast (result)); @@ -326,7 +326,7 @@ */ void destroy_mutex(PFS_mutex *pfs) { - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); PFS_mutex_class *klass= pfs->m_class; /* Aggregate to EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME */ klass->m_mutex_stat.aggregate(& pfs->m_mutex_stat); @@ -374,7 +374,7 @@ */ void destroy_rwlock(PFS_rwlock *pfs) { - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); PFS_rwlock_class *klass= pfs->m_class; /* Aggregate to EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME */ klass->m_rwlock_stat.aggregate(& pfs->m_rwlock_stat); @@ -418,7 +418,7 @@ */ void destroy_cond(PFS_cond *pfs) { - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); PFS_cond_class *klass= pfs->m_class; /* Aggregate to EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME */ klass->m_cond_stat.aggregate(& pfs->m_cond_stat); @@ -649,14 +649,14 @@ */ void destroy_thread(PFS_thread *pfs) { - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); pfs->reset_session_connect_attrs(); if (pfs->m_account != NULL) { pfs->m_account->release(); pfs->m_account= NULL; - DBUG_ASSERT(pfs->m_user == NULL); - DBUG_ASSERT(pfs->m_host == NULL); + assert(pfs->m_user == NULL); + assert(pfs->m_host == NULL); } else { @@ -750,7 +750,7 @@ { PFS_file *pfs; - DBUG_ASSERT(klass != NULL || ! create); + assert(klass != NULL || ! create); LF_PINS *pins= get_filename_hash_pins(thread); if (unlikely(pins == NULL)) @@ -925,7 +925,7 @@ { PFS_file *pfs; - DBUG_ASSERT(thread != NULL); + assert(thread != NULL); LF_PINS *pins= get_filename_hash_pins(thread); if (unlikely(pins == NULL)) @@ -1068,7 +1068,7 @@ */ void release_file(PFS_file *pfs) { - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); pfs->m_file_stat.m_open_count--; } @@ -1079,8 +1079,8 @@ */ void destroy_file(PFS_thread *thread, PFS_file *pfs) { - DBUG_ASSERT(thread != NULL); - DBUG_ASSERT(pfs != NULL); + assert(thread != NULL); + assert(pfs != NULL); PFS_file_class *klass= pfs->m_class; /* Aggregate to FILE_SUMMARY_BY_EVENT_NAME */ @@ -1091,7 +1091,7 @@ klass->m_singleton= NULL; LF_PINS *pins= get_filename_hash_pins(thread); - DBUG_ASSERT(pins != NULL); + assert(pins != NULL); lf_hash_delete(&filename_hash, pins, pfs->m_filename, pfs->m_filename_length); @@ -1185,8 +1185,8 @@ PFS_table_stat *table_stat, PFS_table_share *table_share) { - DBUG_ASSERT(table_stat != NULL); - DBUG_ASSERT(table_share != NULL); + assert(table_stat != NULL); + assert(table_share != NULL); uint key_count= sanitize_index_count(table_share->m_key_count); @@ -1194,7 +1194,7 @@ PFS_table_io_stat *from_stat; uint index; - DBUG_ASSERT(key_count <= MAX_INDEXES); + assert(key_count <= MAX_INDEXES); /* Aggregate stats for each index, if any */ for (index= 0; index < key_count; index++) @@ -1248,8 +1248,8 @@ void PFS_table::safe_aggregate_lock(PFS_table_stat *table_stat, PFS_table_share *table_share) { - DBUG_ASSERT(table_stat != NULL); - DBUG_ASSERT(table_share != NULL); + assert(table_stat != NULL); + assert(table_share != NULL); PFS_table_lock_stat *from_stat= & table_stat->m_lock_stat; @@ -1271,7 +1271,7 @@ */ void destroy_table(PFS_table *pfs) { - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); pfs->m_share->dec_refcount(); global_table_container.deallocate(pfs); } @@ -1339,7 +1339,7 @@ */ void destroy_socket(PFS_socket *pfs) { - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); PFS_socket_class *klass= pfs->m_class; /* Aggregate to SOCKET_SUMMARY_BY_EVENT_NAME */ @@ -1406,7 +1406,7 @@ void destroy_metadata_lock(PFS_metadata_lock *pfs) { - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); global_mdl_container.deallocate(pfs); } @@ -1633,8 +1633,8 @@ void aggregate_all_transactions(PFS_transaction_stat *from_array, PFS_transaction_stat *to_array) { - DBUG_ASSERT(from_array != NULL); - DBUG_ASSERT(to_array != NULL); + assert(from_array != NULL); + assert(to_array != NULL); if (from_array->count() > 0) { @@ -1647,9 +1647,9 @@ PFS_transaction_stat *to_array_1, PFS_transaction_stat *to_array_2) { - DBUG_ASSERT(from_array != NULL); - DBUG_ASSERT(to_array_1 != NULL); - DBUG_ASSERT(to_array_2 != NULL); + assert(from_array != NULL); + assert(to_array_1 != NULL); + assert(to_array_2 != NULL); if (from_array->count() > 0) { @@ -2158,9 +2158,9 @@ void set_thread_account(PFS_thread *thread) { - DBUG_ASSERT(thread->m_account == NULL); - DBUG_ASSERT(thread->m_user == NULL); - DBUG_ASSERT(thread->m_host == NULL); + assert(thread->m_account == NULL); + assert(thread->m_user == NULL); + assert(thread->m_host == NULL); thread->m_account= find_or_create_account(thread, thread->m_username, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_instr_class.cc mysql-5.7-5.7.34/storage/perfschema/pfs_instr_class.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_instr_class.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_instr_class.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -409,9 +409,9 @@ const PFS_table_share *share; const void *result; typed_entry= reinterpret_cast (entry); - DBUG_ASSERT(typed_entry != NULL); + assert(typed_entry != NULL); share= *typed_entry; - DBUG_ASSERT(share != NULL); + assert(share != NULL); *length= share->m_key.m_key_length; result= &share->m_key.m_hash_key[0]; return const_cast (reinterpret_cast (result)); @@ -470,8 +470,8 @@ const char *schema_name, size_t schema_name_length, const char *table_name, size_t table_name_length) { - DBUG_ASSERT(schema_name_length <= NAME_LEN); - DBUG_ASSERT(table_name_length <= NAME_LEN); + assert(schema_name_length <= NAME_LEN); + assert(table_name_length <= NAME_LEN); char *saved_schema_name; char *saved_table_name; @@ -585,7 +585,7 @@ PFS_table_share_index* PFS_table_share::find_index_stat(uint index) const { - DBUG_ASSERT(index <= MAX_INDEXES); + assert(index <= MAX_INDEXES); PFS_table_share *that= const_cast(this); void *addr= & that->m_race_index_stat[index]; @@ -609,7 +609,7 @@ PFS_table_share_index* PFS_table_share::find_or_create_index_stat(const TABLE_SHARE *server_share, uint index) { - DBUG_ASSERT(index <= MAX_INDEXES); + assert(index <= MAX_INDEXES); void *addr= & this->m_race_index_stat[index]; void * volatile * typed_addr= static_cast(addr); @@ -762,7 +762,7 @@ PFS_table_share_index* create_table_share_index_stat(const TABLE_SHARE *server_share, uint server_index) { - DBUG_ASSERT((server_share != NULL) || (server_index == MAX_INDEXES)); + assert((server_share != NULL) || (server_index == MAX_INDEXES)); PFS_table_share_index *pfs= NULL; pfs_dirty_state dirty_state; @@ -1004,7 +1004,7 @@ int flags, PFS_class_type class_type) { - DBUG_ASSERT(name_length <= PFS_MAX_INFO_NAME_LENGTH); + assert(name_length <= PFS_MAX_INFO_NAME_LENGTH); memset(klass, 0, sizeof(PFS_instr_class)); memcpy(klass->m_name, name, name_length); klass->m_name_length= name_length; @@ -1060,7 +1060,7 @@ if ((entry->m_name_length == NAME_LENGTH) && \ (strncmp(entry->m_name, NAME, NAME_LENGTH) == 0)) \ { \ - DBUG_ASSERT(entry->m_flags == flags); \ + assert(entry->m_flags == flags); \ return (INDEX + 1); \ } \ } @@ -1314,7 +1314,7 @@ if (index < thread_class_max) { entry= &thread_class_array[index]; - DBUG_ASSERT(name_length <= PFS_MAX_INFO_NAME_LENGTH); + assert(name_length <= PFS_MAX_INFO_NAME_LENGTH); strncpy(entry->m_name, name, name_length); entry->m_name_length= name_length; entry->m_enabled= true; @@ -1881,7 +1881,7 @@ uint index; PFS_table_share_index *stat; - DBUG_ASSERT(key_count <= MAX_INDEXES); + assert(key_count <= MAX_INDEXES); /* Sum stats for each index, if any */ for (index= 0; index < key_count; index++) @@ -1929,7 +1929,7 @@ void release_table_share(PFS_table_share *pfs) { - DBUG_ASSERT(pfs->get_refcount() > 0); + assert(pfs->get_refcount() > 0); pfs->dec_refcount(); } diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_instr_class.h mysql-5.7-5.7.34/storage/perfschema/pfs_instr_class.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_instr_class.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_instr_class.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -173,13 +173,13 @@ bool is_progress() const { - DBUG_ASSERT(m_type == PFS_CLASS_STAGE); + assert(m_type == PFS_CLASS_STAGE); return m_flags & PSI_FLAG_STAGE_PROGRESS; } bool is_shared_exclusive() const { - DBUG_ASSERT(m_type == PFS_CLASS_RWLOCK); + assert(m_type == PFS_CLASS_RWLOCK); return m_flags & PSI_RWLOCK_FLAG_SX; } diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_instr.h mysql-5.7-5.7.34/storage/perfschema/pfs_instr.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_instr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_instr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_lock.h mysql-5.7-5.7.34/storage/perfschema/pfs_lock.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_lock.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_lock.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -173,7 +173,7 @@ { uint32 copy= copy_version_state(); /* Make sure the record was ALLOCATED. */ - DBUG_ASSERT((copy & STATE_MASK) == PFS_LOCK_ALLOCATED); + assert((copy & STATE_MASK) == PFS_LOCK_ALLOCATED); /* Keep the same version, set the DIRTY state */ uint32 new_val= (copy & VERSION_MASK) + PFS_LOCK_DIRTY; /* We own the record, no need to use compare and swap. */ @@ -191,7 +191,7 @@ void dirty_to_allocated(const pfs_dirty_state *copy) { /* Make sure the record was DIRTY. */ - DBUG_ASSERT((copy->m_version_state & STATE_MASK) == PFS_LOCK_DIRTY); + assert((copy->m_version_state & STATE_MASK) == PFS_LOCK_DIRTY); /* Increment the version, set the ALLOCATED state */ uint32 new_val= (copy->m_version_state & VERSION_MASK) + VERSION_INC + PFS_LOCK_ALLOCATED; @@ -234,7 +234,7 @@ void dirty_to_free(const pfs_dirty_state *copy) { /* Make sure the record was DIRTY. */ - DBUG_ASSERT((copy->m_version_state & STATE_MASK) == PFS_LOCK_DIRTY); + assert((copy->m_version_state & STATE_MASK) == PFS_LOCK_DIRTY); /* Keep the same version, set the FREE state */ uint32 new_val= (copy->m_version_state & VERSION_MASK) + PFS_LOCK_FREE; @@ -254,7 +254,7 @@ */ uint32 copy= copy_version_state(); /* Make sure the record was ALLOCATED. */ - DBUG_ASSERT(((copy & STATE_MASK) == PFS_LOCK_ALLOCATED)); + assert(((copy & STATE_MASK) == PFS_LOCK_ALLOCATED)); /* Keep the same version, set the FREE state */ uint32 new_val= (copy & VERSION_MASK) + PFS_LOCK_FREE; diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_memory.cc mysql-5.7-5.7.34/storage/perfschema/pfs_memory.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_memory.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_memory.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_memory.h mysql-5.7-5.7.34/storage/perfschema/pfs_memory.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_memory.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_memory.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_prepared_stmt.cc mysql-5.7-5.7.34/storage/perfschema/pfs_prepared_stmt.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_prepared_stmt.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_prepared_stmt.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_prepared_stmt.h mysql-5.7-5.7.34/storage/perfschema/pfs_prepared_stmt.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_prepared_stmt.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_prepared_stmt.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_program.cc mysql-5.7-5.7.34/storage/perfschema/pfs_program.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_program.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_program.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -70,9 +70,9 @@ const PFS_program *program; const void *result; typed_entry= reinterpret_cast (entry); - DBUG_ASSERT(typed_entry != NULL); + assert(typed_entry != NULL); program= *typed_entry; - DBUG_ASSERT(program != NULL); + assert(program != NULL); *length= program->m_key.m_key_length; result= program->m_key.m_hash_key; return const_cast (reinterpret_cast (result)); @@ -109,8 +109,8 @@ const char *object_name, uint object_name_length, const char *schema_name, uint schema_name_length) { - DBUG_ASSERT(object_name_length <= COL_OBJECT_NAME_SIZE); - DBUG_ASSERT(schema_name_length <= COL_OBJECT_SCHEMA_SIZE); + assert(object_name_length <= COL_OBJECT_NAME_SIZE); + assert(schema_name_length <= COL_OBJECT_SCHEMA_SIZE); /* To make sure generated key is case insensitive, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_program.h mysql-5.7-5.7.34/storage/perfschema/pfs_program.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_program.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_program.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_server.cc mysql-5.7-5.7.34/storage/perfschema/pfs_server.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_server.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_server.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -211,7 +211,7 @@ static void destroy_pfs_thread(void *key) { PFS_thread* pfs= reinterpret_cast (key); - DBUG_ASSERT(pfs); + assert(pfs); /* This automatic cleanup is a last resort and best effort to avoid leaks, and may not work on windows due to the implementation of pthread_key_create(). diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_server.h mysql-5.7-5.7.34/storage/perfschema/pfs_server.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_server.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_server.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_setup_actor.cc mysql-5.7-5.7.34/storage/perfschema/pfs_setup_actor.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_setup_actor.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_setup_actor.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -70,9 +70,9 @@ const PFS_setup_actor *setup_actor; const void *result; typed_entry= reinterpret_cast (entry); - DBUG_ASSERT(typed_entry != NULL); + assert(typed_entry != NULL); setup_actor= *typed_entry; - DBUG_ASSERT(setup_actor != NULL); + assert(setup_actor != NULL); *length= setup_actor->m_key.m_key_length; result= setup_actor->m_key.m_hash_key; return const_cast (reinterpret_cast (result)); @@ -121,8 +121,8 @@ const char *host, uint host_length, const char *role, uint role_length) { - DBUG_ASSERT(user_length <= USERNAME_LENGTH); - DBUG_ASSERT(host_length <= HOSTNAME_LENGTH); + assert(user_length <= USERNAME_LENGTH); + assert(host_length <= HOSTNAME_LENGTH); char *ptr= &key->m_hash_key[0]; memcpy(ptr, user, user_length); diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_setup_actor.h mysql-5.7-5.7.34/storage/perfschema/pfs_setup_actor.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_setup_actor.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_setup_actor.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_setup_object.cc mysql-5.7-5.7.34/storage/perfschema/pfs_setup_object.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_setup_object.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_setup_object.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -70,9 +70,9 @@ const PFS_setup_object *setup_object; const void *result; typed_entry= reinterpret_cast (entry); - DBUG_ASSERT(typed_entry != NULL); + assert(typed_entry != NULL); setup_object= *typed_entry; - DBUG_ASSERT(setup_object != NULL); + assert(setup_object != NULL); *length= setup_object->m_key.m_key_length; result= setup_object->m_key.m_hash_key; return const_cast (reinterpret_cast (result)); @@ -120,8 +120,8 @@ const char *schema, uint schema_length, const char *object, uint object_length) { - DBUG_ASSERT(schema_length <= NAME_LEN); - DBUG_ASSERT(object_length <= NAME_LEN); + assert(schema_length <= NAME_LEN); + assert(object_length <= NAME_LEN); char *ptr= &key->m_hash_key[0]; ptr[0]= (char) object_type; @@ -278,7 +278,7 @@ - TABLE foo.bar - TEMPORARY TABLE foo.bar */ - DBUG_ASSERT(object_type != OBJECT_TYPE_TEMPORARY_TABLE); + assert(object_type != OBJECT_TYPE_TEMPORARY_TABLE); LF_PINS* pins= get_setup_object_hash_pins(thread); if (unlikely(pins == NULL)) diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_setup_object.h mysql-5.7-5.7.34/storage/perfschema/pfs_setup_object.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_setup_object.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_setup_object.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_stat.h mysql-5.7-5.7.34/storage/perfschema/pfs_stat.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_stat.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_stat.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -721,7 +721,7 @@ PFS_table_io_stat *to_stat_last; const PFS_table_io_stat *from_stat; - DBUG_ASSERT(key_count <= MAX_INDEXES); + assert(key_count <= MAX_INDEXES); /* Aggregate stats for each index, if any */ to_stat= & m_index_stat[0]; @@ -752,7 +752,7 @@ PFS_table_io_stat *stat; PFS_table_io_stat *stat_last; - DBUG_ASSERT(key_count <= MAX_INDEXES); + assert(key_count <= MAX_INDEXES); /* Sum stats for each index, if any */ stat= & m_index_stat[0]; diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_status.cc mysql-5.7-5.7.34/storage/perfschema/pfs_status.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_status.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_status.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_status.h mysql-5.7-5.7.34/storage/perfschema/pfs_status.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_status.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_status.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_timer.cc mysql-5.7-5.7.34/storage/perfschema/pfs_timer.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_timer.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_timer.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -252,7 +252,7 @@ case TIMER_NAME_TICK: return my_timer_ticks(); default: - DBUG_ASSERT(false); + assert(false); } return 0; } @@ -278,7 +278,7 @@ return my_timer_ticks(); default: *fct= NULL; - DBUG_ASSERT(false); + assert(false); } return 0; } @@ -306,7 +306,7 @@ break; default: result= 0; - DBUG_ASSERT(false); + assert(false); } return result; } @@ -315,8 +315,8 @@ { uint index= static_cast (timer_name); - DBUG_ASSERT(index >= FIRST_TIMER_NAME); - DBUG_ASSERT(index <= LAST_TIMER_NAME); + assert(index >= FIRST_TIMER_NAME); + assert(index <= LAST_TIMER_NAME); return & to_pico_data[index]; } diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_timer.h mysql-5.7-5.7.34/storage/perfschema/pfs_timer.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_timer.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_timer.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_user.cc mysql-5.7-5.7.34/storage/perfschema/pfs_user.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_user.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_user.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -71,9 +71,9 @@ const PFS_user *user; const void *result; typed_entry= reinterpret_cast (entry); - DBUG_ASSERT(typed_entry != NULL); + assert(typed_entry != NULL); user= *typed_entry; - DBUG_ASSERT(user != NULL); + assert(user != NULL); *length= user->m_key.m_key_length; result= user->m_key.m_hash_key; return const_cast (reinterpret_cast (result)); @@ -119,7 +119,7 @@ static void set_user_key(PFS_user_key *key, const char *user, uint user_length) { - DBUG_ASSERT(user_length <= USERNAME_LENGTH); + assert(user_length <= USERNAME_LENGTH); char *ptr= &key->m_hash_key[0]; if (user_length > 0) @@ -293,7 +293,7 @@ user->m_key.m_hash_key, user->m_key.m_key_length)); if (entry && (entry != MY_ERRPTR)) { - DBUG_ASSERT(*entry == user); + assert(*entry == user); if (user->get_refcount() == 0) { lf_hash_delete(&user_hash, pins, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_user.h mysql-5.7-5.7.34/storage/perfschema/pfs_user.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_user.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_user.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_variable.cc mysql-5.7-5.7.34/storage/perfschema/pfs_variable.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_variable.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_variable.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -43,7 +43,7 @@ */ bool PFS_system_variable_cache::init_show_var_array(enum_var_type scope, bool strict) { - DBUG_ASSERT(!m_initialized); + assert(!m_initialized); m_query_scope= scope; mysql_rwlock_rdlock(&LOCK_system_variables_hash); @@ -130,7 +130,7 @@ { const char* name= show_var->name; sys_var *value= (sys_var *)show_var->value; - DBUG_ASSERT(value); + assert(value); if ((m_query_scope == OPT_GLOBAL) && (!my_strcasecmp(system_charset_info, name, "sql_log_bin"))) @@ -158,7 +158,7 @@ The assert below will fail once SQL_LOG_BIN really is defined as SESSION_ONLY (in 5.8), so that this special case can be removed. */ - DBUG_ASSERT(value->scope() == sys_var::SESSION); + assert(value->scope() == sys_var::SESSION); continue; } @@ -208,7 +208,7 @@ { const char* name= show_var->name; sys_var *value= (sys_var *)show_var->value; - DBUG_ASSERT(value); + assert(value); bool ignore= false; if (value->scope() == sys_var::SESSION && @@ -319,7 +319,7 @@ mysql_mutex_lock(&LOCK_plugin_delete); /* The SHOW_VAR array must be initialized externally. */ - DBUG_ASSERT(m_initialized); + assert(m_initialized); /* Use a temporary mem_root to avoid depleting THD mem_root. */ if (m_use_mem_root) @@ -383,7 +383,7 @@ mysql_mutex_lock(&LOCK_plugin_delete); /* The SHOW_VAR array must be initialized externally. */ - DBUG_ASSERT(m_initialized); + assert(m_initialized); /* Get and lock a validated THD from the thread manager. */ if ((m_safe_thd= get_THD(pfs_thread)) != NULL) @@ -521,7 +521,7 @@ return; enum_mysql_show_type show_var_type= show_var->type; - DBUG_ASSERT(show_var_type == SHOW_SYS); + assert(show_var_type == SHOW_SYS); m_name= show_var->name; m_name_length= strlen(m_name); @@ -544,7 +544,7 @@ mysql_mutex_lock(&LOCK_global_system_variables); sys_var *system_var= (sys_var *)show_var->value; - DBUG_ASSERT(system_var != NULL); + assert(system_var != NULL); m_charset= system_var->charset(target_thd); m_type= system_var->show_type(); m_scope= system_var->scope(); @@ -682,8 +682,8 @@ */ bool PFS_status_variable_cache::filter_by_name(const SHOW_VAR *show_var) { - DBUG_ASSERT(show_var); - DBUG_ASSERT(show_var->name); + assert(show_var); + assert(show_var->name); if (show_var->type == SHOW_ARRAY) { @@ -793,7 +793,7 @@ */ bool PFS_status_variable_cache::init_show_var_array(enum_var_type scope, bool strict) { - DBUG_ASSERT(!m_initialized); + assert(!m_initialized); /* Resize if necessary. */ m_show_var_array.reserve(all_status_vars.size()+1); @@ -871,7 +871,7 @@ char * PFS_status_variable_cache::make_show_var_name(const char* prefix, const char* name, char *name_buf, size_t buf_len) { - DBUG_ASSERT(name_buf != NULL); + assert(name_buf != NULL); char *prefix_end= name_buf; if (prefix && *prefix) @@ -987,7 +987,7 @@ int PFS_status_variable_cache::do_materialize_all(THD* unsafe_thd) { int ret= 1; - DBUG_ASSERT(unsafe_thd != NULL); + assert(unsafe_thd != NULL); m_unsafe_thd= unsafe_thd; m_materialized= false; @@ -1033,7 +1033,7 @@ int PFS_status_variable_cache::do_materialize_session(THD* unsafe_thd) { int ret= 1; - DBUG_ASSERT(unsafe_thd != NULL); + assert(unsafe_thd != NULL); m_unsafe_thd= unsafe_thd; m_materialized= false; @@ -1080,7 +1080,7 @@ int PFS_status_variable_cache::do_materialize_session(PFS_thread *pfs_thread) { int ret= 1; - DBUG_ASSERT(pfs_thread != NULL); + assert(pfs_thread != NULL); m_pfs_thread= pfs_thread; m_materialized= false; @@ -1091,7 +1091,7 @@ mysql_mutex_lock(&LOCK_status); /* The SHOW_VAR array must be initialized externally. */ - DBUG_ASSERT(m_initialized); + assert(m_initialized); /* Get and lock a validated THD from the thread manager. */ if ((m_safe_thd= get_THD(pfs_thread)) != NULL) @@ -1123,7 +1123,7 @@ */ int PFS_status_variable_cache::do_materialize_client(PFS_client *pfs_client) { - DBUG_ASSERT(pfs_client != NULL); + assert(pfs_client != NULL); STATUS_VAR status_totals; m_pfs_client= pfs_client; @@ -1135,7 +1135,7 @@ mysql_mutex_lock(&LOCK_status); /* The SHOW_VAR array must be initialized externally. */ - DBUG_ASSERT(m_initialized); + assert(m_initialized); /* Generate status totals from active threads and from totals aggregated diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_variable.h mysql-5.7-5.7.34/storage/perfschema/pfs_variable.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_variable.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_variable.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -480,7 +480,7 @@ template THD *PFS_variable_cache::get_THD(PFS_thread *pfs_thread) { - DBUG_ASSERT(pfs_thread != NULL); + assert(pfs_thread != NULL); return get_THD(pfs_thread->m_thd); } diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_visitor.cc mysql-5.7-5.7.34/storage/perfschema/pfs_visitor.cc --- mysql-5.7-5.7.33/storage/perfschema/pfs_visitor.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_visitor.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -63,8 +63,8 @@ bool with_THDs, PFS_connection_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); - DBUG_ASSERT(! with_threads || ! with_THDs); + assert(visitor != NULL); + assert(! with_threads || ! with_THDs); visitor->visit_global(); @@ -163,8 +163,8 @@ bool with_THDs, PFS_connection_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); - DBUG_ASSERT(! with_threads || ! with_THDs); + assert(visitor != NULL); + assert(! with_threads || ! with_THDs); visitor->visit_host(host); @@ -252,8 +252,8 @@ bool with_THDs, PFS_connection_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); - DBUG_ASSERT(! with_threads || ! with_THDs); + assert(visitor != NULL); + assert(! with_threads || ! with_THDs); visitor->visit_user(user); @@ -333,8 +333,8 @@ bool with_THDs, PFS_connection_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); - DBUG_ASSERT(! with_threads || ! with_THDs); + assert(visitor != NULL); + assert(! with_threads || ! with_THDs); visitor->visit_account(account); @@ -363,7 +363,7 @@ void PFS_connection_iterator::visit_THD(THD *thd, PFS_connection_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); + assert(visitor != NULL); visitor->visit_THD(thd); } @@ -504,7 +504,7 @@ void PFS_instance_iterator::visit_mutex_instances(PFS_mutex_class *klass, PFS_instance_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); + assert(visitor != NULL); visitor->visit_mutex_class(klass); @@ -538,7 +538,7 @@ void PFS_instance_iterator::visit_rwlock_instances(PFS_rwlock_class *klass, PFS_instance_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); + assert(visitor != NULL); visitor->visit_rwlock_class(klass); @@ -572,7 +572,7 @@ void PFS_instance_iterator::visit_cond_instances(PFS_cond_class *klass, PFS_instance_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); + assert(visitor != NULL); visitor->visit_cond_class(klass); @@ -606,7 +606,7 @@ void PFS_instance_iterator::visit_file_instances(PFS_file_class *klass, PFS_instance_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); + assert(visitor != NULL); visitor->visit_file_class(klass); @@ -642,7 +642,7 @@ void PFS_instance_iterator::visit_socket_instances(PFS_socket_class *klass, PFS_instance_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); + assert(visitor != NULL); visitor->visit_socket_class(klass); @@ -680,8 +680,8 @@ PFS_thread *thread, bool visit_class) { - DBUG_ASSERT(visitor != NULL); - DBUG_ASSERT(thread != NULL); + assert(visitor != NULL); + assert(thread != NULL); if (visit_class) visitor->visit_socket_class(klass); @@ -720,8 +720,8 @@ PFS_thread *thread, bool visit_class) { - DBUG_ASSERT(visitor != NULL); - DBUG_ASSERT(klass != NULL); + assert(visitor != NULL); + assert(klass != NULL); switch (klass->m_type) { @@ -789,7 +789,7 @@ void PFS_object_iterator::visit_all_tables(PFS_object_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); + assert(visitor != NULL); visitor->visit_global(); @@ -826,7 +826,7 @@ void PFS_object_iterator::visit_tables(PFS_table_share *share, PFS_object_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); + assert(visitor != NULL); if (!share->m_enabled) return; @@ -869,7 +869,7 @@ uint index, PFS_object_visitor *visitor) { - DBUG_ASSERT(visitor != NULL); + assert(visitor != NULL); if (!share->m_enabled) return; @@ -905,8 +905,8 @@ For waits, do not sum by connection but by instances, it is more efficient. */ - DBUG_ASSERT( (m_index == global_idle_class.m_event_name_index) - || (m_index == global_metadata_class.m_event_name_index)); + assert( (m_index == global_idle_class.m_event_name_index) + || (m_index == global_metadata_class.m_event_name_index)); if (m_index == global_idle_class.m_event_name_index) { @@ -968,7 +968,7 @@ void PFS_connection_all_wait_visitor::visit_global() { /* Sum by instances, not by connection */ - DBUG_ASSERT(false); + assert(false); } void PFS_connection_all_wait_visitor::visit_connection_slice(PFS_connection_slice *pfs) diff -Nru mysql-5.7-5.7.33/storage/perfschema/pfs_visitor.h mysql-5.7-5.7.34/storage/perfschema/pfs_visitor.h --- mysql-5.7-5.7.33/storage/perfschema/pfs_visitor.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/pfs_visitor.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_accounts.cc mysql-5.7-5.7.34/storage/perfschema/table_accounts.cc --- mysql-5.7-5.7.33/storage/perfschema/table_accounts.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_accounts.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -140,7 +140,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -158,7 +158,7 @@ m_row.m_connection_stat.set_field(f->field_index - 2, f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_accounts.h mysql-5.7-5.7.34/storage/perfschema/table_accounts.h --- mysql-5.7-5.7.33/storage/perfschema/table_accounts.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_accounts.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_all_instr.cc mysql-5.7-5.7.34/storage/perfschema/table_all_instr.cc --- mysql-5.7-5.7.33/storage/perfschema/table_all_instr.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_all_instr.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_all_instr.h mysql-5.7-5.7.34/storage/perfschema/table_all_instr.h --- mysql-5.7-5.7.33/storage/perfschema/table_all_instr.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_all_instr.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_account_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_account_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_account_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_account_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -223,7 +223,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_account_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_account_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_account_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_account_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_host_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_host_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_host_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_host_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -221,7 +221,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_host_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_host_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_host_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_host_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_thread_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_thread_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_thread_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_thread_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -213,7 +213,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_thread_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_thread_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_thread_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_thread_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_user_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_user_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_user_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_user_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -220,7 +220,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_user_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_user_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_esgs_by_user_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esgs_by_user_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esgs_global_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_esgs_global_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esgs_global_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esgs_global_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -201,7 +201,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esgs_global_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_esgs_global_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_esgs_global_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esgs_global_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_account_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_esms_by_account_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_account_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_account_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -321,7 +321,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_account_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_esms_by_account_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_account_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_account_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_digest.cc mysql-5.7-5.7.34/storage/perfschema/table_esms_by_digest.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_digest.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_digest.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -319,7 +319,7 @@ Set the null bits. It indicates how many fields could be null in the table. */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_digest.h mysql-5.7-5.7.34/storage/perfschema/table_esms_by_digest.h --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_digest.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_digest.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_host_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_esms_by_host_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_host_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_host_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -319,7 +319,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_host_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_esms_by_host_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_host_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_host_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_program.cc mysql-5.7-5.7.34/storage/perfschema/table_esms_by_program.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_program.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_program.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -334,7 +334,7 @@ Set the null bits. It indicates how many fields could be null in the table. */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_program.h mysql-5.7-5.7.34/storage/perfschema/table_esms_by_program.h --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_program.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_program.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_thread_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_esms_by_thread_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_thread_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_thread_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -312,7 +312,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_thread_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_esms_by_thread_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_thread_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_thread_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_user_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_esms_by_user_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_user_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_user_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -318,7 +318,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_by_user_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_esms_by_user_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_esms_by_user_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_by_user_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_global_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_esms_global_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_esms_global_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_global_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -301,7 +301,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_esms_global_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_esms_global_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_esms_global_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_esms_global_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ets_by_account_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_ets_by_account_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_ets_by_account_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ets_by_account_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -273,7 +273,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ets_by_account_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_ets_by_account_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_ets_by_account_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ets_by_account_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ets_by_host_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_ets_by_host_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_ets_by_host_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ets_by_host_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -271,7 +271,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ets_by_host_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_ets_by_host_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_ets_by_host_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ets_by_host_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ets_by_thread_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_ets_by_thread_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_ets_by_thread_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ets_by_thread_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -264,7 +264,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ets_by_thread_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_ets_by_thread_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_ets_by_thread_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ets_by_thread_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ets_by_user_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_ets_by_user_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_ets_by_user_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ets_by_user_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -270,7 +270,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ets_by_user_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_ets_by_user_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_ets_by_user_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ets_by_user_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ets_global_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_ets_global_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_ets_global_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ets_global_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -245,7 +245,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ets_global_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_ets_global_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_ets_global_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ets_global_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_events_stages.cc mysql-5.7-5.7.34/storage/perfschema/table_events_stages.cc --- mysql-5.7-5.7.33/storage/perfschema/table_events_stages.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_events_stages.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -228,7 +228,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 2); + assert(table->s->null_bytes == 2); buf[0]= 0; buf[1]= 0; @@ -299,7 +299,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -448,10 +448,10 @@ PFS_thread *pfs_thread; PFS_events_stages *stage; - DBUG_ASSERT(events_stages_history_per_thread != 0); + assert(events_stages_history_per_thread != 0); set_position(pos); - DBUG_ASSERT(m_pos.m_index_2 < events_stages_history_per_thread); + assert(m_pos.m_index_2 < events_stages_history_per_thread); pfs_thread= global_thread_container.get(m_pos.m_index_1); if (pfs_thread != NULL) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_events_stages.h mysql-5.7-5.7.34/storage/perfschema/table_events_stages.h --- mysql-5.7-5.7.33/storage/perfschema/table_events_stages.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_events_stages.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_events_statements.cc mysql-5.7-5.7.34/storage/perfschema/table_events_statements.cc --- mysql-5.7-5.7.33/storage/perfschema/table_events_statements.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_events_statements.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -472,7 +472,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 3); + assert(table->s->null_bytes == 3); buf[0]= 0; buf[1]= 0; buf[2]= 0; @@ -661,7 +661,7 @@ set_field_ulong(f, m_row.m_nesting_event_level); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -754,7 +754,7 @@ return HA_ERR_RECORD_DELETED; } - DBUG_ASSERT(m_pos.m_index_2 < statement_stack_max); + assert(m_pos.m_index_2 < statement_stack_max); statement= &pfs_thread->m_statement_stack[m_pos.m_index_2]; @@ -876,13 +876,13 @@ PFS_thread *pfs_thread; PFS_events_statements *statement; - DBUG_ASSERT(events_statements_history_per_thread != 0); + assert(events_statements_history_per_thread != 0); set_position(pos); pfs_thread= global_thread_container.get(m_pos.m_index_1); if (pfs_thread != NULL) { - DBUG_ASSERT(m_pos.m_index_2 < events_statements_history_per_thread); + assert(m_pos.m_index_2 < events_statements_history_per_thread); if ( ! pfs_thread->m_statements_history_full && (m_pos.m_index_2 >= pfs_thread->m_statements_history_index)) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_events_statements.h mysql-5.7-5.7.34/storage/perfschema/table_events_statements.h --- mysql-5.7-5.7.33/storage/perfschema/table_events_statements.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_events_statements.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_events_transactions.cc mysql-5.7-5.7.34/storage/perfschema/table_events_transactions.cc --- mysql-5.7-5.7.33/storage/perfschema/table_events_transactions.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_events_transactions.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -320,8 +320,8 @@ */ static uint xid_to_hex(char *buf, size_t buf_len, PSI_xid *xid, size_t offset, size_t length) { - DBUG_ASSERT(buf_len >= XID_BUFFER_SIZE); - DBUG_ASSERT(offset + length <= XIDDATASIZE); + assert(buf_len >= XID_BUFFER_SIZE); + assert(offset + length <= XIDDATASIZE); *buf++= '0'; *buf++= 'x'; return bin_to_hex_str(buf, buf_len-2, (char*)(xid->data + offset), length) + 2; @@ -338,7 +338,7 @@ */ static void xid_store(Field *field, PSI_xid *xid, size_t offset, size_t length) { - DBUG_ASSERT(!xid->is_null()); + assert(!xid->is_null()); if (xid_printable(xid, offset, length)) { field->store(xid->data + offset, length, &my_charset_bin); @@ -377,7 +377,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 3); + assert(table->s->null_bytes == 3); buf[0]= 0; buf[1]= 0; buf[2]= 0; @@ -495,7 +495,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -650,10 +650,10 @@ PFS_thread *pfs_thread; PFS_events_transactions *transaction; - DBUG_ASSERT(events_transactions_history_per_thread != 0); + assert(events_transactions_history_per_thread != 0); set_position(pos); - DBUG_ASSERT(m_pos.m_index_2 < events_transactions_history_per_thread); + assert(m_pos.m_index_2 < events_transactions_history_per_thread); pfs_thread= global_thread_container.get(m_pos.m_index_1); if (pfs_thread != NULL) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_events_transactions.h mysql-5.7-5.7.34/storage/perfschema/table_events_transactions.h --- mysql-5.7-5.7.33/storage/perfschema/table_events_transactions.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_events_transactions.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_events_waits.cc mysql-5.7-5.7.34/storage/perfschema/table_events_waits.cc --- mysql-5.7-5.7.33/storage/perfschema/table_events_waits.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_events_waits.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -709,7 +709,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 2); + assert(table->s->null_bytes == 2); buf[0]= 0; buf[1]= 0; @@ -841,7 +841,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -960,7 +960,7 @@ } #endif - DBUG_ASSERT(m_pos.m_index_2 < WAIT_STACK_LOGICAL_SIZE); + assert(m_pos.m_index_2 < WAIT_STACK_LOGICAL_SIZE); if (wait->m_wait_class != NO_WAIT_CLASS) { @@ -1061,13 +1061,13 @@ PFS_thread *pfs_thread; PFS_events_waits *wait; - DBUG_ASSERT(events_waits_history_per_thread != 0); + assert(events_waits_history_per_thread != 0); set_position(pos); pfs_thread= global_thread_container.get(m_pos.m_index_1); if (pfs_thread != NULL) { - DBUG_ASSERT(m_pos.m_index_2 < events_waits_history_per_thread); + assert(m_pos.m_index_2 < events_waits_history_per_thread); if ( ! pfs_thread->m_waits_history_full && (m_pos.m_index_2 >= pfs_thread->m_waits_history_index)) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_events_waits.h mysql-5.7-5.7.34/storage/perfschema/table_events_waits.h --- mysql-5.7-5.7.33/storage/perfschema/table_events_waits.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_events_waits.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_events_waits_summary.cc mysql-5.7-5.7.34/storage/perfschema/table_events_waits_summary.cc --- mysql-5.7-5.7.33/storage/perfschema/table_events_waits_summary.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_events_waits_summary.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -233,7 +233,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { @@ -263,7 +263,7 @@ set_field_ulonglong(f, m_row.m_stat.m_max); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_events_waits_summary.h mysql-5.7-5.7.34/storage/perfschema/table_events_waits_summary.h --- mysql-5.7-5.7.33/storage/perfschema/table_events_waits_summary.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_events_waits_summary.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ews_by_account_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_ews_by_account_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_ews_by_account_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ews_by_account_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -178,7 +178,7 @@ break; default: instr_class= NULL; - DBUG_ASSERT(false); + assert(false); break; } @@ -235,7 +235,7 @@ break; default: instr_class= NULL; - DBUG_ASSERT(false); + assert(false); } if (instr_class) { @@ -284,7 +284,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ews_by_account_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_ews_by_account_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_ews_by_account_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ews_by_account_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ews_by_host_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_ews_by_host_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_ews_by_host_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ews_by_host_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -175,7 +175,7 @@ break; default: instr_class= NULL; - DBUG_ASSERT(false); + assert(false); break; } @@ -232,7 +232,7 @@ break; default: instr_class= NULL; - DBUG_ASSERT(false); + assert(false); break; } if (instr_class) @@ -283,7 +283,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ews_by_host_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_ews_by_host_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_ews_by_host_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ews_by_host_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ews_by_thread_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_ews_by_thread_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_ews_by_thread_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ews_by_thread_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -171,7 +171,7 @@ instr_class= find_metadata_class(m_pos.m_index_3); break; default: - DBUG_ASSERT(false); + assert(false); instr_class= NULL; break; } @@ -227,7 +227,7 @@ instr_class= find_metadata_class(m_pos.m_index_3); break; default: - DBUG_ASSERT(false); + assert(false); instr_class= NULL; } @@ -290,7 +290,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ews_by_thread_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_ews_by_thread_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_ews_by_thread_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ews_by_thread_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ews_by_user_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_ews_by_user_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_ews_by_user_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ews_by_user_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -174,7 +174,7 @@ break; default: instr_class= NULL; - DBUG_ASSERT(false); + assert(false); break; } @@ -231,7 +231,7 @@ break; default: instr_class= NULL; - DBUG_ASSERT(false); + assert(false); break; } if (instr_class) @@ -282,7 +282,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ews_by_user_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_ews_by_user_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_ews_by_user_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ews_by_user_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ews_global_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_ews_global_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_ews_global_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ews_global_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -273,8 +273,8 @@ } break; case pos_ews_global_by_event_name::VIEW_TABLE: - DBUG_ASSERT(m_pos.m_index_2 >= 1); - DBUG_ASSERT(m_pos.m_index_2 <= 2); + assert(m_pos.m_index_2 >= 1); + assert(m_pos.m_index_2 <= 2); if (m_pos.m_index_2 == 1) make_table_io_row(&global_table_io_class); else @@ -305,7 +305,7 @@ } break; default: - DBUG_ASSERT(false); + assert(false); break; } @@ -447,7 +447,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_ews_global_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_ews_global_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_ews_global_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_ews_global_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_file_instances.cc mysql-5.7-5.7.34/storage/perfschema/table_file_instances.cc --- mysql-5.7-5.7.33/storage/perfschema/table_file_instances.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_file_instances.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -166,7 +166,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { @@ -185,7 +185,7 @@ set_field_ulong(f, m_row.m_open_count); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_file_instances.h mysql-5.7-5.7.34/storage/perfschema/table_file_instances.h --- mysql-5.7-5.7.33/storage/perfschema/table_file_instances.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_file_instances.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_file_summary_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_file_summary_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_file_summary_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_file_summary_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -274,7 +274,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { @@ -356,7 +356,7 @@ break; default: - DBUG_ASSERT(false); + assert(false); break; } } // if diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_file_summary_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_file_summary_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_file_summary_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_file_summary_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_file_summary_by_instance.cc mysql-5.7-5.7.34/storage/perfschema/table_file_summary_by_instance.cc --- mysql-5.7-5.7.33/storage/perfschema/table_file_summary_by_instance.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_file_summary_by_instance.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -296,7 +296,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { @@ -384,7 +384,7 @@ set_field_ulonglong(f, m_row.m_io_stat.m_misc.m_waits.m_max); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_file_summary_by_instance.h mysql-5.7-5.7.34/storage/perfschema/table_file_summary_by_instance.h --- mysql-5.7-5.7.33/storage/perfschema/table_file_summary_by_instance.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_file_summary_by_instance.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_global_status.cc mysql-5.7-5.7.34/storage/perfschema/table_global_status.cc --- mysql-5.7-5.7.33/storage/perfschema/table_global_status.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_global_status.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -181,7 +181,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -197,7 +197,7 @@ m_row.m_variable_value.set_field(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_global_status.h mysql-5.7-5.7.34/storage/perfschema/table_global_status.h --- mysql-5.7-5.7.33/storage/perfschema/table_global_status.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_global_status.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_global_variables.cc mysql-5.7-5.7.34/storage/perfschema/table_global_variables.cc --- mysql-5.7-5.7.33/storage/perfschema/table_global_variables.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_global_variables.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -141,7 +141,7 @@ return HA_ERR_RECORD_DELETED; set_position(pos); - DBUG_ASSERT(m_pos.m_index < m_sysvar_cache.size()); + assert(m_pos.m_index < m_sysvar_cache.size()); const System_variable *system_var= m_sysvar_cache.get(m_pos.m_index); if (system_var != NULL) @@ -175,7 +175,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -191,7 +191,7 @@ m_row.m_variable_value.set_field(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_global_variables.h mysql-5.7-5.7.34/storage/perfschema/table_global_variables.h --- mysql-5.7-5.7.33/storage/perfschema/table_global_variables.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_global_variables.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_helper.cc mysql-5.7-5.7.34/storage/perfschema/table_helper.cc --- mysql-5.7-5.7.33/storage/perfschema/table_helper.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_helper.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -107,7 +107,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); break; } } @@ -181,7 +181,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); break; } } @@ -318,7 +318,7 @@ PFS_engine_table::set_field_varchar_utf8(f, m_object_name, m_object_name_length); break; default: - DBUG_ASSERT(false); + assert(false); } } @@ -345,7 +345,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } @@ -401,7 +401,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } @@ -474,7 +474,7 @@ PFS_engine_table::set_field_ulonglong(f, m_no_good_index_used); break; default: - DBUG_ASSERT(false); + assert(false); break; } } @@ -505,7 +505,7 @@ m_read_only_row.set_field(index-10, f); break; default: - DBUG_ASSERT(false); + assert(false); break; } } @@ -521,7 +521,7 @@ PFS_engine_table::set_field_ulonglong(f, m_total_connections); break; default: - DBUG_ASSERT(false); + assert(false); break; } } @@ -568,7 +568,7 @@ break; case NO_OBJECT_TYPE: default: - DBUG_ASSERT(false); + assert(false); PFS_engine_table::set_field_varchar_utf8(f, "", 0); break; } @@ -612,7 +612,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } @@ -655,7 +655,7 @@ PFS_engine_table::set_field_varchar_utf8(f, "EXCLUSIVE", 9); break; default: - DBUG_ASSERT(false); + assert(false); } } @@ -675,7 +675,7 @@ break; case MDL_DURATION_END: default: - DBUG_ASSERT(false); + assert(false); } } @@ -698,7 +698,7 @@ PFS_engine_table::set_field_varchar_utf8(f, "POST_RELEASE_NOTIFY", 19); break; default: - DBUG_ASSERT(false); + assert(false); } } @@ -745,7 +745,7 @@ PFS_engine_table::set_field_longlong(f, val); break; default: - DBUG_ASSERT(false); + assert(false); break; } } @@ -767,7 +767,7 @@ PFS_engine_table::set_field_varchar_utf8(f, "SERIALIZABLE", 12); break; default: - DBUG_ASSERT(false); + assert(false); } } @@ -794,14 +794,14 @@ PFS_engine_table::set_field_varchar_utf8(f, "COMMITTED", 9); break; default: - DBUG_ASSERT(false); + assert(false); } } void PFS_variable_name_row::make_row(const char* str, size_t length) { - DBUG_ASSERT(length <= sizeof(m_str)); - DBUG_ASSERT(length <= NAME_CHAR_LEN); + assert(length <= sizeof(m_str)); + assert(length <= NAME_CHAR_LEN); m_length= MY_MIN(length, NAME_CHAR_LEN); /* enforce max name length */ if (m_length > 0) @@ -821,8 +821,8 @@ void PFS_variable_value_row::make_row(const CHARSET_INFO *cs, const char* str, size_t length) { - DBUG_ASSERT(cs != NULL); - DBUG_ASSERT(length <= sizeof(m_str)); + assert(cs != NULL); + assert(length <= sizeof(m_str)); if (length > 0) { memcpy(m_str, str, length); diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_helper.h mysql-5.7-5.7.34/storage/perfschema/table_helper.h --- mysql-5.7-5.7.33/storage/perfschema/table_helper.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_helper.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -278,7 +278,7 @@ PFS_engine_table::set_field_ulonglong(f, m_max); break; default: - DBUG_ASSERT(false); + assert(false); } } }; diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_host_cache.cc mysql-5.7-5.7.34/storage/perfschema/table_host_cache.cc --- mysql-5.7-5.7.33/storage/perfschema/table_host_cache.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_host_cache.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -209,7 +209,7 @@ if (t != NULL) { THD *thd= current_thd; - DBUG_ASSERT(thd != NULL); + assert(thd != NULL); t->materialize(thd); } return t; @@ -252,8 +252,8 @@ row_host_cache *rows; row_host_cache *row; - DBUG_ASSERT(m_all_rows == NULL); - DBUG_ASSERT(m_row_count == 0); + assert(m_all_rows == NULL); + assert(m_row_count == 0); hostname_cache_lock(); @@ -366,7 +366,7 @@ int table_host_cache::rnd_pos(const void *pos) { set_position(pos); - DBUG_ASSERT(m_pos.m_index < m_row_count); + assert(m_pos.m_index < m_row_count); m_row= &m_all_rows[m_pos.m_index]; return 0; } @@ -378,10 +378,10 @@ { Field *f; - DBUG_ASSERT(m_row); + assert(m_row); /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -487,7 +487,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_host_cache.h mysql-5.7-5.7.34/storage/perfschema/table_host_cache.h --- mysql-5.7-5.7.33/storage/perfschema/table_host_cache.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_host_cache.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_hosts.cc mysql-5.7-5.7.34/storage/perfschema/table_hosts.cc --- mysql-5.7-5.7.33/storage/perfschema/table_hosts.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_hosts.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -144,7 +144,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -161,7 +161,7 @@ m_row.m_connection_stat.set_field(f->field_index - 1, f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_hosts.h mysql-5.7-5.7.34/storage/perfschema/table_hosts.h --- mysql-5.7-5.7.33/storage/perfschema/table_hosts.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_hosts.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_md_locks.cc mysql-5.7-5.7.34/storage/perfschema/table_md_locks.cc --- mysql-5.7-5.7.33/storage/perfschema/table_md_locks.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_md_locks.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -204,7 +204,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -246,7 +246,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_md_locks.h mysql-5.7-5.7.34/storage/perfschema/table_md_locks.h --- mysql-5.7-5.7.33/storage/perfschema/table_md_locks.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_md_locks.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_mems_by_account_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_mems_by_account_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_mems_by_account_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_mems_by_account_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -254,7 +254,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_mems_by_account_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_mems_by_account_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_mems_by_account_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_mems_by_account_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_mems_by_host_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_mems_by_host_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_mems_by_host_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_mems_by_host_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -251,7 +251,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_mems_by_host_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_mems_by_host_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_mems_by_host_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_mems_by_host_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_mems_by_thread_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_mems_by_thread_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_mems_by_thread_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_mems_by_thread_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -245,7 +245,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_mems_by_thread_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_mems_by_thread_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_mems_by_thread_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_mems_by_thread_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_mems_by_user_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_mems_by_user_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_mems_by_user_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_mems_by_user_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -251,7 +251,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_mems_by_user_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_mems_by_user_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_mems_by_user_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_mems_by_user_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_mems_global_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_mems_global_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_mems_global_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_mems_global_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -271,7 +271,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_mems_global_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_mems_global_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_mems_global_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_mems_global_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_os_global_by_type.cc mysql-5.7-5.7.34/storage/perfschema/table_os_global_by_type.cc --- mysql-5.7-5.7.33/storage/perfschema/table_os_global_by_type.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_os_global_by_type.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -298,7 +298,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -334,7 +334,7 @@ set_field_ulonglong(f, m_row.m_stat.m_max); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_os_global_by_type.h mysql-5.7-5.7.34/storage/perfschema/table_os_global_by_type.h --- mysql-5.7-5.7.33/storage/perfschema/table_os_global_by_type.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_os_global_by_type.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_performance_timers.cc mysql-5.7-5.7.34/storage/perfschema/table_performance_timers.cc --- mysql-5.7-5.7.33/storage/perfschema/table_performance_timers.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_performance_timers.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -147,7 +147,7 @@ int table_performance_timers::rnd_pos(const void *pos) { set_position(pos); - DBUG_ASSERT(m_pos.m_index < COUNT_TIMER_NAME); + assert(m_pos.m_index < COUNT_TIMER_NAME); m_row= &m_data[m_pos.m_index]; return 0; } @@ -159,10 +159,10 @@ { Field *f; - DBUG_ASSERT(m_row); + assert(m_row); /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -193,7 +193,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_performance_timers.h mysql-5.7-5.7.34/storage/perfschema/table_performance_timers.h --- mysql-5.7-5.7.33/storage/perfschema/table_performance_timers.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_performance_timers.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_prepared_stmt_instances.cc mysql-5.7-5.7.34/storage/perfschema/table_prepared_stmt_instances.cc --- mysql-5.7-5.7.33/storage/perfschema/table_prepared_stmt_instances.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_prepared_stmt_instances.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -367,7 +367,7 @@ /* Set the null bits. */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_prepared_stmt_instances.h mysql-5.7-5.7.34/storage/perfschema/table_prepared_stmt_instances.h --- mysql-5.7-5.7.33/storage/perfschema/table_prepared_stmt_instances.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_prepared_stmt_instances.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_configuration.cc mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_configuration.cc --- mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_configuration.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_configuration.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -154,8 +154,8 @@ { m_row_exists= false; - DBUG_ASSERT(mi != NULL); - DBUG_ASSERT(mi->rli != NULL); + assert(mi != NULL); + assert(mi->rli != NULL); mysql_mutex_lock(&mi->data_lock); mysql_mutex_lock(&mi->rli->data_lock); @@ -190,7 +190,7 @@ the table record reserves an extra null byte, see open_binary_frm(). */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -206,7 +206,7 @@ set_field_ulong(f, static_cast(m_row.desired_delay)); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_configuration.h mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_configuration.h --- mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_configuration.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_configuration.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status_by_coordinator.cc mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status_by_coordinator.cc --- mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status_by_coordinator.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status_by_coordinator.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -181,8 +181,8 @@ { m_row_exists= false; - DBUG_ASSERT(mi != NULL); - DBUG_ASSERT(mi->rli != NULL); + assert(mi != NULL); + assert(mi->rli != NULL); mysql_mutex_lock(&mi->rli->data_lock); @@ -242,7 +242,7 @@ if (unlikely(! m_row_exists)) return HA_ERR_RECORD_DELETED; - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -274,7 +274,7 @@ set_field_timestamp(f, m_row.last_error_timestamp); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status_by_coordinator.h mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status_by_coordinator.h --- mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status_by_coordinator.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status_by_coordinator.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status_by_worker.cc mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status_by_worker.cc --- mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status_by_worker.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status_by_worker.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -244,8 +244,8 @@ m_row.thread_id= 0; - DBUG_ASSERT(mi != NULL); - DBUG_ASSERT(mi->rli != NULL); + assert(mi != NULL); + assert(mi->rli != NULL); mysql_mutex_lock(&mi->rli->data_lock); @@ -293,7 +293,7 @@ AUTOMATIC_GROUP when the SQL thread is not executing any transaction. For this case, the field should be empty. */ - DBUG_ASSERT(mi->rli->currently_executing_gtid.type == AUTOMATIC_GROUP); + assert(mi->rli->currently_executing_gtid.type == AUTOMATIC_GROUP); m_row.last_seen_transaction_length= 0; memcpy(m_row.last_seen_transaction, "", 1); } @@ -376,7 +376,7 @@ AUTOMATIC_GROUP when the worker is not executing any transaction. For this case, the field should be empty. */ - DBUG_ASSERT(w->currently_executing_gtid.type == AUTOMATIC_GROUP); + assert(w->currently_executing_gtid.type == AUTOMATIC_GROUP); m_row.last_seen_transaction_length= 0; memcpy(m_row.last_seen_transaction, "", 1); } @@ -410,7 +410,7 @@ if (unlikely(! m_row_exists)) return HA_ERR_RECORD_DELETED; - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -447,7 +447,7 @@ set_field_timestamp(f, m_row.last_error_timestamp); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status_by_worker.h mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status_by_worker.h --- mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status_by_worker.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status_by_worker.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status.cc mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status.cc --- mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -164,8 +164,8 @@ m_row_exists= false; - DBUG_ASSERT(mi != NULL); - DBUG_ASSERT(mi->rli != NULL); + assert(mi != NULL); + assert(mi->rli != NULL); m_row.channel_name_length= mi->get_channel()? strlen(mi->get_channel()):0; memcpy(m_row.channel_name, mi->get_channel(), m_row.channel_name_length); @@ -215,7 +215,7 @@ if (unlikely(! m_row_exists)) return HA_ERR_RECORD_DELETED; - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -240,7 +240,7 @@ set_field_ulonglong(f, m_row.count_transactions_retries); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status.h mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status.h --- mysql-5.7-5.7.33/storage/perfschema/table_replication_applier_status.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_applier_status.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_connection_configuration.cc mysql-5.7-5.7.34/storage/perfschema/table_replication_connection_configuration.cc --- mysql-5.7-5.7.33/storage/perfschema/table_replication_connection_configuration.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_connection_configuration.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -243,7 +243,7 @@ m_row_exists= false; - DBUG_ASSERT(mi != NULL); + assert(mi != NULL); mysql_mutex_lock(&mi->data_lock); mysql_mutex_lock(&mi->rli->data_lock); @@ -335,7 +335,7 @@ if (unlikely(! m_row_exists)) return HA_ERR_RECORD_DELETED; - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { @@ -408,7 +408,7 @@ m_row.tls_version_length); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_connection_configuration.h mysql-5.7-5.7.34/storage/perfschema/table_replication_connection_configuration.h --- mysql-5.7-5.7.33/storage/perfschema/table_replication_connection_configuration.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_connection_configuration.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_connection_status.cc mysql-5.7-5.7.34/storage/perfschema/table_replication_connection_status.cc --- mysql-5.7-5.7.33/storage/perfschema/table_replication_connection_status.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_connection_status.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -249,8 +249,8 @@ m_row.thread_id_is_null= true; m_row.service_state= PS_RPL_CONNECT_SERVICE_STATE_NO; - DBUG_ASSERT(mi != NULL); - DBUG_ASSERT(mi->rli != NULL); + assert(mi != NULL); + assert(mi->rli != NULL); mysql_mutex_lock(&mi->data_lock); mysql_mutex_lock(&mi->rli->data_lock); @@ -376,7 +376,7 @@ if (unlikely(! m_row_exists)) return HA_ERR_RECORD_DELETED; - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -430,7 +430,7 @@ set_field_timestamp(f, m_row.last_error_timestamp); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_connection_status.h mysql-5.7-5.7.34/storage/perfschema/table_replication_connection_status.h --- mysql-5.7-5.7.33/storage/perfschema/table_replication_connection_status.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_connection_status.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_group_members.cc mysql-5.7-5.7.34/storage/perfschema/table_replication_group_members.cc --- mysql-5.7-5.7.33/storage/perfschema/table_replication_group_members.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_group_members.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -193,7 +193,7 @@ return HA_ERR_END_OF_FILE; set_position(pos); - DBUG_ASSERT(m_pos.m_index < get_row_count()); + assert(m_pos.m_index < get_row_count()); make_row(m_pos.m_index); return 0; @@ -245,7 +245,7 @@ if (unlikely(! m_row_exists)) return HA_ERR_RECORD_DELETED; - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -273,7 +273,7 @@ set_field_char_utf8(f, m_row.member_state, m_row.member_state_length); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_group_members.h mysql-5.7-5.7.34/storage/perfschema/table_replication_group_members.h --- mysql-5.7-5.7.33/storage/perfschema/table_replication_group_members.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_group_members.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_group_member_stats.cc mysql-5.7-5.7.34/storage/perfschema/table_replication_group_member_stats.cc --- mysql-5.7-5.7.33/storage/perfschema/table_replication_group_member_stats.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_group_member_stats.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -263,7 +263,7 @@ return HA_ERR_END_OF_FILE; set_position(pos); - DBUG_ASSERT(m_pos.m_index < 1); + assert(m_pos.m_index < 1); make_row(); return 0; @@ -323,7 +323,7 @@ if (unlikely(! m_row_exists)) return HA_ERR_RECORD_DELETED; - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -364,7 +364,7 @@ break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_replication_group_member_stats.h mysql-5.7-5.7.34/storage/perfschema/table_replication_group_member_stats.h --- mysql-5.7-5.7.33/storage/perfschema/table_replication_group_member_stats.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_replication_group_member_stats.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_session_account_connect_attrs.cc mysql-5.7-5.7.34/storage/perfschema/table_session_account_connect_attrs.cc --- mysql-5.7-5.7.33/storage/perfschema/table_session_account_connect_attrs.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_session_account_connect_attrs.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -58,7 +58,7 @@ return false; /* The thread we compare to, by definition, has some instrumentation. */ - DBUG_ASSERT(thread != NULL); + assert(thread != NULL); uint username_length= current_thread->m_username_length; uint hostname_length= current_thread->m_hostname_length; diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_session_account_connect_attrs.h mysql-5.7-5.7.34/storage/perfschema/table_session_account_connect_attrs.h --- mysql-5.7-5.7.33/storage/perfschema/table_session_account_connect_attrs.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_session_account_connect_attrs.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_session_connect_attrs.cc mysql-5.7-5.7.34/storage/perfschema/table_session_connect_attrs.cc --- mysql-5.7-5.7.33/storage/perfschema/table_session_connect_attrs.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_session_connect_attrs.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_session_connect_attrs.h mysql-5.7-5.7.34/storage/perfschema/table_session_connect_attrs.h --- mysql-5.7-5.7.33/storage/perfschema/table_session_connect_attrs.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_session_connect_attrs.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_session_connect.cc mysql-5.7-5.7.34/storage/perfschema/table_session_connect.cc --- mysql-5.7-5.7.33/storage/perfschema/table_session_connect.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_session_connect.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -280,7 +280,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -310,7 +310,7 @@ set_field_ulong(f, m_row.m_ordinal_position); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_session_connect.h mysql-5.7-5.7.34/storage/perfschema/table_session_connect.h --- mysql-5.7-5.7.33/storage/perfschema/table_session_connect.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_session_connect.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_session_status.cc mysql-5.7-5.7.34/storage/perfschema/table_session_status.cc --- mysql-5.7-5.7.33/storage/perfschema/table_session_status.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_session_status.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -140,7 +140,7 @@ return HA_ERR_RECORD_DELETED; set_position(pos); - DBUG_ASSERT(m_pos.m_index < m_status_cache.size()); + assert(m_pos.m_index < m_status_cache.size()); if (m_status_cache.is_materialized()) { @@ -176,7 +176,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -192,7 +192,7 @@ m_row.m_variable_value.set_field(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_session_status.h mysql-5.7-5.7.34/storage/perfschema/table_session_status.h --- mysql-5.7-5.7.33/storage/perfschema/table_session_status.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_session_status.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_session_variables.cc mysql-5.7-5.7.34/storage/perfschema/table_session_variables.cc --- mysql-5.7-5.7.33/storage/perfschema/table_session_variables.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_session_variables.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -141,7 +141,7 @@ return HA_ERR_RECORD_DELETED; set_position(pos); - DBUG_ASSERT(m_pos.m_index < m_sysvar_cache.size()); + assert(m_pos.m_index < m_sysvar_cache.size()); if (m_sysvar_cache.is_materialized()) { @@ -178,7 +178,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -194,7 +194,7 @@ m_row.m_variable_value.set_field(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_session_variables.h mysql-5.7-5.7.34/storage/perfschema/table_session_variables.h --- mysql-5.7-5.7.33/storage/perfschema/table_session_variables.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_session_variables.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_setup_actors.cc mysql-5.7-5.7.34/storage/perfschema/table_setup_actors.cc --- mysql-5.7-5.7.33/storage/perfschema/table_setup_actors.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_setup_actors.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -129,7 +129,7 @@ history_value= (enum_yes_no) get_field_enum(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -250,7 +250,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); for (; (f= *fields) ; fields++) { @@ -274,7 +274,7 @@ set_field_enum(f, (*m_row.m_history_ptr) ? ENUM_YES : ENUM_NO); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -316,7 +316,7 @@ *m_row.m_history_ptr= (value == ENUM_YES) ? true : false; break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -329,7 +329,7 @@ const unsigned char *buf, Field **fields) { - DBUG_ASSERT(m_row_exists); + assert(m_row_exists); CHARSET_INFO *cs= &my_charset_utf8_bin; String user(m_row.m_username, m_row.m_username_length, cs); diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_setup_actors.h mysql-5.7-5.7.34/storage/perfschema/table_setup_actors.h --- mysql-5.7-5.7.33/storage/perfschema/table_setup_actors.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_setup_actors.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_setup_consumers.cc mysql-5.7-5.7.34/storage/perfschema/table_setup_consumers.cc --- mysql-5.7-5.7.33/storage/perfschema/table_setup_consumers.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_setup_consumers.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -211,7 +211,7 @@ int table_setup_consumers::rnd_pos(const void *pos) { set_position(pos); - DBUG_ASSERT(m_pos.m_index < COUNT_SETUP_CONSUMERS); + assert(m_pos.m_index < COUNT_SETUP_CONSUMERS); m_row= &all_setup_consumers_data[m_pos.m_index]; return 0; } @@ -223,11 +223,11 @@ { Field *f; - DBUG_ASSERT(m_row); + assert(m_row); /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { @@ -242,7 +242,7 @@ set_field_enum(f, (*m_row->m_enabled_ptr) ? ENUM_YES : ENUM_NO); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -258,7 +258,7 @@ Field *f; enum_yes_no value; - DBUG_ASSERT(m_row); + assert(m_row); for (; (f= *fields) ; fields++) { @@ -275,7 +275,7 @@ break; } default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_setup_consumers.h mysql-5.7-5.7.34/storage/perfschema/table_setup_consumers.h --- mysql-5.7-5.7.33/storage/perfschema/table_setup_consumers.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_setup_consumers.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_setup_instruments.cc mysql-5.7-5.7.34/storage/perfschema/table_setup_instruments.cc --- mysql-5.7-5.7.33/storage/perfschema/table_setup_instruments.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_setup_instruments.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -276,7 +276,7 @@ { Field *f; - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); /* The row always exist, the instrument classes @@ -299,7 +299,7 @@ set_field_enum(f, m_row.m_instr_class->m_timed ? ENUM_YES : ENUM_NO); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -340,7 +340,7 @@ } break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -384,7 +384,7 @@ update_metadata_derived_flags(); break; default: - DBUG_ASSERT(false); + assert(false); break; } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_setup_instruments.h mysql-5.7-5.7.34/storage/perfschema/table_setup_instruments.h --- mysql-5.7-5.7.33/storage/perfschema/table_setup_instruments.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_setup_instruments.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_setup_objects.cc mysql-5.7-5.7.34/storage/perfschema/table_setup_objects.cc --- mysql-5.7-5.7.33/storage/perfschema/table_setup_objects.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_setup_objects.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -142,7 +142,7 @@ timed_value= (enum_yes_no) get_field_enum(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -259,7 +259,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -292,7 +292,7 @@ set_field_enum(f, (*m_row.m_timed_ptr) ? ENUM_YES : ENUM_NO); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -334,7 +334,7 @@ *m_row.m_timed_ptr= (value == ENUM_YES) ? true : false; break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -347,7 +347,7 @@ const unsigned char *buf, Field **fields) { - DBUG_ASSERT(m_row_exists); + assert(m_row_exists); CHARSET_INFO *cs= &my_charset_utf8_bin; enum_object_type object_type= OBJECT_TYPE_TABLE; diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_setup_objects.h mysql-5.7-5.7.34/storage/perfschema/table_setup_objects.h --- mysql-5.7-5.7.33/storage/perfschema/table_setup_objects.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_setup_objects.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_setup_timers.cc mysql-5.7-5.7.34/storage/perfschema/table_setup_timers.cc --- mysql-5.7-5.7.33/storage/perfschema/table_setup_timers.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_setup_timers.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -149,7 +149,7 @@ int table_setup_timers::rnd_pos(const void *pos) { set_position(pos); - DBUG_ASSERT(m_pos.m_index < COUNT_SETUP_TIMERS); + assert(m_pos.m_index < COUNT_SETUP_TIMERS); m_row= &all_setup_timers_data[m_pos.m_index]; return 0; } @@ -161,10 +161,10 @@ { Field *f; - DBUG_ASSERT(m_row); + assert(m_row); /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { @@ -179,7 +179,7 @@ set_field_enum(f, *(m_row->m_timer_name_ptr)); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -195,7 +195,7 @@ Field *f; longlong value; - DBUG_ASSERT(m_row); + assert(m_row); for (; (f= *fields) ; fields++) { @@ -213,7 +213,7 @@ return HA_ERR_WRONG_COMMAND; break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_setup_timers.h mysql-5.7-5.7.34/storage/perfschema/table_setup_timers.h --- mysql-5.7-5.7.33/storage/perfschema/table_setup_timers.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_setup_timers.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_socket_instances.cc mysql-5.7-5.7.34/storage/perfschema/table_socket_instances.cc --- mysql-5.7-5.7.33/storage/perfschema/table_socket_instances.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_socket_instances.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -201,7 +201,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -235,7 +235,7 @@ set_field_enum(f, m_row.m_state); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_socket_instances.h mysql-5.7-5.7.34/storage/perfschema/table_socket_instances.h --- mysql-5.7-5.7.33/storage/perfschema/table_socket_instances.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_socket_instances.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_socket_summary_by_event_name.cc mysql-5.7-5.7.34/storage/perfschema/table_socket_summary_by_event_name.cc --- mysql-5.7-5.7.33/storage/perfschema/table_socket_summary_by_event_name.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_socket_summary_by_event_name.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -269,7 +269,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { @@ -351,7 +351,7 @@ break; default: - DBUG_ASSERT(false); + assert(false); break; } } // if diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_socket_summary_by_event_name.h mysql-5.7-5.7.34/storage/perfschema/table_socket_summary_by_event_name.h --- mysql-5.7-5.7.33/storage/perfschema/table_socket_summary_by_event_name.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_socket_summary_by_event_name.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_socket_summary_by_instance.cc mysql-5.7-5.7.34/storage/perfschema/table_socket_summary_by_instance.cc --- mysql-5.7-5.7.33/storage/perfschema/table_socket_summary_by_instance.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_socket_summary_by_instance.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -287,7 +287,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { @@ -372,7 +372,7 @@ set_field_ulonglong(f, m_row.m_io_stat.m_misc.m_waits.m_max); break; default: - DBUG_ASSERT(false); + assert(false); break; } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_socket_summary_by_instance.h mysql-5.7-5.7.34/storage/perfschema/table_socket_summary_by_instance.h --- mysql-5.7-5.7.33/storage/perfschema/table_socket_summary_by_instance.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_socket_summary_by_instance.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_status_by_account.cc mysql-5.7-5.7.34/storage/perfschema/table_status_by_account.cc --- mysql-5.7-5.7.33/storage/perfschema/table_status_by_account.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_status_by_account.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -189,7 +189,7 @@ return HA_ERR_END_OF_FILE; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < global_account_container.get_row_count()); + assert(m_pos.m_index_1 < global_account_container.get_row_count()); PFS_account *pfs_account= global_account_container.get(m_pos.m_index_1); @@ -241,7 +241,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -261,7 +261,7 @@ m_row.m_variable_value.set_field(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_status_by_account.h mysql-5.7-5.7.34/storage/perfschema/table_status_by_account.h --- mysql-5.7-5.7.33/storage/perfschema/table_status_by_account.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_status_by_account.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_status_by_host.cc mysql-5.7-5.7.34/storage/perfschema/table_status_by_host.cc --- mysql-5.7-5.7.33/storage/perfschema/table_status_by_host.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_status_by_host.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -185,7 +185,7 @@ return HA_ERR_END_OF_FILE; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < global_host_container.get_row_count()); + assert(m_pos.m_index_1 < global_host_container.get_row_count()); PFS_host *pfs_host= global_host_container.get(m_pos.m_index_1); @@ -237,7 +237,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -256,7 +256,7 @@ m_row.m_variable_value.set_field(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_status_by_host.h mysql-5.7-5.7.34/storage/perfschema/table_status_by_host.h --- mysql-5.7-5.7.33/storage/perfschema/table_status_by_host.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_status_by_host.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_status_by_thread.cc mysql-5.7-5.7.34/storage/perfschema/table_status_by_thread.cc --- mysql-5.7-5.7.33/storage/perfschema/table_status_by_thread.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_status_by_thread.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -178,7 +178,7 @@ return HA_ERR_RECORD_DELETED; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < global_thread_container.get_row_count()); + assert(m_pos.m_index_1 < global_thread_container.get_row_count()); PFS_thread *pfs_thread= global_thread_container.get(m_pos.m_index_1); /* @@ -231,7 +231,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -250,7 +250,7 @@ m_row.m_variable_value.set_field(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_status_by_thread.h mysql-5.7-5.7.34/storage/perfschema/table_status_by_thread.h --- mysql-5.7-5.7.33/storage/perfschema/table_status_by_thread.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_status_by_thread.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_status_by_user.cc mysql-5.7-5.7.34/storage/perfschema/table_status_by_user.cc --- mysql-5.7-5.7.33/storage/perfschema/table_status_by_user.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_status_by_user.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -186,7 +186,7 @@ return HA_ERR_END_OF_FILE; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < global_user_container.get_row_count()); + assert(m_pos.m_index_1 < global_user_container.get_row_count()); PFS_user *pfs_user= global_user_container.get(m_pos.m_index_1); @@ -238,7 +238,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -257,7 +257,7 @@ m_row.m_variable_value.set_field(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_status_by_user.h mysql-5.7-5.7.34/storage/perfschema/table_status_by_user.h --- mysql-5.7-5.7.33/storage/perfschema/table_status_by_user.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_status_by_user.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_sync_instances.cc mysql-5.7-5.7.34/storage/perfschema/table_sync_instances.cc --- mysql-5.7-5.7.33/storage/perfschema/table_sync_instances.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_sync_instances.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -175,7 +175,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -197,7 +197,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -353,7 +353,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -378,7 +378,7 @@ set_field_ulong(f, m_row.m_readers); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -510,7 +510,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 0); + assert(table->s->null_bytes == 0); for (; (f= *fields) ; fields++) { @@ -525,7 +525,7 @@ set_field_ulonglong(f, (intptr) m_row.m_identity); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_sync_instances.h mysql-5.7-5.7.34/storage/perfschema/table_sync_instances.h --- mysql-5.7-5.7.33/storage/perfschema/table_sync_instances.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_sync_instances.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_table_handles.cc mysql-5.7-5.7.34/storage/perfschema/table_table_handles.cc --- mysql-5.7-5.7.33/storage/perfschema/table_table_handles.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_table_handles.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -215,7 +215,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -245,7 +245,7 @@ set_field_lock_type(f, m_row.m_external_lock); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_table_handles.h mysql-5.7-5.7.34/storage/perfschema/table_table_handles.h --- mysql-5.7-5.7.33/storage/perfschema/table_table_handles.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_table_handles.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_threads.cc mysql-5.7-5.7.34/storage/perfschema/table_threads.cc --- mysql-5.7-5.7.33/storage/perfschema/table_threads.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_threads.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -270,7 +270,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 2); + assert(table->s->null_bytes == 2); buf[0]= 0; buf[1]= 0; @@ -343,7 +343,7 @@ server is updating this column for those threads. To prevent this kind of issue, an assert is added. */ - DBUG_ASSERT(m_row.m_processlist_state_length <= f->char_length()); + assert(m_row.m_processlist_state_length <= f->char_length()); if (m_row.m_processlist_state_length > 0) set_field_varchar_utf8(f, m_row.m_processlist_state_ptr, m_row.m_processlist_state_length); @@ -386,7 +386,7 @@ f->set_null(); break; default: - DBUG_ASSERT(false); + assert(false); } } } @@ -433,7 +433,7 @@ case 16: /* THREAD_OS_ID */ return HA_ERR_WRONG_COMMAND; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_threads.h mysql-5.7-5.7.34/storage/perfschema/table_threads.h --- mysql-5.7-5.7.33/storage/perfschema/table_threads.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_threads.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_tiws_by_index_usage.cc mysql-5.7-5.7.34/storage/perfschema/table_tiws_by_index_usage.cc --- mysql-5.7-5.7.33/storage/perfschema/table_tiws_by_index_usage.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_tiws_by_index_usage.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -364,7 +364,7 @@ PFS_table_share_index *pfs_index; pfs_optimistic_state lock; - DBUG_ASSERT(index <= MAX_INDEXES); + assert(index <= MAX_INDEXES); m_row_exists= false; @@ -405,7 +405,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -526,7 +526,7 @@ set_field_ulonglong(f, m_row.m_stat.m_delete.m_max); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_tiws_by_index_usage.h mysql-5.7-5.7.34/storage/perfschema/table_tiws_by_index_usage.h --- mysql-5.7-5.7.33/storage/perfschema/table_tiws_by_index_usage.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_tiws_by_index_usage.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_tiws_by_table.cc mysql-5.7-5.7.34/storage/perfschema/table_tiws_by_table.cc --- mysql-5.7-5.7.33/storage/perfschema/table_tiws_by_table.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_tiws_by_table.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -364,7 +364,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -484,7 +484,7 @@ set_field_ulonglong(f, m_row.m_stat.m_delete.m_max); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_tiws_by_table.h mysql-5.7-5.7.34/storage/perfschema/table_tiws_by_table.h --- mysql-5.7-5.7.33/storage/perfschema/table_tiws_by_table.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_tiws_by_table.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_tlws_by_table.cc mysql-5.7-5.7.34/storage/perfschema/table_tlws_by_table.cc --- mysql-5.7-5.7.33/storage/perfschema/table_tlws_by_table.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_tlws_by_table.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -514,7 +514,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -735,7 +735,7 @@ break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_tlws_by_table.h mysql-5.7-5.7.34/storage/perfschema/table_tlws_by_table.h --- mysql-5.7-5.7.33/storage/perfschema/table_tlws_by_table.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_tlws_by_table.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_users.cc mysql-5.7-5.7.34/storage/perfschema/table_users.cc --- mysql-5.7-5.7.33/storage/perfschema/table_users.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_users.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -144,7 +144,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -161,7 +161,7 @@ m_row.m_connection_stat.set_field(f->field_index - 1, f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_users.h mysql-5.7-5.7.34/storage/perfschema/table_users.h --- mysql-5.7-5.7.33/storage/perfschema/table_users.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_users.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_uvar_by_thread.cc mysql-5.7-5.7.34/storage/perfschema/table_uvar_by_thread.cc --- mysql-5.7-5.7.33/storage/perfschema/table_uvar_by_thread.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_uvar_by_thread.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -105,7 +105,7 @@ /* Copy VARIABLE_NAME */ const char *name= sql_uvar->entry_name.ptr(); size_t name_length= sql_uvar->entry_name.length(); - DBUG_ASSERT(name_length <= sizeof(pfs_uvar.m_name)); + assert(name_length <= sizeof(pfs_uvar.m_name)); pfs_uvar.m_name.make_row(name, name_length); /* Copy VARIABLE_VALUE */ @@ -307,11 +307,11 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; - DBUG_ASSERT(m_row.m_variable_name != NULL); - DBUG_ASSERT(m_row.m_variable_value != NULL); + assert(m_row.m_variable_name != NULL); + assert(m_row.m_variable_value != NULL); for (; (f= *fields) ; fields++) { @@ -340,7 +340,7 @@ } break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_uvar_by_thread.h mysql-5.7-5.7.34/storage/perfschema/table_uvar_by_thread.h --- mysql-5.7-5.7.33/storage/perfschema/table_uvar_by_thread.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_uvar_by_thread.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -77,7 +77,7 @@ bool is_materialized(PFS_thread *pfs) { - DBUG_ASSERT(pfs != NULL); + assert(pfs != NULL); if (m_pfs != pfs) return false; if (m_thread_internal_id != pfs->m_thread_internal_id) diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_variables_by_thread.cc mysql-5.7-5.7.34/storage/perfschema/table_variables_by_thread.cc --- mysql-5.7-5.7.33/storage/perfschema/table_variables_by_thread.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_variables_by_thread.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -163,7 +163,7 @@ return HA_ERR_RECORD_DELETED; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < global_thread_container.get_row_count()); + assert(m_pos.m_index_1 < global_thread_container.get_row_count()); PFS_thread *pfs_thread= global_thread_container.get(m_pos.m_index_1); /* @@ -221,7 +221,7 @@ return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + assert(table->s->null_bytes == 1); buf[0]= 0; for (; (f= *fields) ; fields++) @@ -240,7 +240,7 @@ m_row.m_variable_value.set_field(f); break; default: - DBUG_ASSERT(false); + assert(false); } } } diff -Nru mysql-5.7-5.7.33/storage/perfschema/table_variables_by_thread.h mysql-5.7-5.7.34/storage/perfschema/table_variables_by_thread.h --- mysql-5.7-5.7.33/storage/perfschema/table_variables_by_thread.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/table_variables_by_thread.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/CMakeLists.txt mysql-5.7-5.7.34/storage/perfschema/unittest/CMakeLists.txt --- mysql-5.7-5.7.33/storage/perfschema/unittest/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/conf.txt mysql-5.7-5.7.34/storage/perfschema/unittest/conf.txt --- mysql-5.7-5.7.33/storage/perfschema/unittest/conf.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/conf.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_account-oom-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_account-oom-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_account-oom-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_account-oom-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_connect_attr-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_connect_attr-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_connect_attr-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_connect_attr-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_host-oom-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_host-oom-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_host-oom-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_host-oom-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_instr_class-oom-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_instr_class-oom-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_instr_class-oom-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_instr_class-oom-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_instr_class-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_instr_class-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_instr_class-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_instr_class-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_instr-oom-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_instr-oom-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_instr-oom-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_instr-oom-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_instr-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_instr-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_instr-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_instr-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_misc-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_misc-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_misc-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_misc-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_noop-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_noop-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_noop-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_noop-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_server_stubs.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_server_stubs.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_server_stubs.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_server_stubs.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_timer-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_timer-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_timer-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_timer-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_user-oom-t.cc mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_user-oom-t.cc --- mysql-5.7-5.7.33/storage/perfschema/unittest/pfs_user-oom-t.cc 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/pfs_user-oom-t.cc 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/stub_global_status_var.h mysql-5.7-5.7.34/storage/perfschema/unittest/stub_global_status_var.h --- mysql-5.7-5.7.33/storage/perfschema/unittest/stub_global_status_var.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/stub_global_status_var.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2015, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/stub_pfs_defaults.h mysql-5.7-5.7.34/storage/perfschema/unittest/stub_pfs_defaults.h --- mysql-5.7-5.7.33/storage/perfschema/unittest/stub_pfs_defaults.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/stub_pfs_defaults.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/stub_pfs_global.h mysql-5.7-5.7.34/storage/perfschema/unittest/stub_pfs_global.h --- mysql-5.7-5.7.33/storage/perfschema/unittest/stub_pfs_global.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/stub_pfs_global.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -37,7 +37,7 @@ /* Catch non initialized sizing parameter in the unit tests. */ - DBUG_ASSERT(size <= 100*1024*1024); + assert(size <= 100*1024*1024); if (stub_alloc_always_fails) return NULL; diff -Nru mysql-5.7-5.7.33/storage/perfschema/unittest/stub_print_error.h mysql-5.7-5.7.34/storage/perfschema/unittest/stub_print_error.h --- mysql-5.7-5.7.33/storage/perfschema/unittest/stub_print_error.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/storage/perfschema/unittest/stub_print_error.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/bchange.c mysql-5.7-5.7.34/strings/bchange.c --- mysql-5.7-5.7.33/strings/bchange.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/bchange.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/CHARSET_INFO.txt mysql-5.7-5.7.34/strings/CHARSET_INFO.txt --- mysql-5.7-5.7.33/strings/CHARSET_INFO.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/CHARSET_INFO.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -Copyright (c) 2020, Oracle and/or its affiliates. +Copyright (c) 2020, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/CMakeLists.txt mysql-5.7-5.7.34/strings/CMakeLists.txt --- mysql-5.7-5.7.33/strings/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/conf_to_src.c mysql-5.7-5.7.34/strings/conf_to_src.c --- mysql-5.7-5.7.33/strings/conf_to_src.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/conf_to_src.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -190,7 +190,7 @@ } len=read(fd,buf,MAX_BUF); - DBUG_ASSERT(len < MAX_BUF); + assert(len < MAX_BUF); close(fd); if (my_parse_charset_xml(&loader, buf, len)) @@ -285,7 +285,7 @@ fprint_copyright(FILE *file) { fprintf(file, -"/* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.\n" +"/* Copyright (c) 2003, 2021, Oracle and/or its affiliates.\n" "\n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms of the GNU General Public License, version 2.0,\n" diff -Nru mysql-5.7-5.7.33/strings/ctype-big5.c mysql-5.7-5.7.34/strings/ctype-big5.c --- mysql-5.7-5.7.33/strings/ctype-big5.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-big5.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/ctype-bin.c mysql-5.7-5.7.34/strings/ctype-bin.c --- mysql-5.7-5.7.33/strings/ctype-bin.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-bin.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2002 MySQL AB & tommy@valley.ne.jp - Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, tommy@valley.ne.jp + Copyright (c) 2002, 2021, Oracle and/or its affiliates. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public diff -Nru mysql-5.7-5.7.33/strings/ctype.c mysql-5.7-5.7.34/strings/ctype.c --- mysql-5.7-5.7.33/strings/ctype.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights * reserved. This program is free software; you can redistribute it and/or modify @@ -461,7 +461,7 @@ for ( ; (clen= scan_one_character(attr, attrend, &wc)) > 0; attr+= clen) { - DBUG_ASSERT(attr < attrend); + assert(attr < attrend); if (tailoring_append(st, fmt, clen, attr) != MY_XML_OK) return MY_XML_ERROR; } @@ -1085,7 +1085,7 @@ } } - DBUG_ASSERT(FALSE); // Should never get to here + assert(FALSE); // Should never get to here return 0; // Make compiler happy } @@ -1109,7 +1109,7 @@ len= my_mbcharlen_2(cs, (uchar) *s, (uchar) *(s + 1)); /* It could be either a valid multi-byte GB18030 code, or invalid gb18030 code if return value is 0 */ - DBUG_ASSERT(len == 0 || len == 2 || len == 4); + assert(len == 0 || len == 2 || len == 4); } return len; diff -Nru mysql-5.7-5.7.33/strings/ctype-cp932.c mysql-5.7-5.7.34/strings/ctype-cp932.c --- mysql-5.7-5.7.33/strings/ctype-cp932.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-cp932.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/ctype-czech.c mysql-5.7-5.7.34/strings/ctype-czech.c --- mysql-5.7-5.7.33/strings/ctype-czech.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-czech.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/ctype-eucjpms.c mysql-5.7-5.7.34/strings/ctype-eucjpms.c --- mysql-5.7-5.7.33/strings/ctype-eucjpms.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-eucjpms.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2002 MySQL AB & tommy@valley.ne.jp - Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, tommy@valley.ne.jp + Copyright (c) 2005, 2021, Oracle and/or its affiliates. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public diff -Nru mysql-5.7-5.7.33/strings/ctype-euc_kr.c mysql-5.7-5.7.34/strings/ctype-euc_kr.c --- mysql-5.7-5.7.33/strings/ctype-euc_kr.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-euc_kr.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/ctype-extra.c mysql-5.7-5.7.34/strings/ctype-extra.c --- mysql-5.7-5.7.33/strings/ctype-extra.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-extra.c 2021-03-26 06:58:52.000000000 +0000 @@ -6,7 +6,7 @@ ./conf_to_src {CMAKE_SOURCE_DIR}/sql/share/charsets/ > ctype-extra.c */ -/* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/ctype-gb18030.c mysql-5.7-5.7.34/strings/ctype-gb18030.c --- mysql-5.7-5.7.33/strings/ctype-gb18030.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-gb18030.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2014, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -21086,7 +21086,7 @@ { uint r= 0; - DBUG_ASSERT(srclen == 1 || srclen == 2 || srclen == 4); + assert(srclen == 1 || srclen == 2 || srclen == 4); switch (srclen) { @@ -21100,7 +21100,7 @@ r= (src[0] << 24) + (src[1] << 16) + (src[2] << 8) + src[3]; break; default: - DBUG_ASSERT(0); + assert(0); } return r; @@ -21124,7 +21124,7 @@ for (i= 0; code != 0; i++, code>>= 8) r[i]= (uchar) (code & 0xFF); - DBUG_ASSERT(i == 1 || i == 2 || i == 4); + assert(i == 1 || i == 2 || i == 4); for (; i > 0 && dst < dst_end; --i, ++len) *dst++= r[i - 1]; @@ -21144,7 +21144,7 @@ static uint diff_to_gb18030_4(uchar *dst, uint dstlen, uint diff) { - DBUG_ASSERT(dstlen >= 4); + assert(dstlen >= 4); if (diff > MAX_GB18030_DIFF || dstlen < 4) return 0; @@ -21170,16 +21170,16 @@ { uint diff= 0; - DBUG_ASSERT(is_mb_odd((code >> 24) & 0xFF)); + assert(is_mb_odd((code >> 24) & 0xFF)); diff+= ((code >> 24) & 0xFF) - MIN_MB_ODD_BYTE; diff*= 10; - DBUG_ASSERT(is_mb_even_4((code >> 16) & 0xFF)); + assert(is_mb_even_4((code >> 16) & 0xFF)); diff+= ((code >> 16) & 0xFF) - MIN_MB_EVEN_BYTE_4; diff*= 126; - DBUG_ASSERT(is_mb_odd((code >> 8) & 0xFF)); + assert(is_mb_odd((code >> 8) & 0xFF)); diff+= ((code >> 8) & 0xFF) - MIN_MB_ODD_BYTE; diff*= 10; - DBUG_ASSERT(is_mb_even_4(code & 0xFF)); + assert(is_mb_even_4(code & 0xFF)); diff+= (code & 0xFF) - MIN_MB_EVEN_BYTE_4; return diff; @@ -21214,7 +21214,7 @@ my_ismbchar_gb18030(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)), const char *p, const char *e) { - DBUG_ASSERT(e > p); + assert(e > p); if (e - p <= 1 || !is_mb_odd(p[0])) return 0; @@ -21361,12 +21361,12 @@ return MY_CS_TOOSMALL4; err= diff_to_gb18030_4(s, 4, idx); - DBUG_ASSERT(err != 0); + assert(err != 0); return err != 0 ? len : MY_CS_ILUNI; } - DBUG_ASSERT(0); + assert(0); return MY_CS_ILUNI; } @@ -21463,7 +21463,7 @@ /* (GB+8431A439, GB+90308130) and (GB+E3329A35, GB+FE39FE39) */ cp= 0x003F; else - DBUG_ASSERT(0); + assert(0); *pwc= cp; return 4; @@ -21524,7 +21524,7 @@ { const MY_UNICASE_CHARACTER *p= NULL; - DBUG_ASSERT(cs != NULL); + assert(cs != NULL); switch (srclen) { @@ -21553,7 +21553,7 @@ return p ? &p[code & 0xFF] : NULL; } - DBUG_ASSERT(0); + assert(0); return NULL; } @@ -21580,10 +21580,10 @@ code <= (MAX_3_BYTE_FROM_UNI & 0xFFFF)) code+= (MIN_3_BYTE_FROM_UNI & 0xFF0000); else - DBUG_ASSERT(0); + assert(0); r= diff_to_gb18030_4(gbchs, 4, code); - DBUG_ASSERT(r == 4); + assert(r == 4); return r == 4 ? gb18030_chs_to_code(gbchs, 4) : 0; } @@ -21606,7 +21606,7 @@ { const MY_UNICASE_CHARACTER *ch= get_case_info(cs, src, srclen); - DBUG_ASSERT(srclen == 1 || srclen == 2 || srclen == 4); + assert(srclen == 1 || srclen == 2 || srclen == 4); return ch ? case_info_code_to_gb18030(is_upper ? ch->toupper : ch->tolower) : 0; @@ -21639,7 +21639,7 @@ { uint mblen= my_ismbchar_gb18030(cs, src, srcend); - DBUG_ASSERT(dst < dst_end); + assert(dst < dst_end); if (mblen) { uint code= get_casefolded_code(cs, (uchar *) src, mblen, is_upper); @@ -21649,14 +21649,14 @@ size_t mblen_dst= code_to_gb18030_chs((uchar *) dst, dst_end - dst, code); - DBUG_ASSERT(dst + mblen_dst <= dst_end); + assert(dst + mblen_dst <= dst_end); src+= mblen; dst+= mblen_dst; } else { - DBUG_ASSERT(mblen == 2 || mblen == 4); - DBUG_ASSERT(dst + mblen <= dst_end); + assert(mblen == 2 || mblen == 4); + assert(dst + mblen <= dst_end); if (mblen == 4) { @@ -21689,9 +21689,9 @@ my_casedn_gb18030(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen) { - DBUG_ASSERT(cs != NULL); - DBUG_ASSERT(src != dst || cs->casedn_multiply == 1); - DBUG_ASSERT(dstlen >= srclen * cs->casedn_multiply); + assert(cs != NULL); + assert(src != dst || cs->casedn_multiply == 1); + assert(dstlen >= srclen * cs->casedn_multiply); return my_casefold_gb18030(cs, src, srclen, dst, dstlen, cs->to_lower, 0); } @@ -21709,9 +21709,9 @@ my_caseup_gb18030(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen) { - DBUG_ASSERT(cs != NULL); - DBUG_ASSERT(src != dst || cs->caseup_multiply == 1); - DBUG_ASSERT(dstlen >= srclen * cs->caseup_multiply); + assert(cs != NULL); + assert(src != dst || cs->caseup_multiply == 1); + assert(dstlen >= srclen * cs->caseup_multiply); return my_casefold_gb18030(cs, src, srclen, dst, dstlen, cs->to_upper, 1); } @@ -21735,9 +21735,9 @@ int srcres, dstres; char *srcend= src + srclen, *dstend= dst + dstlen, *dst0= dst; - DBUG_ASSERT(cs != NULL); - DBUG_ASSERT(src != dst || cs->casedn_multiply == 1); - DBUG_ASSERT(dstlen >= srclen * cs->casedn_multiply); + assert(cs != NULL); + assert(src != dst || cs->casedn_multiply == 1); + assert(dstlen >= srclen * cs->casedn_multiply); uni_plane= cs->caseinfo; @@ -21783,9 +21783,9 @@ int srcres, dstres; char *srcend= src + srclen, *dstend= dst + dstlen, *dst0= dst; - DBUG_ASSERT(cs != NULL); - DBUG_ASSERT(src != dst || cs->caseup_multiply == 1); - DBUG_ASSERT(dstlen >= srclen * cs->caseup_multiply); + assert(cs != NULL); + assert(src != dst || cs->caseup_multiply == 1); + assert(dstlen >= srclen * cs->caseup_multiply); uni_plane= cs->caseinfo; @@ -21888,7 +21888,7 @@ { uint weight, caseup_code, code= gb18030_chs_to_code(src, mblen); - DBUG_ASSERT(mblen == 2 || mblen == 4); + assert(mblen == 2 || mblen == 4); /* Make sure the max 4-byte gb18030 code has the max weight */ if (code == 0xFE39FE39) @@ -21920,11 +21920,11 @@ static uint get_weight_for_gb18030_chs(const CHARSET_INFO *cs, const char *s, size_t s_len) { - DBUG_ASSERT(s_len == 1 || s_len == 2 || s_len == 4); + assert(s_len == 1 || s_len == 2 || s_len == 4); if (s_len == 1) { - DBUG_ASSERT(is_mb_1(*s)); + assert(is_mb_1(*s)); return cs->sort_order[(uchar) *s]; } @@ -21959,7 +21959,7 @@ if ((len= my_ismbchar_gb18030(cs, s, e)) == 0) return 0; - DBUG_ASSERT(len == 2 || len == 4); + assert(len == 2 || len == 4); *code= gb18030_chs_to_code((const uchar *) s, len); return len; } @@ -21989,7 +21989,7 @@ const uchar *se= s + s_length; const uchar *te= t + t_length; - DBUG_ASSERT(cs != NULL); + assert(cs != NULL); while (s < se && t < te) { @@ -22130,7 +22130,7 @@ const uchar *se= src + srclen; const uchar *sort_order; - DBUG_ASSERT(cs != NULL); + assert(cs != NULL); sort_order= cs->sort_order; for (; dst < de && src < se && nweights; nweights--) @@ -22188,11 +22188,11 @@ uint dst_len; int res; - DBUG_ASSERT(cs != NULL); + assert(cs != NULL); res= cs->cset->wc_mb(cs, unicode, dst, dst + 4); - DBUG_ASSERT(res == 1 || res == 2 || res == 4); + assert(res == 1 || res == 2 || res == 4); dst_len= (uint) res; return gb18030_chs_to_code(dst, dst_len); diff -Nru mysql-5.7-5.7.33/strings/ctype-gb2312.c mysql-5.7-5.7.34/strings/ctype-gb2312.c --- mysql-5.7-5.7.33/strings/ctype-gb2312.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-gb2312.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/ctype-gbk.c mysql-5.7-5.7.34/strings/ctype-gbk.c --- mysql-5.7-5.7.33/strings/ctype-gbk.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-gbk.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/ctype-latin1.c mysql-5.7-5.7.34/strings/ctype-latin1.c --- mysql-5.7-5.7.33/strings/ctype-latin1.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-latin1.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/ctype-mb.c mysql-5.7-5.7.34/strings/ctype-mb.c --- mysql-5.7-5.7.33/strings/ctype-mb.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-mb.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -91,9 +91,9 @@ char *srcend= src + srclen; const uchar *map= cs->to_upper; - DBUG_ASSERT(cs->caseup_multiply == 1); - DBUG_ASSERT(src == dst && srclen == dstlen); - DBUG_ASSERT(cs->mbmaxlen == 2); + assert(cs->caseup_multiply == 1); + assert(src == dst && srclen == dstlen); + assert(cs->mbmaxlen == 2); while (src < srcend) { @@ -126,9 +126,9 @@ char *srcend= src + srclen; const uchar *map=cs->to_lower; - DBUG_ASSERT(cs->casedn_multiply == 1); - DBUG_ASSERT(src == dst && srclen == dstlen); - DBUG_ASSERT(cs->mbmaxlen == 2); + assert(cs->casedn_multiply == 1); + assert(src == dst && srclen == dstlen); + assert(cs->mbmaxlen == 2); while (src < srcend) { @@ -171,7 +171,7 @@ { char *srcend= src + srclen, *dst0= dst; - DBUG_ASSERT(cs->mbmaxlen == 2); + assert(cs->mbmaxlen == 2); while (src < srcend) { @@ -206,8 +206,8 @@ my_casedn_mb_varlen(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen) { - DBUG_ASSERT(dstlen >= srclen * cs->casedn_multiply); - DBUG_ASSERT(src != dst || cs->casedn_multiply == 1); + assert(dstlen >= srclen * cs->casedn_multiply); + assert(src != dst || cs->casedn_multiply == 1); return my_casefold_mb_varlen(cs, src, srclen, dst, dstlen, cs->to_lower, 0); } @@ -216,8 +216,8 @@ my_caseup_mb_varlen(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen) { - DBUG_ASSERT(dstlen >= srclen * cs->caseup_multiply); - DBUG_ASSERT(src != dst || cs->caseup_multiply == 1); + assert(dstlen >= srclen * cs->caseup_multiply); + assert(src != dst || cs->caseup_multiply == 1); return my_casefold_mb_varlen(cs, src, srclen, dst, dstlen, cs->to_upper, 1); } @@ -245,7 +245,7 @@ return 1; } /* At least one of '*s' and '*t' is zero here. */ - DBUG_ASSERT(!*t || !*s); + assert(!*t || !*s); return (*t != *s); } @@ -617,7 +617,7 @@ const uchar *se= src + srclen; const uchar *sort_order= cs->sort_order; - DBUG_ASSERT(cs->mbmaxlen <= 4); + assert(cs->mbmaxlen <= 4); /* If "srclen" is smaller than both "dstlen" and "nweights" @@ -747,7 +747,7 @@ else { /* Currently, it's only for GB18030, so it must be a 4-byte char */ - DBUG_ASSERT(cs->max_sort_char > 0xFFFFFF); + assert(cs->max_sort_char > 0xFFFFFF); buf[0]= cs->max_sort_char >> 24 & 0xFF; buf[1]= cs->max_sort_char >> 16 & 0xFF; buf[2]= cs->max_sort_char >> 8 & 0xFF; @@ -761,7 +761,7 @@ (uchar*) buf + sizeof(buf)); } - DBUG_ASSERT(buflen > 0); + assert(buflen > 0); do { if ((str + buflen) <= end) diff -Nru mysql-5.7-5.7.33/strings/ctype-simple.c mysql-5.7-5.7.34/strings/ctype-simple.c --- mysql-5.7-5.7.33/strings/ctype-simple.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-simple.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -242,7 +242,7 @@ { char *end= src + srclen; const uchar *map= cs->to_upper; - DBUG_ASSERT(src == dst && srclen == dstlen); + assert(src == dst && srclen == dstlen); for ( ; src != end ; src++) *src= (char) map[(uchar) *src]; return srclen; @@ -255,7 +255,7 @@ { char *end= src + srclen; const uchar *map=cs->to_lower; - DBUG_ASSERT(src == dst && srclen == dstlen); + assert(src == dst && srclen == dstlen); for ( ; src != end ; src++) *src= (char) map[(uchar) *src]; return srclen; @@ -1758,7 +1758,7 @@ uint my_strxfrm_flag_normalize(uint flags, uint maximum) { - DBUG_ASSERT(maximum >= 1 && maximum <= MY_STRXFRM_NLEVELS); + assert(maximum >= 1 && maximum <= MY_STRXFRM_NLEVELS); /* If levels are omitted, then 1-maximum is assumed*/ if (!(flags & MY_STRXFRM_LEVEL_ALL)) diff -Nru mysql-5.7-5.7.33/strings/ctype-sjis.c mysql-5.7-5.7.34/strings/ctype-sjis.c --- mysql-5.7-5.7.33/strings/ctype-sjis.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-sjis.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/ctype-tis620.c mysql-5.7-5.7.34/strings/ctype-tis620.c --- mysql-5.7-5.7.33/strings/ctype-tis620.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-tis620.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/ctype-uca.c mysql-5.7-5.7.34/strings/ctype-uca.c --- mysql-5.7-5.7.33/strings/ctype-uca.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-uca.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public @@ -19536,14 +19536,14 @@ Contraction is never longer than MY_UCA_MAX_CONTRACTION, which is guaranteed by using my_coll_rule_expand() with proper limit. */ - DBUG_ASSERT(len > 1 && len <= MY_UCA_MAX_CONTRACTION); + assert(len > 1 && len <= MY_UCA_MAX_CONTRACTION); for (i= 0; i < len; i++) { /* We don't support contractions with U+0000. my_coll_rule_expand() guarantees there're no U+0000 in a contraction. */ - DBUG_ASSERT(wc[i] != 0); + assert(wc[i] != 0); next->ch[i]= wc[i]; } if (i < MY_UCA_MAX_CONTRACTION) @@ -21061,7 +21061,7 @@ /* Do nothing for '=': use the previous offsets for all levels */ break; default: - DBUG_ASSERT(0); + assert(0); } } @@ -21387,7 +21387,7 @@ Let's assert in debug version and print a nice error message in production version. */ - DBUG_ASSERT(0); + assert(0); return my_coll_parser_too_long_error(p, "Logical position"); } return my_coll_parser_scan(p); @@ -21776,7 +21776,7 @@ if (!(dst->weights[page]= (uint16 *) (loader->once_alloc)(size))) return TRUE; - DBUG_ASSERT(src->lengths[page] <= dst->lengths[page]); + assert(src->lengths[page] <= dst->lengths[page]); memset(dst->weights[page], 0, size); for (chc=0 ; chc < 256; chc++) { @@ -21833,7 +21833,7 @@ else { /* Shift to an ignorable character, e.g.: & \u0000 < \u0001 */ - DBUG_ASSERT(to[0] == 0); + assert(to[0] == 0); to[0]= r->diff[level]; } return FALSE; @@ -21878,7 +21878,7 @@ else { my_wc_t pagec= (r->curr[0] >> 8); - DBUG_ASSERT(dst->weights[pagec]); + assert(dst->weights[pagec]); to= my_char_weight_addr(dst, r->curr[0]); /* Store weights of the "reset to" character */ nweights= my_char_weight_put(dst, to, dst->lengths[pagec], r->base, nreset); diff -Nru mysql-5.7-5.7.33/strings/ctype-ucs2.c mysql-5.7-5.7.34/strings/ctype-ucs2.c --- mysql-5.7-5.7.33/strings/ctype-ucs2.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-ucs2.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public @@ -64,7 +64,7 @@ my_caseup_str_mb2_or_mb4(const CHARSET_INFO * cs MY_ATTRIBUTE((unused)), char * s MY_ATTRIBUTE((unused))) { - DBUG_ASSERT(0); + assert(0); return 0; } @@ -73,7 +73,7 @@ my_casedn_str_mb2_or_mb4(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)), char * s MY_ATTRIBUTE((unused))) { - DBUG_ASSERT(0); + assert(0); return 0; } @@ -83,7 +83,7 @@ const char *s MY_ATTRIBUTE((unused)), const char *t MY_ATTRIBUTE((unused))) { - DBUG_ASSERT(0); + assert(0); return 0; } @@ -726,7 +726,7 @@ Odd length indicates a bug in the caller. Assert in debug, round in production. */ - DBUG_ASSERT((*endptr - s) % 2 == 0); + assert((*endptr - s) % 2 == 0); end= s + ((*endptr - s) / 2) * 2; for ( ; ; ) /* Skip leading spaces and tabs */ @@ -939,12 +939,12 @@ char buf[10]; int buflen; - DBUG_ASSERT((slen % 2) == 0); + assert((slen % 2) == 0); buflen= cs->cset->wc_mb(cs, (my_wc_t) fill, (uchar*) buf, (uchar*) buf + sizeof(buf)); - DBUG_ASSERT(buflen > 0); + assert(buflen > 0); while (slen >= (size_t) buflen) { @@ -1037,7 +1037,7 @@ *dst++= '%'; /* % used as % or unknown code */ } - DBUG_ASSERT(dst <= end); + assert(dst <= end); *dst='\0'; /* End of errmessage */ return (size_t) (dst - start); } @@ -1205,7 +1205,7 @@ int res; char *srcend= src + srclen; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(src == dst && srclen == dstlen); + assert(src == dst && srclen == dstlen); while ((src < srcend) && (res= cs->cset->mb_wc(cs, &wc, (uchar *) src, (uchar *) srcend)) > 0) @@ -1258,7 +1258,7 @@ int res; char *srcend= src + srclen; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(src == dst && srclen == dstlen); + assert(src == dst && srclen == dstlen); while ((src < srcend) && (res= cs->cset->mb_wc(cs, &wc, (uchar *) src, (uchar *) srcend)) > 0) @@ -1347,8 +1347,8 @@ const uchar *se= s + slen, *te= t + tlen; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT((slen % 2) == 0); - DBUG_ASSERT((tlen % 2) == 0); + assert((slen % 2) == 0); + assert((tlen % 2) == 0); #ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE diff_if_only_endspace_difference= FALSE; @@ -1422,7 +1422,7 @@ my_mbcharlen_utf16(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)), uint c MY_ATTRIBUTE((unused))) { - DBUG_ASSERT(0); + assert(0); return MY_UTF16_HIGH_HEAD(c) ? 4 : 2; } @@ -1546,8 +1546,8 @@ my_wc_t s_wc= 0, t_wc= 0; const uchar *se= s + slen, *te= t + tlen; - DBUG_ASSERT((slen % 2) == 0); - DBUG_ASSERT((tlen % 2) == 0); + assert((slen % 2) == 0); + assert((tlen % 2) == 0); #ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE diff_if_only_endspace_difference= FALSE; @@ -2006,7 +2006,7 @@ int res; char *srcend= src + srclen; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(src == dst && srclen == dstlen); + assert(src == dst && srclen == dstlen); while ((src < srcend) && (res= my_utf32_uni(cs, &wc, (uchar *)src, (uchar*) srcend)) > 0) @@ -2076,7 +2076,7 @@ int res; char *srcend= src + srclen; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(src == dst && srclen == dstlen); + assert(src == dst && srclen == dstlen); while ((res= my_utf32_uni(cs, &wc, (uchar*) src, (uchar*) srcend)) > 0) { @@ -2164,8 +2164,8 @@ const uchar *se= s + slen, *te= t + tlen; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT((slen % 4) == 0); - DBUG_ASSERT((tlen % 4) == 0); + assert((slen % 4) == 0); + assert((tlen % 4) == 0); #ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE diff_if_only_endspace_difference= FALSE; @@ -2216,7 +2216,7 @@ { if ((s_res= my_utf32_uni(cs, &s_wc, s, se)) < 0) { - DBUG_ASSERT(0); + assert(0); return 0; } if (s_wc != ' ') @@ -2256,7 +2256,7 @@ my_vsnprintf_utf32(char *dst, size_t n, const char* fmt, va_list ap) { char *start= dst, *end= dst + n; - DBUG_ASSERT((n % 4) == 0); + assert((n % 4) == 0); for (; *fmt ; fmt++) { if (fmt[0] != '%') @@ -2332,7 +2332,7 @@ *dst++= '%'; /* % used as % or unknown code */ } - DBUG_ASSERT(dst < end); + assert(dst < end); *dst++= '\0'; *dst++= '\0'; *dst++= '\0'; @@ -2549,7 +2549,7 @@ /* Ensure string length is divisible by 4 */ const char *b0= b; size_t length= e - b; - DBUG_ASSERT((length % 4) == 0); + assert((length % 4) == 0); *error= 0; nchars*= 4; if (length > nchars) @@ -2577,14 +2577,14 @@ char buf[10]; char *e= s + slen; - DBUG_ASSERT((slen % 4) == 0); + assert((slen % 4) == 0); { -#ifndef DBUG_OFF +#ifndef NDEBUG uint buflen= #endif cs->cset->wc_mb(cs, (my_wc_t) fill, (uchar*) buf, (uchar*) buf + sizeof(buf)); - DBUG_ASSERT(buflen == 4); + assert(buflen == 4); } while (s < e) { @@ -2599,7 +2599,7 @@ const char *ptr, size_t length) { const char *end= ptr + length; - DBUG_ASSERT((length % 4) == 0); + assert((length % 4) == 0); while (end > ptr + 3 && end[-1] == ' ' && !end[-2] && !end[-3] && !end[-4]) end-= 4; return (size_t) (end - ptr); @@ -2682,8 +2682,8 @@ const uchar *se, *te; size_t minlen; - DBUG_ASSERT((slen % 4) == 0); - DBUG_ASSERT((tlen % 4) == 0); + assert((slen % 4) == 0); + assert((tlen % 4) == 0); se= s + slen; te= t + tlen; @@ -3002,7 +3002,7 @@ int res; char *srcend= src + srclen; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(src == dst && srclen == dstlen); + assert(src == dst && srclen == dstlen); while ((src < srcend) && (res= my_ucs2_uni(cs, &wc, (uchar *)src, (uchar*) srcend)) > 0) @@ -3055,7 +3055,7 @@ int res; char *srcend= src + srclen; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(src == dst && srclen == dstlen); + assert(src == dst && srclen == dstlen); while ((src < srcend) && (res= my_ucs2_uni(cs, &wc, (uchar*) src, (uchar*) srcend)) > 0) @@ -3073,7 +3073,7 @@ my_fill_ucs2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)), char *s, size_t l, int fill) { - DBUG_ASSERT(fill <= 0xFFFF); + assert(fill <= 0xFFFF); for ( ; l >= 2; s[0]= (fill >> 8), s[1]= (fill & 0xFF), s+= 2, l-= 2); } diff -Nru mysql-5.7-5.7.33/strings/ctype-ujis.c mysql-5.7-5.7.34/strings/ctype-ujis.c --- mysql-5.7-5.7.33/strings/ctype-ujis.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-ujis.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,5 +1,5 @@ -/* Copyright (c) 2002 MySQL AB & tommy@valley.ne.jp - Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, tommy@valley.ne.jp + Copyright (c) 2002, 2021, Oracle and/or its affiliates. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public @@ -67230,8 +67230,8 @@ my_casedn_ujis(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen) { - DBUG_ASSERT(dstlen >= srclen * cs->casedn_multiply); - DBUG_ASSERT(src != dst || cs->casedn_multiply == 1); + assert(dstlen >= srclen * cs->casedn_multiply); + assert(src != dst || cs->casedn_multiply == 1); return my_casefold_ujis(cs, src, srclen, dst, dstlen, cs->to_lower, 0); } @@ -67243,8 +67243,8 @@ my_caseup_ujis(const CHARSET_INFO *cs, char *src, size_t srclen, char *dst, size_t dstlen) { - DBUG_ASSERT(dstlen >= srclen * cs->caseup_multiply); - DBUG_ASSERT(src != dst || cs->caseup_multiply == 1); + assert(dstlen >= srclen * cs->caseup_multiply); + assert(src != dst || cs->caseup_multiply == 1); return my_casefold_ujis(cs, src, srclen, dst, dstlen, cs->to_upper, 1); } #endif /* defined(HAVE_CHARSET_ujis) || defined(HAVE_CHARSET_eucjpms) */ diff -Nru mysql-5.7-5.7.33/strings/ctype-utf8.c mysql-5.7-5.7.34/strings/ctype-utf8.c --- mysql-5.7-5.7.33/strings/ctype-utf8.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-utf8.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public @@ -48,7 +48,7 @@ { uchar c; - DBUG_ASSERT(s < e); + assert(s < e); c= s[0]; if (c < 0x80) return 1; @@ -67,7 +67,7 @@ return 2; } - DBUG_ASSERT(c < 0xf0); + assert(c < 0xf0); if (s+3 > e) /* We need 3 characters */ return MY_CS_TOOSMALL3; @@ -5067,7 +5067,7 @@ const uchar *const str0 = str; const uchar *const weightend = str + (nweights*2); const uchar *const end = (weightend < strend) ? weightend : strend; - DBUG_ASSERT(str && str <= strend); + assert(str && str <= strend); while (str < end-3) { @@ -5107,7 +5107,7 @@ my_strxfrm_pad_unicode(uchar *str, const uchar *const strend) { const uchar *const str0 = str; - DBUG_ASSERT(str && str <= strend); + assert(str && str <= strend); while (str < strend-3) { @@ -5150,7 +5150,7 @@ const uchar *const se= src + srclen; const MY_UNICASE_INFO *uni_plane= (cs->state & MY_CS_BINSORT) ? NULL : cs->caseinfo; - DBUG_ASSERT(src); + assert(src); for (; dst < de && nweights; nweights--) { @@ -5191,8 +5191,8 @@ const uchar *const de= dst + dstlen; const uchar *const se= src + srclen; - DBUG_ASSERT(src); - DBUG_ASSERT(cs->state & MY_CS_BINSORT); + assert(src); + assert(cs->state & MY_CS_BINSORT); for ( ; dst < de && nweights; nweights--) { @@ -5521,7 +5521,7 @@ int srcres, dstres; char *srcend= src + srclen, *dstend= dst + dstlen, *dst0= dst; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(src != dst || cs->caseup_multiply == 1); + assert(src != dst || cs->caseup_multiply == 1); while ((src < srcend) && (srcres= my_utf8_uni(cs, &wc, (uchar *) src, (uchar*) srcend)) > 0) @@ -5577,7 +5577,7 @@ int srcres, dstres; char *dst= src, *dst0= src; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(cs->caseup_multiply == 1); + assert(cs->caseup_multiply == 1); while (*src && (srcres= my_utf8_uni_no_range(cs, &wc, (uchar *) src)) > 0) @@ -5600,7 +5600,7 @@ int srcres, dstres; char *srcend= src + srclen, *dstend= dst + dstlen, *dst0= dst; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(src != dst || cs->casedn_multiply == 1); + assert(src != dst || cs->casedn_multiply == 1); while ((src < srcend) && (srcres= my_utf8_uni(cs, &wc, (uchar*) src, (uchar*)srcend)) > 0) @@ -5621,7 +5621,7 @@ int srcres, dstres; char *dst= src, *dst0= src; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(cs->casedn_multiply == 1); + assert(cs->casedn_multiply == 1); while (*src && (srcres= my_utf8_uni_no_range(cs, &wc, (uchar *) src)) > 0) @@ -8080,7 +8080,7 @@ int srcres, dstres; char *srcend= src + srclen, *dstend= dst + dstlen, *dst0= dst; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(src != dst || cs->caseup_multiply == 1); + assert(src != dst || cs->caseup_multiply == 1); while ((src < srcend) && (srcres= my_mb_wc_utf8mb4(cs, &wc, @@ -8158,7 +8158,7 @@ int srcres, dstres; char *dst= src, *dst0= src; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(cs->caseup_multiply == 1); + assert(cs->caseup_multiply == 1); while (*src && (srcres= my_mb_wc_utf8mb4_no_range(cs, &wc, (uchar *) src)) > 0) @@ -8183,7 +8183,7 @@ int srcres, dstres; char *srcend= src + srclen, *dstend= dst + dstlen, *dst0= dst; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(src != dst || cs->casedn_multiply == 1); + assert(src != dst || cs->casedn_multiply == 1); while ((src < srcend) && (srcres= my_mb_wc_utf8mb4(cs, &wc, @@ -8206,7 +8206,7 @@ int srcres, dstres; char *dst= src, *dst0= src; const MY_UNICASE_INFO *uni_plane= cs->caseinfo; - DBUG_ASSERT(cs->casedn_multiply == 1); + assert(cs->casedn_multiply == 1); while (*src && (srcres= my_mb_wc_utf8mb4_no_range(cs, &wc, (uchar *) src)) > 0) diff -Nru mysql-5.7-5.7.33/strings/ctype-win1250ch.c mysql-5.7-5.7.34/strings/ctype-win1250ch.c --- mysql-5.7-5.7.33/strings/ctype-win1250ch.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/ctype-win1250ch.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2002, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/decimal.c mysql-5.7-5.7.34/strings/decimal.c --- mysql-5.7-5.7.33/strings/decimal.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/decimal.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -148,7 +148,7 @@ 999900000, 999990000, 999999000, 999999900, 999999990 }; -#define sanity(d) DBUG_ASSERT((d)->len >0) +#define sanity(d) assert((d)->len >0) #define FIX_INTG_FRAC_ERROR(len, intg1, frac1, error) \ do \ @@ -175,7 +175,7 @@ do \ { \ dec1 a=(from1)+(from2)+(carry); \ - DBUG_ASSERT((carry) <= 1); \ + assert((carry) <= 1); \ if (((carry)= a >= DIG_BASE)) /* no division here! */ \ a-=DIG_BASE; \ (to)=a; \ @@ -247,7 +247,7 @@ case 2: if (val >= 100) break; ++ret; // Fall through. case 1: if (val >= 10) break; ++ret; // Fall through. case 0: if (val >= 1) break; ++ret; // Fall through. - default: { DBUG_ASSERT(FALSE); } + default: { assert(FALSE); } } return ret; } @@ -280,7 +280,7 @@ case 7: if ((val % 10000000) != 0) break; ++ret; // Fall through. case 8: if ((val % 100000000) != 0) break; ++ret; // Fall through. case 9: if ((val % 1000000000) != 0) break; ++ret; // Fall through. - default: { DBUG_ASSERT(FALSE); } + default: { assert(FALSE); } } return ret; } @@ -300,7 +300,7 @@ { int intpart; dec1 *buf= to->buf; - DBUG_ASSERT(precision && precision >= frac); + assert(precision && precision >= frac); to->sign= 0; if ((intpart= to->intg= (precision - frac))) @@ -337,7 +337,7 @@ if (intg > 0) { intg-= count_leading_zeroes((intg - 1) % DIG_PER_DEC1, *buf0); - DBUG_ASSERT(intg > 0); + assert(intg > 0); } else intg=0; @@ -413,7 +413,7 @@ char *s=to; dec1 *buf, *buf0=from->buf, tmp; - DBUG_ASSERT(*to_len >= 2+from->sign); + assert(*to_len >= 2+from->sign); /* removing leading zeroes */ buf0= remove_leading_zeroes(from, &intg); @@ -601,8 +601,8 @@ dec1 *from= dec->buf + ROUND_UP(beg + 1) - 1; dec1 *end= dec->buf + ROUND_UP(last) - 1; int c_shift= DIG_PER_DEC1 - shift; - DBUG_ASSERT(from >= dec->buf); - DBUG_ASSERT(end < dec->buf + dec->len); + assert(from >= dec->buf); + assert(end < dec->buf + dec->len); if (beg % DIG_PER_DEC1 < shift) *(from - 1)= (*from) / powers10[c_shift]; for(; from < end; from++) @@ -631,8 +631,8 @@ dec1 *from= dec->buf + ROUND_UP(last) - 1; dec1 *end= dec->buf + ROUND_UP(beg + 1) - 1; int c_shift= DIG_PER_DEC1 - shift; - DBUG_ASSERT(from < dec->buf + dec->len); - DBUG_ASSERT(end >= dec->buf); + assert(from < dec->buf + dec->len); + assert(end >= dec->buf); if (DIG_PER_DEC1 - ((last - 1) % DIG_PER_DEC1 + 1) < shift) *(from + 1)= (*from % powers10[shift]) * powers10[c_shift]; for(; from > end; from--) @@ -740,7 +740,7 @@ result */ do_left= l_mini_shift <= beg; - DBUG_ASSERT(do_left || (dec->len * DIG_PER_DEC1 - end) >= r_mini_shift); + assert(do_left || (dec->len * DIG_PER_DEC1 - end) >= r_mini_shift); } else { @@ -748,7 +748,7 @@ l_mini_shift= DIG_PER_DEC1 - r_mini_shift; /* see comment above */ do_left= !((dec->len * DIG_PER_DEC1 - end) >= r_mini_shift); - DBUG_ASSERT(!do_left || l_mini_shift <= beg); + assert(!do_left || l_mini_shift <= beg); } if (do_left) { @@ -788,8 +788,8 @@ d_shift= new_front / DIG_PER_DEC1; to= dec->buf + (ROUND_UP(beg + 1) - 1 - d_shift); barier= dec->buf + (ROUND_UP(end) - 1 - d_shift); - DBUG_ASSERT(to >= dec->buf); - DBUG_ASSERT(barier + d_shift < dec->buf + dec->len); + assert(to >= dec->buf); + assert(barier + d_shift < dec->buf + dec->len); for(; to <= barier; to++) *to= *(to + d_shift); for(barier+= d_shift; to <= barier; to++) @@ -802,8 +802,8 @@ d_shift= (1 - new_front) / DIG_PER_DEC1; to= dec->buf + ROUND_UP(end) - 1 + d_shift; barier= dec->buf + ROUND_UP(beg + 1) - 1 + d_shift; - DBUG_ASSERT(to < dec->buf + dec->len); - DBUG_ASSERT(barier - d_shift >= dec->buf); + assert(to < dec->buf + dec->len); + assert(barier - d_shift >= dec->buf); for(; to >= barier; to--) *to= *(to - d_shift); for(barier-= d_shift; to >= barier; to--) @@ -822,7 +822,7 @@ */ beg= ROUND_UP(beg + 1) - 1; end= ROUND_UP(end) - 1; - DBUG_ASSERT(new_point >= 0); + assert(new_point >= 0); /* We don't want negative new_point below */ if (new_point != 0) @@ -1420,7 +1420,7 @@ case 2: mi_int2store(to, x); break; case 3: mi_int3store(to, x); break; case 4: mi_int4store(to, x); break; - default: DBUG_ASSERT(0); + default: assert(0); } to+=i; } @@ -1429,7 +1429,7 @@ for (stop1=buf1+intg1+frac1; buf1 < stop1; to+=sizeof(dec1)) { dec1 x=*buf1++ ^ mask; - DBUG_ASSERT(sizeof(dec1) == 4); + assert(sizeof(dec1) == 4); mi_int4store(to, x); } @@ -1448,7 +1448,7 @@ case 2: mi_int2store(to, x); break; case 3: mi_int3store(to, x); break; case 4: mi_int4store(to, x); break; - default: DBUG_ASSERT(0); + default: assert(0); } to+=i; } @@ -1462,7 +1462,7 @@ orig_to[0]^= 0x80; /* Check that we have written the whole decimal and nothing more */ - DBUG_ASSERT(to == orig_to + orig_fsize0 + orig_isize0); + assert(to == orig_to + orig_fsize0 + orig_isize0); return error; } @@ -1530,7 +1530,7 @@ case 2: x=mi_sint2korr(from); break; case 3: x=mi_sint3korr(from); break; case 4: x=mi_sint4korr(from); break; - default: DBUG_ASSERT(0); + default: assert(0); } from+=i; *buf=x ^ mask; @@ -1543,7 +1543,7 @@ } for (stop=from+intg0*sizeof(dec1); from < stop; from+=sizeof(dec1)) { - DBUG_ASSERT(sizeof(dec1) == 4); + assert(sizeof(dec1) == 4); *buf=mi_sint4korr(from) ^ mask; if (((uint32)*buf) > DIG_MAX) goto err; @@ -1552,10 +1552,10 @@ else to->intg-=DIG_PER_DEC1; } - DBUG_ASSERT(to->intg >=0); + assert(to->intg >=0); for (stop=from+frac0*sizeof(dec1); from < stop; from+=sizeof(dec1)) { - DBUG_ASSERT(sizeof(dec1) == 4); + assert(sizeof(dec1) == 4); *buf=mi_sint4korr(from) ^ mask; if (((uint32)*buf) > DIG_MAX) goto err; @@ -1571,7 +1571,7 @@ case 2: x=mi_sint2korr(from); break; case 3: x=mi_sint3korr(from); break; case 4: x=mi_sint4korr(from); break; - default: DBUG_ASSERT(0); + default: assert(0); } *buf=(x ^ mask) * powers10[DIG_PER_DEC1 - frac0x]; if (((uint32)*buf) > DIG_MAX) @@ -1602,7 +1602,7 @@ int decimal_size(int precision, int scale) { - DBUG_ASSERT(scale >= 0 && precision > 0 && scale <= precision); + assert(scale >= 0 && precision > 0 && scale <= precision); return ROUND_UP(precision-scale)+ROUND_UP(scale); } @@ -1619,11 +1619,11 @@ intg0=intg/DIG_PER_DEC1, frac0=scale/DIG_PER_DEC1, intg0x=intg-intg0*DIG_PER_DEC1, frac0x=scale-frac0*DIG_PER_DEC1; - DBUG_ASSERT(scale >= 0 && precision > 0 && scale <= precision); - DBUG_ASSERT(intg0x >= 0); - DBUG_ASSERT(intg0x <= DIG_PER_DEC1); - DBUG_ASSERT(frac0x >= 0); - DBUG_ASSERT(frac0x <= DIG_PER_DEC1); + assert(scale >= 0 && precision > 0 && scale <= precision); + assert(intg0x >= 0); + assert(intg0x <= DIG_PER_DEC1); + assert(frac0x >= 0); + assert(frac0x <= DIG_PER_DEC1); return intg0*sizeof(dec1)+dig2bytes[intg0x]+ frac0*sizeof(dec1)+dig2bytes[frac0x]; } @@ -1665,14 +1665,14 @@ case CEILING: round_digit= from->sign ? 10 : 0; break; case FLOOR: round_digit= from->sign ? 0 : 10; break; case TRUNCATE: round_digit=10; break; - default: DBUG_ASSERT(0); + default: assert(0); } /* For my_decimal we always use len == DECIMAL_BUFF_LENGTH == 9 For internal testing here (ifdef MAIN) we always use len == 100/4 */ - DBUG_ASSERT(from->len == to->len); + assert(from->len == to->len); if (unlikely(frac0+intg0 > len)) { @@ -1692,8 +1692,8 @@ dec1 *p0= buf0 + intg0 + MY_MAX(frac1, frac0); dec1 *p1= buf1 + intg0 + MY_MAX(frac1, frac0); - DBUG_ASSERT(p0 - buf0 <= len); - DBUG_ASSERT(p1 - buf1 <= len); + assert(p0 - buf0 <= len); + assert(p1 - buf1 <= len); while (buf0 < p0) *(--p1) = *(--p0); @@ -1720,7 +1720,7 @@ if (scale == frac0*DIG_PER_DEC1) { int do_inc= FALSE; - DBUG_ASSERT(frac0+intg0 >= 0); + assert(frac0+intg0 >= 0); switch (round_digit) { case 0: { @@ -1762,7 +1762,7 @@ { /* TODO - fix this code as it won't work for CEILING mode */ int pos=frac0*DIG_PER_DEC1-scale-1; - DBUG_ASSERT(frac0+intg0 > 0); + assert(frac0+intg0 > 0); x=*buf1 / powers10[pos]; y=x % 10; if (y > round_digit || @@ -1848,7 +1848,7 @@ scale=0; done: - DBUG_ASSERT(to->intg <= (len * DIG_PER_DEC1)); + assert(to->intg <= (len * DIG_PER_DEC1)); to->frac=scale; return error; } @@ -1890,7 +1890,7 @@ ROUND_UP(from1->frac)+ROUND_UP(from2->frac); case '/': return ROUND_UP(from1->intg+from2->intg+1+from1->frac+from2->frac+param); - default: DBUG_ASSERT(0); + default: assert(0); } return -1; /* shut up the warning */ } @@ -1970,7 +1970,7 @@ if (unlikely(carry)) *--buf0=1; - DBUG_ASSERT(buf0 == to->buf || buf0 == to->buf+1); + assert(buf0 == to->buf || buf0 == to->buf+1); return error; } @@ -2139,8 +2139,8 @@ return do_sub(from1, from2, 0); // Reject negative zero, cfr. internal_str2dec() - DBUG_ASSERT(!(decimal_is_zero(from1) && from1->sign)); - DBUG_ASSERT(!(decimal_is_zero(from2) && from2->sign)); + assert(!(decimal_is_zero(from1) && from1->sign)); + assert(!(decimal_is_zero(from2) && from2->sign)); return from1->sign > from2->sign ? -1 : 1; } @@ -2261,7 +2261,7 @@ { dec1 *buf= to->buf; dec1 *end= to->buf + intg0 + frac0; - DBUG_ASSERT(buf != end); + assert(buf != end); for (;;) { if (*buf) @@ -2348,7 +2348,7 @@ these remaining zeroes are removed here */ prec2-= count_leading_zeroes((prec2 - 1) % DIG_PER_DEC1, *buf2); - DBUG_ASSERT(prec2 > 0); + assert(prec2 > 0); /* Do the same for the first number. Remove the leading zeroes. @@ -2368,7 +2368,7 @@ return E_DEC_OK; } prec1-= count_leading_zeroes((prec1-1) % DIG_PER_DEC1, *buf1); - DBUG_ASSERT(prec1 > 0); + assert(prec1 > 0); /* let's fix scale_incr, taking into account frac1,frac2 increase */ if ((scale_incr-= frac1 - from1->frac + frac2 - from2->frac) < 0) @@ -2476,13 +2476,13 @@ guess--; if (unlikely(start2[1]*guess > (x-guess*start2[0])*DIG_BASE+y)) guess--; - DBUG_ASSERT(start2[1]*guess <= (x-guess*start2[0])*DIG_BASE+y); + assert(start2[1]*guess <= (x-guess*start2[0])*DIG_BASE+y); } /* D4: multiply and subtract */ buf2=stop2; buf1=start1+len2; - DBUG_ASSERT(buf1 < stop1); + assert(buf1 < stop1); for (carry=0; buf2 > start2; buf1--) { dec1 hi, lo; @@ -2509,7 +2509,7 @@ } if (likely(div_mod)) { - DBUG_ASSERT(buf0 < to->buf + to->len); + assert(buf0 < to->buf + to->len); *buf0=(dec1)guess; } dcarry= *start1; @@ -2567,7 +2567,7 @@ error=E_DEC_OVERFLOW; goto done; } - DBUG_ASSERT(intg0 <= ROUND_UP(from2->intg)); + assert(intg0 <= ROUND_UP(from2->intg)); stop1=start1+frac0+intg0; to->intg= MY_MIN(intg0 * DIG_PER_DEC1, from2->intg); } @@ -2578,7 +2578,7 @@ to->frac=frac0*DIG_PER_DEC1; error=E_DEC_TRUNCATED; } - DBUG_ASSERT(buf0 + (stop1 - start1) <= to->buf + to->len); + assert(buf0 + (stop1 - start1) <= to->buf + to->len); while (start1 < stop1) *buf0++=*start1++; } diff -Nru mysql-5.7-5.7.33/strings/do_ctype.c mysql-5.7-5.7.34/strings/do_ctype.c --- mysql-5.7-5.7.33/strings/do_ctype.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/do_ctype.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -23,8 +23,8 @@ /* Prints case-convert and sort-convert tabell on stdout. This is used to make _ctype.c easyer */ -#ifdef DBUG_OFF -#undef DBUG_OFF +#ifdef NDEBUG +#undef NDEBUG #endif #include diff -Nru mysql-5.7-5.7.33/strings/dtoa.c mysql-5.7-5.7.34/strings/dtoa.c --- mysql-5.7-5.7.33/strings/dtoa.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/dtoa.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2007, 2021, Oracle and/or its affiliates. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public @@ -94,7 +94,7 @@ int decpt, sign, len, i; char *res, *src, *end, *dst= to; char buf[DTOA_BUFF_SIZE]; - DBUG_ASSERT(precision >= 0 && precision < NOT_FIXED_DEC && to != NULL); + assert(precision >= 0 && precision < NOT_FIXED_DEC && to != NULL); res= dtoa(x, 5, precision, &decpt, &sign, &end, buf, sizeof(buf)); @@ -219,7 +219,7 @@ char *res, *src, *end, *dst= to, *dend= dst + width; char buf[DTOA_BUFF_SIZE]; my_bool have_space, force_e_format; - DBUG_ASSERT(width > 0 && to != NULL); + assert(width > 0 && to != NULL); /* We want to remove '-' from equations early */ if (x < 0.) @@ -465,9 +465,9 @@ { char buf[DTOA_BUFF_SIZE]; double res; - DBUG_ASSERT(end != NULL && ((str != NULL && *end != NULL) || - (str == NULL && *end == NULL)) && - error != NULL); + assert(end != NULL && ((str != NULL && *end != NULL) || + (str == NULL && *end == NULL)) && + error != NULL); res= my_strtod_int(str, end, error, buf, sizeof(buf)); return (*error == 0) ? res : (res < 0 ? -DBL_MAX : DBL_MAX); @@ -662,7 +662,7 @@ static Bigint *Balloc(int k, Stack_alloc *alloc) { Bigint *rv; - DBUG_ASSERT(k <= Kmax); + assert(k <= Kmax); if (k <= Kmax && alloc->freelist[k]) { rv= alloc->freelist[k]; diff -Nru mysql-5.7-5.7.33/strings/dump_map.c mysql-5.7-5.7.34/strings/dump_map.c --- mysql-5.7-5.7.33/strings/dump_map.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/dump_map.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/int2str.c mysql-5.7-5.7.34/strings/int2str.c --- mysql-5.7-5.7.33/strings/int2str.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/int2str.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/is_prefix.c mysql-5.7-5.7.34/strings/is_prefix.c --- mysql-5.7-5.7.33/strings/is_prefix.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/is_prefix.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2006 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/llstr.c mysql-5.7-5.7.34/strings/llstr.c --- mysql-5.7-5.7.33/strings/llstr.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/llstr.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2004, 2006, 2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/longlong2str.c mysql-5.7-5.7.34/strings/longlong2str.c --- mysql-5.7-5.7.33/strings/longlong2str.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/longlong2str.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2004, 2006, 2007 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/my_stpmov.c mysql-5.7-5.7.34/strings/my_stpmov.c --- mysql-5.7-5.7.33/strings/my_stpmov.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/my_stpmov.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/my_stpnmov.c mysql-5.7-5.7.34/strings/my_stpnmov.c --- mysql-5.7-5.7.33/strings/my_stpnmov.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/my_stpnmov.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/my_strchr.c mysql-5.7-5.7.34/strings/my_strchr.c --- mysql-5.7-5.7.33/strings/my_strchr.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/my_strchr.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2005, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/my_strtoll10.c mysql-5.7-5.7.34/strings/my_strtoll10.c --- mysql-5.7-5.7.33/strings/my_strtoll10.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/my_strtoll10.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/my_vsnprintf.c mysql-5.7-5.7.34/strings/my_vsnprintf.c --- mysql-5.7-5.7.33/strings/my_vsnprintf.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/my_vsnprintf.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -222,7 +222,7 @@ static char *process_bin_arg(char *to, char *end, size_t width, char *par) { - DBUG_ASSERT(to <= end); + assert(to <= end); if (to + width + 1 > end) width= end - to - 1; /* sign doesn't matter */ memmove(to, par, width); @@ -282,7 +282,7 @@ } else { - DBUG_ASSERT(arg_type == 'X' || arg_type =='x'); + assert(arg_type == 'X' || arg_type =='x'); store_end= ll2str(par, store_start, 16, (arg_type == 'X')); } @@ -353,7 +353,7 @@ fmt++; fmt= get_length(fmt, &print_arr[idx].length, &print_arr[idx].flags); print_arr[idx].length--; - DBUG_ASSERT(*fmt == '$' && print_arr[idx].length < MAX_ARGS); + assert(*fmt == '$' && print_arr[idx].length < MAX_ARGS); args_arr[print_arr[idx].length].arg_type= 'd'; args_arr[print_arr[idx].length].have_longlong= 0; print_arr[idx].flags|= LENGTH_ARG; @@ -372,7 +372,7 @@ fmt++; fmt= get_width(fmt, &print_arr[idx].width); print_arr[idx].width--; - DBUG_ASSERT(*fmt == '$' && print_arr[idx].width < MAX_ARGS); + assert(*fmt == '$' && print_arr[idx].width < MAX_ARGS); args_arr[print_arr[idx].width].arg_type= 'd'; args_arr[print_arr[idx].width].have_longlong= 0; print_arr[idx].flags|= WIDTH_ARG; @@ -430,7 +430,7 @@ args_arr[i].longlong_arg= va_arg(ap, int); break; default: - DBUG_ASSERT(0); + assert(0); } } /* Print result string */ @@ -509,20 +509,20 @@ length++; to= my_stpnmov(to, print_arr[i].begin, length); } - DBUG_ASSERT(to <= end); + assert(to <= end); *to='\0'; /* End of errmessage */ return to; } else { /* Process next positional argument*/ - DBUG_ASSERT(*fmt == '%'); + assert(*fmt == '%'); print_arr[idx].end= fmt - 1; idx++; fmt++; arg_index= 0; fmt= get_width(fmt, &arg_index); - DBUG_ASSERT(*fmt == '$'); + assert(*fmt == '$'); fmt++; arg_count= MY_MAX(arg_count, arg_index); goto start; @@ -664,7 +664,7 @@ break; *to++='%'; /* % used as % or unknown code */ } - DBUG_ASSERT(to <= end); + assert(to <= end); *to='\0'; /* End of errmessage */ return (size_t) (to - start); } diff -Nru mysql-5.7-5.7.33/strings/str2int.c mysql-5.7-5.7.34/strings/str2int.c --- mysql-5.7-5.7.33/strings/str2int.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/str2int.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, @@ -78,7 +78,7 @@ /* Check that the radix is in the range 2..36 */ -#ifndef DBUG_OFF +#ifndef NDEBUG if (radix < 2 || radix > 36) { errno=EDOM; return NullS; diff -Nru mysql-5.7-5.7.33/strings/str_alloc.c mysql-5.7-5.7.34/strings/str_alloc.c --- mysql-5.7-5.7.33/strings/str_alloc.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/str_alloc.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2005, 2006 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/strappend.c mysql-5.7-5.7.34/strings/strappend.c --- mysql-5.7-5.7.33/strings/strappend.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/strappend.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2006, 2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/strcend.c mysql-5.7-5.7.34/strings/strcend.c --- mysql-5.7-5.7.33/strings/strcend.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/strcend.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/strcont.c mysql-5.7-5.7.34/strings/strcont.c --- mysql-5.7-5.7.33/strings/strcont.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/strcont.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2006, 2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/strend.c mysql-5.7-5.7.34/strings/strend.c --- mysql-5.7-5.7.33/strings/strend.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/strend.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public diff -Nru mysql-5.7-5.7.33/strings/strfill.c mysql-5.7-5.7.34/strings/strfill.c --- mysql-5.7-5.7.33/strings/strfill.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/strfill.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2006, 2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/strmake.c mysql-5.7-5.7.34/strings/strmake.c --- mysql-5.7-5.7.33/strings/strmake.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/strmake.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2003, 2006-2008 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/strnlen.c mysql-5.7-5.7.34/strings/strnlen.c --- mysql-5.7-5.7.33/strings/strnlen.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/strnlen.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2006, 2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/strxmov.c mysql-5.7-5.7.34/strings/strxmov.c --- mysql-5.7-5.7.33/strings/strxmov.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/strxmov.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000-2002, 2006 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This library is free software; you can redistribute it and/or diff -Nru mysql-5.7-5.7.33/strings/strxnmov.c mysql-5.7-5.7.34/strings/strxnmov.c --- mysql-5.7-5.7.33/strings/strxnmov.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/strxnmov.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000-2002, 2005-2007 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms. This library is free software; you can redistribute it and/or diff -Nru mysql-5.7-5.7.33/strings/t_ctype.h mysql-5.7-5.7.34/strings/t_ctype.h --- mysql-5.7-5.7.33/strings/t_ctype.h 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/t_ctype.h 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2000, 2001, 2003 MySQL AB +/* Copyright (c) 2000, 2021, Oracle and/or its affiliates. Use is subject to license terms This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/uca-dump.c mysql-5.7-5.7.34/strings/uca-dump.c --- mysql-5.7-5.7.33/strings/uca-dump.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/uca-dump.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/uctypedump.c mysql-5.7-5.7.34/strings/uctypedump.c --- mysql-5.7-5.7.33/strings/uctypedump.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/uctypedump.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2006, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/strings/utr11-dump.c mysql-5.7-5.7.34/strings/utr11-dump.c --- mysql-5.7-5.7.33/strings/utr11-dump.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/utr11-dump.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2004, 2006 MySQL AB +/* Copyright (c) 2004, 2021, Oracle and/or its affiliates. Use is subject to license terms. This program is free software; you can redistribute it and/or modify diff -Nru mysql-5.7-5.7.33/strings/xml.c mysql-5.7-5.7.34/strings/xml.c --- mysql-5.7-5.7.33/strings/xml.c 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/strings/xml.c 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2003, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/build-tags mysql-5.7-5.7.34/support-files/build-tags --- mysql-5.7-5.7.33/support-files/build-tags 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/build-tags 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/bash -# Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2002, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/CMakeLists.txt mysql-5.7-5.7.34/support-files/CMakeLists.txt --- mysql-5.7-5.7.33/support-files/CMakeLists.txt 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/CMakeLists.txt 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2006, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/compiler_warnings.supp mysql-5.7-5.7.34/support-files/compiler_warnings.supp --- mysql-5.7-5.7.33/support-files/compiler_warnings.supp 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/compiler_warnings.supp 2021-03-26 06:58:52.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2021, Oracle and/or its affiliates. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/dtrace/locktime.d mysql-5.7-5.7.34/support-files/dtrace/locktime.d --- mysql-5.7-5.7.33/support-files/dtrace/locktime.d 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/dtrace/locktime.d 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/sbin/dtrace -s /* - Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/dtrace/query-execandqc.d mysql-5.7-5.7.34/support-files/dtrace/query-execandqc.d --- mysql-5.7-5.7.33/support-files/dtrace/query-execandqc.d 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/dtrace/query-execandqc.d 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/sbin/dtrace -s /* - Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/dtrace/query-filesort-time.d mysql-5.7-5.7.34/support-files/dtrace/query-filesort-time.d --- mysql-5.7-5.7.33/support-files/dtrace/query-filesort-time.d 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/dtrace/query-filesort-time.d 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/sbin/dtrace -s /* - Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/dtrace/query-network-time.d mysql-5.7-5.7.34/support-files/dtrace/query-network-time.d --- mysql-5.7-5.7.33/support-files/dtrace/query-network-time.d 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/dtrace/query-network-time.d 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/sbin/dtrace -s /* - Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/dtrace/query-parse-time.d mysql-5.7-5.7.34/support-files/dtrace/query-parse-time.d --- mysql-5.7-5.7.33/support-files/dtrace/query-parse-time.d 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/dtrace/query-parse-time.d 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/sbin/dtrace -s /* - Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/dtrace/query-rowops.d mysql-5.7-5.7.34/support-files/dtrace/query-rowops.d --- mysql-5.7-5.7.33/support-files/dtrace/query-rowops.d 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/dtrace/query-rowops.d 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/sbin/dtrace -s /* - Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/dtrace/query-time.d mysql-5.7-5.7.34/support-files/dtrace/query-time.d --- mysql-5.7-5.7.33/support-files/dtrace/query-time.d 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/dtrace/query-time.d 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/sbin/dtrace -s /* - Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/dtrace/statement-time.d mysql-5.7-5.7.34/support-files/dtrace/statement-time.d --- mysql-5.7-5.7.33/support-files/dtrace/statement-time.d 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/dtrace/statement-time.d 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/sbin/dtrace -s /* - Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/dtrace/statement-type-aggregate.d mysql-5.7-5.7.34/support-files/dtrace/statement-type-aggregate.d --- mysql-5.7-5.7.33/support-files/dtrace/statement-type-aggregate.d 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/dtrace/statement-type-aggregate.d 2021-03-26 06:58:52.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/sbin/dtrace -s /* - Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2009, 2021, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, diff -Nru mysql-5.7-5.7.33/support-files/MacOSX/Description.plist.sh mysql-5.7-5.7.34/support-files/MacOSX/Description.plist.sh --- mysql-5.7-5.7.33/support-files/MacOSX/Description.plist.sh 2020-12-10 03:01:55.000000000 +0000 +++ mysql-5.7-5.7.34/support-files/MacOSX/Description.plist.sh 2021-03-26 06:58:52.000000000 +0000 @@ -1,7 +1,7 @@