fix conflict

This commit is contained in:
flynn 2023-02-14 13:49:28 +00:00
commit e05b4e9745
563 changed files with 10299 additions and 5747 deletions

View File

@ -2,7 +2,7 @@
name: Debug
'on':
[push, pull_request, release, workflow_dispatch, workflow_call]
[push, pull_request, pull_request_review, release, workflow_dispatch, workflow_call]
jobs:
DebugInfo:

View File

@ -0,0 +1,23 @@
name: PullRequestApprovedCI
env:
# Force the stdout and stderr streams to be unbuffered
PYTHONUNBUFFERED: 1
on: # yamllint disable-line rule:truthy
pull_request_review:
types:
- submitted
jobs:
MergeOnApproval:
runs-on: [self-hosted, style-checker]
steps:
- name: Check out repository code
uses: ClickHouse/checkout@v1
with:
clear-repository: true
- name: Merge approved PR
run: |
cd "$GITHUB_WORKSPACE/tests/ci"
python3 merge_pr.py --check-approved

View File

@ -476,7 +476,12 @@ enable_testing() # Enable for tests without binary
option(ENABLE_OPENSSL "This option performs a build with OpenSSL. NOTE! This option is insecure and should never be used. By default, ClickHouse uses and only supports BoringSSL" OFF)
option(ENABLE_OPENSSL_DYNAMIC "This option removes SSL from ClickHouse and will link to the OpenSSL version supplied by OS." OFF)
if (ARCH_S390X)
set(ENABLE_OPENSSL_DYNAMIC_DEFAULT ON)
else ()
set(ENABLE_OPENSSL_DYNAMIC_DEFAULT OFF)
endif ()
option(ENABLE_OPENSSL_DYNAMIC "This option removes SSL from ClickHouse and will link to the OpenSSL version supplied by OS." ${ENABLE_OPENSSL_DYNAMIC_DEFAULT})
# when installing to /usr - place configs to /etc but for /usr/local place to /usr/local/etc
if (CMAKE_INSTALL_PREFIX STREQUAL "/usr")

View File

@ -84,7 +84,10 @@ if (OS MATCHES "Linux"
set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-aarch64.cmake" CACHE INTERNAL "")
elseif (ARCH MATCHES "^(ppc64le.*|PPC64LE.*)")
set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-ppc64le.cmake" CACHE INTERNAL "")
elseif (ARCH MATCHES "^(s390x.*|S390X.*)")
set (CMAKE_TOOLCHAIN_FILE "cmake/linux/toolchain-s390x.cmake" CACHE INTERNAL "")
else ()
message (FATAL_ERROR "Unsupported architecture: ${ARCH}")
endif ()
endif()

View File

@ -15,7 +15,13 @@ ClickHouse® is an open-source column-oriented database management system that a
* [Code Browser (github.dev)](https://github.dev/ClickHouse/ClickHouse) with syntax highlight, powered by github.dev.
* [Contacts](https://clickhouse.com/company/contact) can help to get your questions answered if there are any.
## Events
## Upcoming Events
* [**ClickHouse Workshop**](https://clickhouse.com/company/events/2023-02-15-clickhouse-workshop?utm_source=github&utm_medium=social&utm_campaign=workshop) - Feb 15 & 16 - In this 2-day (3 hrs per day) free training, topics range from introductory content to a deep dive on interacting with and understanding your data. There will be both live training and hands-on labs.
* [**v23.2 Release Webinar**](https://clickhouse.com/company/events/v23-2-release-webinar?utm_source=github&utm_medium=social&utm_campaign=release-webinar-2023-02) - Feb 23 - 23.2 is rapidly approaching. Original creator, co-founder, and CTO of ClickHouse Alexey Milovidov will walk us through the highlights of the release.
* [**ClickHouse Meetup in Amsterdam**](https://www.meetup.com/clickhouse-netherlands-user-group/events/291485868/) - Mar 9 - The first ClickHouse Amsterdam Meetup of 2023 is here! 🎉 Join us for short lightning talks and long discussions. Food, drinks & good times on us.
* [**ClickHouse Meetup in SF Bay Area**](https://www.meetup.com/clickhouse-silicon-valley-meetup-group/events/291490121/) - Mar 14 - A night to meet with ClickHouse team in the San Francisco area! Food and drink are a given...but networking is the primary focus.
* [**ClickHouse Meetup in Austin**](https://www.meetup.com/clickhouse-austin-user-group/events/291486654/) - Mar 16 - The first ClickHouse Meetup in Austin is happening soon! Interested in speaking, let us know!
## Recent Recordings
* **FOSDEM 2023**: In the "Fast and Streaming Data" room Alexey gave a talk entitled "Building Analytical Apps With ClickHouse" that looks at the landscape of data tools, an interesting data set, and how you can interact with data quickly. Check out the recording on **[YouTube](https://www.youtube.com/watch?v=JlcI2Vfz_uk)**.
* **Recording available**: [**v23.1 Release Webinar**](https://www.youtube.com/watch?v=zYSZXBnTMSE) 23.1 is the ClickHouse New Year release. Original creator, co-founder, and CTO of ClickHouse Alexey Milovidov will walk us through the highlights of the release. Inverted indices, query cache, and so -- very -- much more.
* **Recording available**: [**ClickHouse Meetup at the CHEQ office in Tel Aviv**](https://www.meetup.com/clickhouse-tel-aviv-user-group/events/289599423/) - We are very excited to be holding our next in-person ClickHouse meetup at the CHEQ office in Tel Aviv! Hear from CHEQ, ServiceNow and Contentsquare, as well as a deep dive presentation from ClickHouse CTO Alexey Milovidov. Join us for a fun evening of talks, food and discussion!

View File

@ -28,8 +28,8 @@
#define NO_INLINE __attribute__((__noinline__))
#define MAY_ALIAS __attribute__((__may_alias__))
#if !defined(__x86_64__) && !defined(__aarch64__) && !defined(__PPC__) && !(defined(__riscv) && (__riscv_xlen == 64))
# error "The only supported platforms are x86_64 and AArch64, PowerPC (work in progress) and RISC-V 64 (experimental)"
#if !defined(__x86_64__) && !defined(__aarch64__) && !defined(__PPC__) && !defined(__s390x__) && !(defined(__riscv) && (__riscv_xlen == 64))
# error "The only supported platforms are x86_64 and AArch64, PowerPC (work in progress), s390x (work in progress) and RISC-V 64 (experimental)"
#endif
/// Check for presence of address sanitizer

View File

@ -1,8 +1,8 @@
/** Origin: musl-libc /src/math/exp10.c
* https://www.musl-libc.org/
* http://git.musl-libc.org/cgit/musl/tree/src/math/exp10.c
*/
/*
https://www.musl-libc.org/
http://git.musl-libc.org/cgit/musl/tree/src/math/exp10.c
musl as a whole is licensed under the following standard MIT license:
----------------------------------------------------------------------
@ -27,146 +27,6 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
----------------------------------------------------------------------
Authors/contributors include:
Alex Dowad
Alexander Monakov
Anthony G. Basile
Arvid Picciani
Bobby Bingham
Boris Brezillon
Brent Cook
Chris Spiegel
Clément Vasseur
Daniel Micay
Denys Vlasenko
Emil Renner Berthing
Felix Fietkau
Felix Janda
Gianluca Anzolin
Hauke Mehrtens
Hiltjo Posthuma
Isaac Dunham
Jaydeep Patil
Jens Gustedt
Jeremy Huntwork
Jo-Philipp Wich
Joakim Sindholt
John Spencer
Josiah Worcester
Justin Cormack
Khem Raj
Kylie McClain
Luca Barbato
Luka Perkov
M Farkas-Dyck (Strake)
Mahesh Bodapati
Michael Forney
Natanael Copa
Nicholas J. Kain
orc
Pascal Cuoq
Petr Hosek
Pierre Carrier
Rich Felker
Richard Pennington
Shiz
sin
Solar Designer
Stefan Kristiansson
Szabolcs Nagy
Timo Teräs
Trutz Behn
Valentin Ochs
William Haddon
Portions of this software are derived from third-party works licensed
under terms compatible with the above MIT license:
The TRE regular expression implementation (src/regex/reg* and
src/regex/tre*) is Copyright © 2001-2008 Ville Laurikari and licensed
under a 2-clause BSD license (license text in the source files). The
included version has been heavily modified by Rich Felker in 2012, in
the interests of size, simplicity, and namespace cleanliness.
Much of the math library code (src/math/ * and src/complex/ *) is
Copyright © 1993,2004 Sun Microsystems or
Copyright © 2003-2011 David Schultz or
Copyright © 2003-2009 Steven G. Kargl or
Copyright © 2003-2009 Bruce D. Evans or
Copyright © 2008 Stephen L. Moshier
and labelled as such in comments in the individual source files. All
have been licensed under extremely permissive terms.
The ARM memcpy code (src/string/arm/memcpy_el.S) is Copyright © 2008
The Android Open Source Project and is licensed under a two-clause BSD
license. It was taken from Bionic libc, used on Android.
The implementation of DES for crypt (src/crypt/crypt_des.c) is
Copyright © 1994 David Burren. It is licensed under a BSD license.
The implementation of blowfish crypt (src/crypt/crypt_blowfish.c) was
originally written by Solar Designer and placed into the public
domain. The code also comes with a fallback permissive license for use
in jurisdictions that may not recognize the public domain.
The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011
Valentin Ochs and is licensed under an MIT-style license.
The BSD PRNG implementation (src/prng/random.c) and XSI search API
(src/search/ *.c) functions are Copyright © 2011 Szabolcs Nagy and
licensed under following terms: "Permission to use, copy, modify,
and/or distribute this code for any purpose with or without fee is
hereby granted. There is no warranty."
The x86_64 port was written by Nicholas J. Kain and is licensed under
the standard MIT terms.
The mips and microblaze ports were originally written by Richard
Pennington for use in the ellcc project. The original code was adapted
by Rich Felker for build system and code conventions during upstream
integration. It is licensed under the standard MIT terms.
The mips64 port was contributed by Imagination Technologies and is
licensed under the standard MIT terms.
The powerpc port was also originally written by Richard Pennington,
and later supplemented and integrated by John Spencer. It is licensed
under the standard MIT terms.
All other files which have no copyright comments are original works
produced specifically for use as part of this library, written either
by Rich Felker, the main author of the library, or by one or more
contibutors listed above. Details on authorship of individual files
can be found in the git version control history of the project. The
omission of copyright and license comments in each file is in the
interest of source tree size.
In addition, permission is hereby granted for all public header files
(include/ * and arch/ * /bits/ *) and crt files intended to be linked into
applications (crt/ *, ldso/dlstart.c, and arch/ * /crt_arch.h) to omit
the copyright notice and permission notice otherwise required by the
license, and to use these files without any requirement of
attribution. These files include substantial contributions from:
Bobby Bingham
John Spencer
Nicholas J. Kain
Rich Felker
Richard Pennington
Stefan Kristiansson
Szabolcs Nagy
all of whom have explicitly granted such permission.
This file previously contained text expressing a belief that most of
the files covered by the above exception were sufficiently trivial not
to be subject to copyright, resulting in confusion over whether it
negated the permissions granted in the license. In the spirit of
permissive licensing, and of not having licensing issues being an
obstacle to adoption, that text has been removed.
*/
#include <cmath>

View File

@ -3,9 +3,9 @@
/** exp10 from GNU libm fails to give precise result for integer arguments.
* For example, exp10(3) gives 1000.0000000000001
* despite the fact that 1000 is exactly representable in double and float.
* Better to always use implementation from MUSL.
* Better to always use our own implementation based on a MUSL's one.
*
* Note: the function names are different to avoid confusion with symbols from the system libm.
* Note: the function name is different to avoid confusion with symbols from the system libm.
*/
double preciseExp10(double x);

View File

@ -360,7 +360,7 @@ struct integer<Bits, Signed>::_impl
constexpr const unsigned to_copy = min_bits / base_bits;
for (unsigned i = 0; i < to_copy; ++i)
self.items[little(i)] = rhs.items[little(i)];
self.items[little(i)] = rhs.items[integer<Bits2, Signed2>::_impl::little(i)];
if constexpr (Bits > Bits2)
{

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,3 @@
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
add_subdirectory (Crypto)
add_subdirectory (Data)
add_subdirectory (Data/ODBC)

View File

@ -1,52 +0,0 @@
Guenter Obiltschnig
Alex Fabijanic
Peter Schojer
Ferdinand Beyer
Krzysztof Burghardt
Claus Dabringer
Caleb Epstein
Eran Hammer-Lahav
Chris Johnson
Sergey Kholodilov
Ryan Kraay
Larry Lewis
Andrew J. P. Maclean
Andrew Marlow
Paschal Mushubi
Jiang Shan
David Shawley
Sergey Skorokhodov
Tom Tan
Sergey N. Yatskevich
Marc Chevrier
Philippe Cuvillier
Marian Krivos
Franky Braem
Philip Prindeville
Anton Yabchinskiy
Rangel Reale
Fabrizio Duhem
Patrick White
Mike Naquin
Roger Meier
Mathaus Mendel
Arturo Castro
Adrian Imboden
Matej Knopp
Patrice Tarabbia
Lucas Clemente
Karl Reid
Pascal Bach
Cristian Thiago Moecke
Sergei Nikulov
Aaron Kaluszka
Iyed Bennour
Scott Davis
Kristin Cowalcijk
Yuval Kashtan
Christopher Baker
Scott Davis
Jeff Adams
Martin Osborne
Björn Schramke
Francis Andre

View File

@ -4,7 +4,24 @@ if (ENABLE_SSL)
add_library (_poco_crypto ${SRCS})
add_library (Poco::Crypto ALIAS _poco_crypto)
target_compile_options (_poco_crypto PRIVATE -Wno-newline-eof)
# TODO: remove these warning exclusions
target_compile_options (_poco_crypto
PRIVATE
-Wno-covered-switch-default
-Wno-deprecated-dynamic-exception-spec
-Wno-extra-semi-stmt
-Wno-missing-noreturn
-Wno-newline-eof
-Wno-old-style-cast
-Wno-shadow
-Wno-shorten-64-to-32
-Wno-sign-compare
-Wno-suggest-destructor-override
-Wno-suggest-override
-Wno-unreachable-code-return
-Wno-unused-parameter
-Wno-zero-as-null-pointer-constant
)
target_include_directories (_poco_crypto SYSTEM PUBLIC "include")
target_link_libraries (_poco_crypto PUBLIC Poco::Foundation OpenSSL::SSL OpenSSL::Crypto)

View File

@ -23,7 +23,6 @@
#include "Poco/Crypto/KeyPair.h"
#include "Poco/Crypto/ECKeyImpl.h"
namespace Poco {
namespace Crypto {
@ -52,7 +51,7 @@ public:
/// Extracts the EC private key from the given certificate.
ECKey(const std::string& eccGroup);
/// Creates the ECKey. Creates a new public/private keypair using the given parameters.
/// Creates the ECKey. Creates a new public/private key pair using the given parameters.
/// Can be used to sign data and verify signatures.
ECKey(const std::string& publicKeyFile, const std::string& privateKeyFile, const std::string& privateKeyPassphrase = "");

View File

@ -126,7 +126,7 @@ public:
/// key is not exported.
int type() const;
/// Retuns the EVPPKey type NID.
/// Returns the EVPPKey type NID.
bool isSupported(int type) const;
/// Returns true if OpenSSL type is supported

View File

@ -42,7 +42,7 @@ namespace Crypto {
class Crypto_API OpenSSLInitializer
/// Initalizes the OpenSSL library.
/// Initializes the OpenSSL library.
///
/// The class ensures the earliest initialization and the
/// latest shutdown of the OpenSSL library.

View File

@ -111,7 +111,7 @@ int CryptoStreamBuf::readFromDevice(char* buffer, std::streamsize length)
{
int m = (static_cast<int>(length) - count)/2 - static_cast<int>(_pTransform->blockSize());
// Make sure we can read at least one more block. Explicitely check
// Make sure we can read at least one more block. Explicitly check
// for m < 0 since blockSize() returns an unsigned int and the
// comparison might give false results for m < 0.
if (m <= 0)

View File

@ -142,7 +142,7 @@ void X509Certificate::load(const std::string& path)
_pCert = PEM_read_bio_X509(pBIO, 0, 0, 0);
BIO_free(pBIO);
if (!_pCert) throw Poco::ReadFileException("Faild to load certificate from", path);
if (!_pCert) throw Poco::ReadFileException("Failed to load certificate from", path);
init();
}

View File

@ -3,5 +3,18 @@ file (GLOB SRCS src/*.cpp)
add_library (_poco_data ${SRCS})
add_library (Poco::Data ALIAS _poco_data)
# TODO: remove these warning exclusions
target_compile_options (_poco_data
PRIVATE
-Wno-comma
-Wno-covered-switch-default
-Wno-deprecated-dynamic-exception-spec
-Wno-extra-semi-stmt
-Wno-old-style-cast
-Wno-shorten-64-to-32
-Wno-sign-compare
-Wno-unused-parameter
-Wno-zero-as-null-pointer-constant
)
target_include_directories (_poco_data SYSTEM PUBLIC "include")
target_link_libraries (_poco_data PUBLIC Poco::Foundation)

View File

@ -23,7 +23,20 @@ if (ENABLE_ODBC)
add_library (_poco_data_odbc ${SRCS})
add_library (Poco::Data::ODBC ALIAS _poco_data_odbc)
target_compile_options (_poco_data_odbc PRIVATE -Wno-unused-variable)
# TODO: remove these warning exclusions
target_compile_options (_poco_data_odbc
PRIVATE
-Wno-cast-qual
-Wno-deprecated-dynamic-exception-spec
-Wno-extra-semi-stmt
-Wno-old-style-cast
-Wno-sign-compare
-Wno-tautological-constant-out-of-range-compare
-Wno-tautological-unsigned-zero-compare
-Wno-unused-parameter
-Wno-unused-variable
-Wno-zero-as-null-pointer-constant
)
target_include_directories (_poco_data_odbc SYSTEM PUBLIC "include")
target_link_libraries (_poco_data_odbc PUBLIC Poco::Data ch_contrib::unixodbc)

View File

@ -557,7 +557,7 @@ private:
if (size == _maxFieldSize)
{
getMinValueSize(val, size);
// accomodate for terminating zero
// accommodate for terminating zero
if (size != _maxFieldSize) ++size;
}
@ -623,7 +623,7 @@ private:
if (size == _maxFieldSize)
{
getMinValueSize(val, size);
// accomodate for terminating zero
// accommodate for terminating zero
if (size != _maxFieldSize) size += sizeof(UTF16Char);
}
@ -942,9 +942,9 @@ private:
/// This function runs for query and stored procedure parameters (in and
/// out-bound). Some drivers, however, do not care about knowing this
/// information to start with. For that reason, after all the attempts
/// to discover the required values are unsuccesfully exhausted, the values
/// to discover the required values are unsuccessfully exhausted, the values
/// are both set to zero and no exception is thrown.
/// However, if the colSize is succesfully retrieved and it is greater than
/// However, if the colSize is successfully retrieved and it is greater than
/// session-wide maximum allowed field size, LengthExceededException is thrown.
void setParamSetSize(std::size_t length);

View File

@ -31,7 +31,7 @@
// from a DLL simpler. All files within this DLL are compiled with the ODBC_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// ODBC_API functions as being imported from a DLL, wheras this DLL sees symbols
// ODBC_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
//
#if defined(_WIN32) && defined(POCO_DLL)

View File

@ -57,7 +57,7 @@ public:
bool autoBind = true,
bool autoExtract = true);
/// Creates the SessionImpl. Opens a connection to the database.
/// Throws NotConnectedException if connection was not succesful.
/// Throws NotConnectedException if connection was not successful.
//@ deprecated
SessionImpl(const std::string& connect,

View File

@ -39,7 +39,7 @@ class ODBC_API TypeInfo
///
/// This class provides mapping between C and SQL datatypes as well
/// as datatypes supported by the underlying database. In order for database
/// types to be available, a valid conection handle must be supplied at either
/// types to be available, a valid connection handle must be supplied at either
/// object construction time, or at a later point in time, through call to
/// fillTypeInfo member function.
///

View File

@ -382,7 +382,7 @@ std::string ODBCStatementImpl::nativeSQL()
delete [] pNative;
throw ConnectionException(_rConnection, "SQLNativeSql()");
}
++retlen;//accomodate for terminating '\0'
++retlen;//accommodate for terminating '\0'
}while (retlen > length);
std::string sql(pNative);

View File

@ -156,7 +156,7 @@ std::size_t Preparator::maxDataSize(std::size_t pos) const
ODBCMetaColumn mc(_rStmt, pos);
sz = mc.length();
// accomodate for terminating zero (non-bulk only!)
// accommodate for terminating zero (non-bulk only!)
MetaColumn::ColumnDataType type = mc.type();
if (!isBulk() && ((ODBCMetaColumn::FDT_WSTRING == type) || (ODBCMetaColumn::FDT_STRING == type))) ++sz;
}

View File

@ -170,7 +170,7 @@ public:
/// Binds a long.
virtual void bind(std::size_t pos, const unsigned long& val, Direction dir = PD_IN) = 0;
/// Binds an unsiged long.
/// Binds an unsigned long.
virtual void bind(std::size_t pos, const std::vector<long>& val, Direction dir = PD_IN);
/// Binds a long vector.

View File

@ -138,7 +138,7 @@ public:
bool isValueNull(const std::string& str, bool deflt);
/// Overload for const reference to std::string.
///
/// Returns true when folowing conditions are met:
/// Returns true when following conditions are met:
///
/// - string is empty
/// - getEmptyStringIsNull() returns true
@ -146,7 +146,7 @@ public:
bool isValueNull(const Poco::UTF16String& str, bool deflt);
/// Overload for const reference to UTF16String.
///
/// Returns true when folowing conditions are met:
/// Returns true when following conditions are met:
///
/// - string is empty
/// - getEmptyStringIsNull() returns true

View File

@ -1472,7 +1472,7 @@ inline AbstractBindingVec& io(AbstractBindingVec& bv)
template <typename T>
inline AbstractBinding::Ptr bind(T t, const std::string& name)
/// Convenience function for a more compact Binding creation.
/// This funtion differs from use() in its value copy semantics.
/// This function differs from use() in its value copy semantics.
{
return new CopyBinding<T>(t, name, AbstractBinding::PD_IN);
}
@ -1481,7 +1481,7 @@ inline AbstractBinding::Ptr bind(T t, const std::string& name)
template <typename T>
inline AbstractBinding::Ptr bind(T t)
/// Convenience function for a more compact Binding creation.
/// This funtion differs from use() in its value copy semantics.
/// This function differs from use() in its value copy semantics.
{
return Poco::Data::Keywords::bind(t, "");
}

View File

@ -39,10 +39,10 @@ public:
/// Destroys the bulk.
const Limit& limit() const;
/// Returns the limit asociated with this bulk object.
/// Returns the limit associated with this bulk object.
Poco::UInt32 size() const;
/// Returns the value of the limit asociated with
/// Returns the value of the limit associated with
/// this bulk object.
private:

View File

@ -138,7 +138,7 @@ class InternalBulkExtraction: public BulkExtraction<C>
/// Container Data Type specialization extension for extraction of values from a query result set.
///
/// This class is intended for PocoData internal use - it is used by StatementImpl
/// to automaticaly create internal BulkExtraction in cases when statement returns data and no external storage
/// to automatically create internal BulkExtraction in cases when statement returns data and no external storage
/// was supplied. It is later used by RecordSet to retrieve the fetched data after statement execution.
/// It takes ownership of the Column pointer supplied as constructor argument. Column object, in turn
/// owns the data container pointer.

View File

@ -28,7 +28,7 @@
// from a DLL simpler. All files within this DLL are compiled with the Data_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// Data_API functions as being imported from a DLL, wheras this DLL sees symbols
// Data_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
//
#if defined(_WIN32) && defined(POCO_DLL)

View File

@ -496,7 +496,7 @@ class InternalExtraction: public Extraction<C>
/// Container Data Type specialization extension for extraction of values from a query result set.
///
/// This class is intended for PocoData internal use - it is used by StatementImpl
/// to automaticaly create internal Extraction in cases when statement returns data and no external storage
/// to automatically create internal Extraction in cases when statement returns data and no external storage
/// was supplied. It is later used by RecordSet to retrieve the fetched data after statement execution.
/// It takes ownership of the Column pointer supplied as constructor argument. Column object, in turn
/// owns the data container pointer.

View File

@ -63,7 +63,7 @@ class Data_API RecordSet: private Statement
///
/// The third (optional) argument passed to the Recordset constructor is a RowFormatter
/// implementation. The formatter is used in conjunction with << operator for recordset
/// data formating.
/// data formatting.
///
/// The number of rows in the RecordSet can be limited by specifying
/// a limit for the Statement.

View File

@ -177,13 +177,13 @@ public:
/// Converts the column names to string.
void formatNames() const;
/// Fomats the column names.
/// Formats the column names.
const std::string& valuesToString() const;
/// Converts the row values to string and returns the formated string.
/// Converts the row values to string and returns the formatted string.
void formatValues() const;
/// Fomats the row values.
/// Formats the row values.
bool operator == (const Row& other) const;
/// Equality operator.

View File

@ -49,7 +49,7 @@ class Data_API RowFormatter
/// Statement always has the ownership of the row formatter and shares
/// it with rows through RecordSet.
///
/// To accomodate for various formatting needs, a formatter can operate in two modes:
/// To accommodate for various formatting needs, a formatter can operate in two modes:
///
/// - progressive: formatted individual row strings are gemerated and returned from each
/// call to formatValues;
@ -63,7 +63,7 @@ class Data_API RowFormatter
/// void formatValues(const ValueVec&) member calls should be used in this case
///
/// When formatter is used in conjunction with Row/RecordSet, the formatting members corresponding
/// to the formater mode are expected to be implemented. If a call is propagated to this parent
/// to the formatter mode are expected to be implemented. If a call is propagated to this parent
/// class, the functions do nothing or silently return empty string respectively.
///
{
@ -132,7 +132,7 @@ public:
/// to empty strings and row count to INVALID_ROW_COUNT.
Mode getMode() const;
/// Returns the formater mode.
/// Returns the formatter mo
void setMode(Mode mode);
/// Sets the fromatter mode.

View File

@ -50,12 +50,12 @@ class Data_API SQLChannel: public Poco::Channel
///
/// The table name is configurable through "table" property.
/// Other than DateTime filed name used for optiona time-based archiving purposes, currently the
/// field names are not mandated. However, it is recomended to use names as specified above.
/// field names are not mandated. However, it is recommended to use names as specified above.
///
/// To provide as non-intrusive operation as possbile, the log entries are cached and
/// To provide as non-intrusive operation as possible, the log entries are cached and
/// inserted into the target database asynchronously by default . The blocking, however, will occur
/// before the next entry insertion with default timeout of 1 second. The default settings can be
/// overriden (see async, timeout and throw properties for details).
/// overridden (see async, timeout and throw properties for details).
/// If throw property is false, insertion timeouts are ignored, otherwise a TimeoutException is thrown.
/// To force insertion of every entry, set timeout to 0. This setting, however, introduces
/// a risk of long blocking periods in case of remote server communication delays.
@ -102,8 +102,8 @@ public:
/// Table must exist in the target database. To disable archiving,
/// set this property to empty string.
///
/// * async: Indicates asynchronous execution. When excuting asynchronously,
/// messages are sent to the target using asyncronous execution.
/// * async: Indicates asynchronous execution. When executing asynchronously,
/// messages are sent to the target using asynchronous execution.
/// However, prior to the next message being processed and sent to
/// the target, the previous operation must have been either completed
/// or timed out (see timeout and throw properties for details on
@ -123,7 +123,7 @@ public:
std::size_t wait();
/// Waits for the completion of the previous operation and returns
/// the result. If chanel is in synchronous mode, returns 0 immediately.
/// the result. If channel is in synchronous mode, returns 0 immediately.
static void registerChannel();
/// Registers the channel with the global LoggingFactory.
@ -156,7 +156,7 @@ private:
void logAsync(const Message& msg);
/// Waits for previous operation completion and
/// calls logSync(). If the previous operation times out,
/// and _throw is true, TimeoutException is thrown, oterwise
/// and _throw is true, TimeoutException is thrown, otherwise
/// the timeout is ignored and log entry is lost.
void logSync(const Message& msg);

View File

@ -76,7 +76,7 @@ class Data_API Session
/// The above example assigns the variable i to the ":data" placeholder in the SQL query. The query is parsed and compiled exactly
/// once, but executed 100 times. At the end the values 0 to 99 will be present in the Table "DUMMY".
///
/// A faster implementaton of the above code will simply create a vector of int
/// A faster implementation of the above code will simply create a vector of int
/// and use the vector as parameter to the use clause (you could also use set or multiset instead):
///
/// std::vector<int> data;
@ -200,7 +200,7 @@ public:
/// reconnect a disconnected session.
/// If the connection is not established,
/// a ConnectionFailedException is thrown.
/// Zero timout means indefinite
/// Zero timeout means indefinite
void close();
/// Closes the session.

View File

@ -65,7 +65,7 @@ public:
/// a disconnected session.
/// If the connection is not established within requested timeout
/// (specified in seconds), a ConnectionFailedException is thrown.
/// Zero timout means indefinite
/// Zero timeout means indefinite
virtual void close() = 0;
/// Closes the connection.

View File

@ -66,7 +66,7 @@ class Data_API Statement
///
/// See individual functions documentation for more details.
///
/// Statement owns the RowFormatter, which can be provided externaly through setFormatter()
/// Statement owns the RowFormatter, which can be provided externally through setFormatter()
/// member function.
/// If no formatter is externally supplied to the statement, the SimpleRowFormatter is lazy
/// created and used.

View File

@ -33,7 +33,7 @@ class Data_API StatementCreator
{
public:
StatementCreator();
/// Creates an unitialized StatementCreator.
/// Creates an uninitialized StatementCreator.
StatementCreator(Poco::AutoPtr<SessionImpl> ptrImpl);
/// Creates a StatementCreator.

View File

@ -129,7 +129,7 @@ public:
/// affected for all other statements (insert, update, delete).
/// If reset is true (default), the underlying bound storage is
/// reset and reused. In case of containers, this means they are
/// cleared and resized to accomodate the number of rows returned by
/// cleared and resized to accommodate the number of rows returned by
/// this execution step. When reset is false, data is appended to the
/// bound containers during multiple execute calls.
@ -182,7 +182,7 @@ protected:
virtual std::size_t next() = 0;
/// Retrieves the next row or set of rows from the resultset and
/// returns the number of rows retreved.
/// returns the number of rows retrieved.
///
/// Will throw, if the resultset is empty.
/// Expects the statement to be compiled and bound.
@ -279,7 +279,7 @@ protected:
/// usually the case when stored procedures are called). In such cases
/// no storage is needed because output parameters serve as storage.
/// At the Data framework level, this function always returns false.
/// When connector-specific behavior is desired, it should be overriden
/// When connector-specific behavior is desired, it should be overridden
/// by the statement implementation.
std::size_t currentDataSet() const;

View File

@ -54,7 +54,7 @@ public:
/// reference as an argument.
///
/// When transaction is created using this constructor, it is executed and
/// commited automatically. If no error occurs, rollback is disabled and does
/// committed automatically. If no error occurs, rollback is disabled and does
/// not occur at destruction time. If an error occurs resulting in exception being
/// thrown, the transaction is rolled back and exception propagated to calling code.
///
@ -82,7 +82,7 @@ public:
~Transaction();
/// Destroys the Transaction.
/// Rolls back the current database transaction if it has not been commited
/// Rolls back the current database transaction if it has not been committed
/// (by calling commit()), or rolled back (by calling rollback()).
///
/// If an exception is thrown during rollback, the exception is logged
@ -109,7 +109,7 @@ public:
void execute(const std::vector<std::string>& sql);
/// Executes all the SQL statements supplied in the vector and, after the last
/// one is sucesfully executed, commits the transaction.
/// one is successfully executed, commits the transaction.
/// If an error occurs during execution, transaction is rolled back.
/// Passing true value for commit disables rollback during destruction
/// of this Transaction object.

View File

@ -23,7 +23,6 @@
#include "Poco/SharedPtr.h"
#include "Poco/DateTime.h"
#include "Poco/Exception.h"
#include "Poco/Data/DataException.h"
using Poco::icompare;

View File

@ -5,7 +5,21 @@ file (GLOB SRCS_PCRE src/pcre_*.c)
add_library (_poco_foundation_pcre ${SRCS_PCRE})
add_library (Poco::Foundation::PCRE ALIAS _poco_foundation_pcre)
target_compile_options (_poco_foundation_pcre PRIVATE -Wno-sign-compare)
# TODO: remove these warning exclusions
target_compile_options (_poco_foundation_pcre
PRIVATE
-Wno-cast-align
-Wno-cast-qual
-Wno-comma
-Wno-conditional-uninitialized
-Wno-extra-semi-stmt
-Wno-implicit-fallthrough
-Wno-reserved-identifier
-Wno-sign-compare
-Wno-unknown-pragmas
-Wno-unreachable-code-break
-Wno-unused-macros
)
# Foundation
@ -169,21 +183,39 @@ set (SRCS
add_library (_poco_foundation ${SRCS})
add_library (Poco::Foundation ALIAS _poco_foundation)
# TODO: remove these warning exclusions
target_compile_options (_poco_foundation
PRIVATE
-Wno-array-bounds
-Wno-atomic-implicit-seq-cst
-Wno-cast-align
-Wno-cast-qual
-Wno-class-varargs
-Wno-covered-switch-default
-Wno-deprecated
-Wno-extra-semi-stmt
-Wno-zero-as-null-pointer-constant
-Wno-implicit-fallthrough
-Wno-implicit-int-float-conversion
-Wno-misleading-indentation
-Wno-missing-noreturn
-Wno-old-style-cast
-Wno-redundant-parens
-Wno-reserved-identifier
-Wno-reserved-macro-identifier
-Wno-shadow
-Wno-shorten-64-to-32
-Wno-sign-compare
-Wno-suggest-destructor-override
-Wno-suggest-override
-Wno-tautological-unsigned-zero-compare
-Wno-thread-safety-analysis
-Wno-thread-safety-negative
)
target_compile_options (_poco_foundation
PRIVATE
-Wno-sign-compare
-Wno-undef
-Wno-unreachable-code-return
-Wno-unused-exception-parameter
-Wno-unused-macros
-Wno-unused-parameter
-Wno-zero-as-null-pointer-constant
)
target_compile_definitions (_poco_foundation

View File

@ -55,7 +55,8 @@ public:
initialize();
}
AbstractCache(const TStrategy& strat): _strategy(strat)
AbstractCache(const TStrategy & strategy)
: _strategy(strategy)
{
initialize();
}
@ -85,7 +86,7 @@ public:
/// If for the key already an entry exists, it will be overwritten.
/// The difference to add is that no remove or add events are thrown in this case,
/// just a simply silent update is performed
/// If the key doesnot exist the behavior is equal to add, ie. an add event is thrown
/// If the key does not exist the behavior is equal to add, ie. an add event is thrown
{
typename TMutex::ScopedLock lock(_mutex);
doUpdate(key, val);
@ -105,7 +106,7 @@ public:
/// If for the key already an entry exists, it will be overwritten.
/// The difference to add is that no remove or add events are thrown in this case,
/// just an Update is thrown
/// If the key doesnot exist the behavior is equal to add, ie. an add event is thrown
/// If the key does not exist the behavior is equal to add, ie. an add event is thrown
{
typename TMutex::ScopedLock lock(_mutex);
doUpdate(key, val);

View File

@ -158,9 +158,9 @@ public:
{
}
AbstractEvent(const TStrategy& strat):
AbstractEvent(const TStrategy& strategy):
_executeAsync(this, &AbstractEvent::executeAsyncImpl),
_strategy(strat),
_strategy(strategy),
_enabled(true)
{
}
@ -251,7 +251,7 @@ public:
ActiveResult<TArgs> notifyAsync(const void* pSender, const TArgs& args)
/// Sends a notification to all registered delegates. The order is
/// determined by the TStrategy. This method is not blocking and will
/// immediately return. The delegates are invoked in a seperate thread.
/// immediately return. The delegates are invoked in a separate thread.
/// Call activeResult.wait() to wait until the notification has ended.
/// While executing, other objects can change the delegate list. These changes don't
/// influence the current active notifications but are activated with
@ -364,9 +364,9 @@ public:
{
}
AbstractEvent(const TStrategy& strat):
AbstractEvent(const TStrategy& strategy):
_executeAsync(this, &AbstractEvent::executeAsyncImpl),
_strategy(strat),
_strategy(strategy),
_enabled(true)
{
}
@ -453,7 +453,7 @@ public:
ActiveResult<void> notifyAsync(const void* pSender)
/// Sends a notification to all registered delegates. The order is
/// determined by the TStrategy. This method is not blocking and will
/// immediately return. The delegates are invoked in a seperate thread.
/// immediately return. The delegates are invoked in a separate thread.
/// Call activeResult.wait() to wait until the notification has ended.
/// While executing, other objects can change the delegate list. These changes don't
/// influence the current active notifications but are activated with

View File

@ -67,7 +67,7 @@ public:
virtual void onReplace(const void* pSender, std::set<TKey>& elemsToRemove) = 0;
/// Used by the Strategy to indicate which elements should be removed from
/// the cache. Note that onReplace does not change the current list of keys.
/// The cache object is reponsible to remove the elements.
/// The cache object is responsible to remove the elements.
};

View File

@ -201,7 +201,7 @@ public:
Any& swap(Any& other)
/// Swaps the content of the two Anys.
///
/// When small object optimizaton is enabled, swap only
/// When small object optimization is enabled, swap only
/// has no-throw guarantee when both (*this and other)
/// objects are allocated on the heap.
{

View File

@ -29,7 +29,7 @@ template <class C>
class AutoReleasePool
/// An AutoReleasePool implements simple garbage collection for
/// reference-counted objects.
/// It temporarily takes ownwership of reference-counted objects that
/// It temporarily takes ownership of reference-counted objects that
/// nobody else wants to take ownership of and releases them
/// at a later, appropriate point in time.
///

View File

@ -43,7 +43,7 @@ class Foundation_API BinaryWriter
/// data type sizes (e.g., 32-bit and 64-bit architectures), as the sizes
/// of some of the basic types may be different. For example, writing a
/// long integer on a 64-bit system and reading it on a 32-bit system
/// may yield an incorrent result. Use fixed-size types (Int32, Int64, etc.)
/// may yield an incorrect result. Use fixed-size types (Int32, Int64, etc.)
/// in such a case.
{
public:

View File

@ -28,7 +28,7 @@ class Foundation_API Clock
/// A Clock stores a monotonic* clock value
/// with (theoretical) microseconds resolution.
/// Clocks can be compared with each other
/// and simple arithmetics are supported.
/// and simple arithmetic are supported.
///
/// [*] Note that Clock values are only monotonic if
/// the operating system provides a monotonic clock.

View File

@ -94,7 +94,7 @@
// Small object size in bytes. When assigned to Any or Var,
// objects larger than this value will be alocated on the heap,
// objects larger than this value will be allocated on the heap,
// while those smaller will be placement new-ed into an
// internal buffer.
#if !defined(POCO_SMALL_OBJECT_SIZE) && !defined(POCO_NO_SOO)

View File

@ -162,7 +162,7 @@ public:
/// There will be no week 0 in 2007.
int day() const;
/// Returns the day witin the month (1 to 31).
/// Returns the day within the month (1 to 31).
int dayOfWeek() const;
/// Returns the weekday (0 to 6, where

View File

@ -5,7 +5,7 @@
// Package: Filesystem
// Module: RecursiveDirectoryIterator
//
// Definitions of the RecursiveDirectoryIterator stategy classes.
// Definitions of the RecursiveDirectoryIterator strategy classes.
//
// Copyright (c) 2012, Applied Informatics Software Engineering GmbH.
// and Contributors.

View File

@ -135,47 +135,47 @@ public:
/// (typeid) for the stored content.
virtual void convert(Int8& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(Int16& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(Int32& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(Int64& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(UInt8& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(UInt16& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(UInt32& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(UInt64& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(DateTime& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(LocalDateTime& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(Timestamp& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
#ifndef POCO_LONG_IS_64_BIT
@ -189,92 +189,92 @@ public:
#else
virtual void convert(long long& val) const;
/// Throws BadCastException. Must be overriden in a type
/// specialization in order to suport the conversion.
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(unsigned long long & val) const;
/// Throws BadCastException. Must be overriden in a type
/// specialization in order to suport the conversion.
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
#endif
virtual void convert(bool& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(float& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(double& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(char& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(std::string& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual void convert(Poco::UTF16String& val) const;
/// Throws BadCastException. Must be overriden in a type
/// Throws BadCastException. Must be overridden in a type
/// specialization in order to support the conversion.
virtual bool isArray() const;
/// Returns true.
virtual bool isVector() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isList() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isDeque() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isStruct() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isInteger() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isSigned() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isNumeric() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isBoolean() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isString() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isDate() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isTime() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual bool isDateTime() const;
/// Returns false. Must be properly overriden in a type
/// Returns false. Must be properly overridden in a type
/// specialization in order to support the diagnostic.
virtual std::size_t size() const;
/// Returns 1 iff Var is not empty or this function overriden.
/// Returns 1 iff Var is not empty or this function overridden.
protected:
VarHolder();

View File

@ -30,7 +30,7 @@ namespace Poco {
class Foundation_API FIFOBufferStreamBuf: public BufferedBidirectionalStreamBuf
/// This is the streambuf class used for reading from and writing to a FIFOBuffer.
/// FIFOBuffer is enabled for emtpy/non-empty/full state transitions notifications.
/// FIFOBuffer is enabled for empty/non-empty/full state transitions notifications.
{
public:

View File

@ -22,7 +22,7 @@
#if defined(POCO_NO_FPENVIRONMENT)
#include "Poco/FPEnvironment_DUMMY.h"
/// #include "Poco/FPEnvironment_DUMMY.h"
#elif defined(__osf__)
#include "Poco/FPEnvironment_DEC.h"
#elif defined(sun) || defined(__sun)

View File

@ -53,7 +53,7 @@ class Foundation_API FileChannel: public Channel
///
/// The rotation strategy can be specified with the
/// "rotation" property, which can take one of the
/// follwing values:
/// following values:
///
/// * never: no log rotation
/// * [day,][hh]:mm: the file is rotated on specified day/time

View File

@ -122,7 +122,7 @@ class Foundation_API FileOutputStream: public FileIOS, public std::ostream
{
public:
FileOutputStream();
/// Creats an unopened FileOutputStream.
/// Creates an unopened FileOutputStream.
FileOutputStream(const std::string& path, std::ios::openmode mode = std::ios::out | std::ios::trunc);
/// Creates the FileOutputStream for the file given by path, using
@ -159,7 +159,7 @@ class Foundation_API FileStream: public FileIOS, public std::iostream
{
public:
FileStream();
/// Creats an unopened FileStream.
/// Creates an unopened FileStream.
FileStream(const std::string& path, std::ios::openmode mode = std::ios::out | std::ios::in);
/// Creates the FileStream for the file given by path, using

View File

@ -41,7 +41,7 @@
// from a DLL simpler. All files within this DLL are compiled with the Foundation_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// Foundation_API functions as being imported from a DLL, wheras this DLL sees symbols
// Foundation_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
//
#if (defined(_WIN32) || defined(_WIN32_WCE)) && defined(POCO_DLL)

View File

@ -28,7 +28,7 @@ namespace Poco {
template <class Engine>
class HMACEngine: public DigestEngine
/// This class implementes the HMAC message
/// This class implements the HMAC message
/// authentication code algorithm, as specified
/// in RFC 2104. The underlying DigestEngine
/// (MD5Engine, SHA1Engine, etc.) must be given as

View File

@ -35,7 +35,7 @@ class LinearHashTable
/// This class implements a linear hash table.
///
/// In a linear hash table, the available address space
/// grows or shrinks dynamically. A linar hash table thus
/// grows or shrinks dynamically. A linear hash table thus
/// supports any number of insertions or deletions without
/// lookup or insertion performance deterioration.
///

View File

@ -37,7 +37,7 @@ class Foundation_API LocalDateTime
/// i.e. UTC = local time - time zone differential.
///
/// Although LocalDateTime supports relational and arithmetic
/// operators, all date/time comparisons and date/time arithmetics
/// operators, all date/time comparisons and date/time arithmetic
/// should be done in UTC, using the DateTime or Timestamp
/// class for better performance. The relational operators
/// normalize the dates/times involved to UTC before carrying out
@ -173,7 +173,7 @@ public:
/// There will be no week 0 in 2007.
int day() const;
/// Returns the day witin the month (1 to 31).
/// Returns the day within the month (1 to 31).
int dayOfWeek() const;
/// Returns the weekday (0 to 6, where

View File

@ -419,22 +419,22 @@ public:
/// Returns true if the log level is at least PRIO_TEST.
static std::string format(const std::string& fmt, const std::string& arg);
/// Replaces all occurences of $0 in fmt with the string given in arg and
/// Replaces all occurrences of $0 in fmt with the string given in arg and
/// returns the result. To include a dollar sign in the result string,
/// specify two dollar signs ($$) in the format string.
static std::string format(const std::string& fmt, const std::string& arg0, const std::string& arg1);
/// Replaces all occurences of $<n> in fmt with the string given in arg<n> and
/// Replaces all occurrences of $<n> in fmt with the string given in arg<n> and
/// returns the result. To include a dollar sign in the result string,
/// specify two dollar signs ($$) in the format string.
static std::string format(const std::string& fmt, const std::string& arg0, const std::string& arg1, const std::string& arg2);
/// Replaces all occurences of $<n> in fmt with the string given in arg<n> and
/// Replaces all occurrences of $<n> in fmt with the string given in arg<n> and
/// returns the result. To include a dollar sign in the result string,
/// specify two dollar signs ($$) in the format string.
static std::string format(const std::string& fmt, const std::string& arg0, const std::string& arg1, const std::string& arg2, const std::string& arg3);
/// Replaces all occurences of $<n> in fmt with the string given in arg<n> and
/// Replaces all occurrences of $<n> in fmt with the string given in arg<n> and
/// returns the result. To include a dollar sign in the result string,
/// specify two dollar signs ($$) in the format string.
@ -480,7 +480,7 @@ public:
static Logger* has(const std::string& name);
/// Returns a pointer to the Logger with the given name if it
/// exists, or a null pointer otherwse.
/// exists, or a null pointer otherwise.
static void destroy(const std::string& name);
/// Destroys the logger with the specified name. Does nothing

View File

@ -49,7 +49,7 @@ namespace Poco {
class Foundation_API MD4Engine: public DigestEngine
/// This class implementes the MD4 message digest algorithm,
/// This class implements the MD4 message digest algorithm,
/// described in RFC 1320.
{
public:

View File

@ -49,7 +49,7 @@ namespace Poco {
class Foundation_API MD5Engine: public DigestEngine
/// This class implementes the MD5 message digest algorithm,
/// This class implements the MD5 message digest algorithm,
/// described in RFC 1321.
{
public:

View File

@ -182,7 +182,7 @@ public:
bool operator < (const Nullable<C>& other) const
/// Compares two Nullable objects. Return true if this object's
/// value is smaler than the other object's value.
/// value is smaller than the other object's value.
/// Null value is smaller than a non-null value.
{
if (_isNull && other._isNull) return false;

View File

@ -29,7 +29,7 @@ namespace Poco {
template <class PRF>
class PBKDF2Engine: public DigestEngine
/// This class implementes the Password-Based Key Derivation Function 2,
/// This class implements the Password-Based Key Derivation Function 2,
/// as specified in RFC 2898. The underlying DigestEngine (HMACEngine, etc.),
/// which must accept the passphrase as constructor argument (std::string),
/// must be given as template argument.

View File

@ -168,7 +168,7 @@ public:
/// Appends the given path.
Path& resolve(const Path& path);
/// Resolves the given path agains the current one.
/// Resolves the given path against the current one.
///
/// If the given path is absolute, it replaces the current one.
/// Otherwise, the relative path is appended to the current path.

View File

@ -134,7 +134,7 @@ private:
void parsePattern();
/// Will parse the _pattern string into the vector of PatternActions,
/// which contains the message key, any text that needs to be written first
/// a proprety in case of %[] and required length.
/// a property in case of %[] and required length.
std::vector<PatternAction> _patternActions;
bool _localTime;

View File

@ -51,7 +51,7 @@ class RecursiveDirectoryIterator
/// The class can follow different traversal strategies:
/// * depth-first strategy;
/// * siblings-first strategy.
/// The stategies are set by template parameter.
/// The strategies are set by template parameter.
/// There are two corresponding typedefs:
/// * SimpleRecursiveDirectoryIterator;
/// * SiblingsFirstRecursiveDirectoryIterator.
@ -226,7 +226,7 @@ private:
//
// friend comparsion operators
// friend comparison operators
//
template<class T1, class T2>
inline bool operator ==(const RecursiveDirectoryIterator<T1>& a, const RecursiveDirectoryIterator<T2>& b)

View File

@ -69,7 +69,7 @@ public:
RE_NEWLINE_CRLF = 0x00300000, /// assume newline is CRLF ("\r\n") [ctor]
RE_NEWLINE_ANY = 0x00400000, /// assume newline is any valid Unicode newline character [ctor]
RE_NEWLINE_ANYCRLF = 0x00500000, /// assume newline is any of CR, LF, CRLF [ctor]
RE_GLOBAL = 0x10000000, /// replace all occurences (/g) [subst]
RE_GLOBAL = 0x10000000, /// replace all occurrences (/g) [subst]
RE_NO_VARS = 0x20000000 /// treat dollar in replacement string as ordinary character [subst]
};
@ -85,7 +85,7 @@ public:
/// If study is true, the pattern is analyzed and optimized. This
/// is mainly useful if the pattern is used more than once.
/// For a description of the options, please see the PCRE documentation.
/// Throws a RegularExpressionException if the patter cannot be compiled.
/// Throws a RegularExpressionException if the pattern cannot be compiled.
~RegularExpression();
/// Destroys the regular expression.

View File

@ -32,7 +32,7 @@ namespace Poco {
class Foundation_API SHA1Engine: public DigestEngine
/// This class implementes the SHA-1 message digest algorithm.
/// This class implements the SHA-1 message digest algorithm.
/// (FIPS 180-1, see http://www.itl.nist.gov/fipspubs/fip180-1.htm)
{
public:

View File

@ -50,7 +50,7 @@ public:
/// will generally ignore the hint.
char* begin() const;
/// Returns the beginn address of the SharedMemory segment. Will be null for illegal segments.
/// Returns the begin address of the SharedMemory segment. Will be null for illegal segments.
char* end() const;
/// Points past the last byte of the end address of the SharedMemory segment. Will be null for illegal segments.

View File

@ -36,7 +36,7 @@ template <class Key, class Value, class KeyHashFunction = HashFunction<Key> >
class SimpleHashTable
/// A SimpleHashTable stores a key value pair that can be looked up via a hashed key.
///
/// In comparision to a HashTable, this class handles collisions by sequentially searching the next
/// In comparison to a HashTable, this class handles collisions by sequentially searching the next
/// free location. This also means that the maximum size of this table is limited, i.e. if the hash table
/// is full, it will throw an exception and that this class does not support remove operations.
/// On the plus side it is faster than the HashTable.

View File

@ -67,7 +67,7 @@ public:
/// Returns true if token exists, false otherwise.
std::string::size_type find(const std::string& token, std::string::size_type pos = 0) const;
/// Returns the index of the first occurence of the token
/// Returns the index of the first occurrence of the token
/// starting at position pos.
/// Throws a NotFoundException if the token is not found.

View File

@ -120,7 +120,7 @@ class TaskCustomNotification: public TaskNotification
/// This is a template for "custom" notification.
/// Unlike other notifications, this notification
/// is instantiated and posted by the task itself.
/// The purpose is to provide generic notifiation
/// The purpose is to provide generic notification
/// mechanism between the task and its observer(s).
{
public:

View File

@ -69,7 +69,7 @@ public:
/// Returns true if the given name is one of the names of this encoding.
/// For example, the "ISO-8859-1" encoding is also known as "Latin-1".
///
/// Encoding name comparisions are case insensitive.
/// Encoding name comparisons are case insensitive.
virtual const CharacterMap& characterMap() const = 0;
/// Returns the CharacterMap for the encoding.
@ -108,7 +108,7 @@ public:
/// The default implementation returns (int) bytes[0].
virtual int sequenceLength(const unsigned char* bytes, int length) const;
/// The sequenceLength function is used to get the lenth of the sequence pointed
/// The sequenceLength function is used to get the length of the sequence pointed
/// by bytes. The length parameter should be greater or equal to the length of
/// the sequence.
///

View File

@ -108,7 +108,7 @@ public:
void setOSPriority(int prio, int policy = POLICY_DEFAULT);
/// Sets the thread's priority, using an operating system specific
/// priority value. Use getMinOSPriority() and getMaxOSPriority() to
/// obtain mininum and maximum priority values. Additionally,
/// obtain minimum and maximum priority values. Additionally,
/// a scheduling policy can be specified. The policy is currently
/// only used on POSIX platforms where the values SCHED_OTHER (default),
/// SCHED_FIFO and SCHED_RR are supported.

View File

@ -31,7 +31,7 @@ class Foundation_API Timestamp
/// A Timestamp stores a monotonic* time value
/// with (theoretical) microseconds resolution.
/// Timestamps can be compared with each other
/// and simple arithmetics are supported.
/// and simple arithmetic are supported.
///
/// [*] Note that Timestamp values are only monotonic as
/// long as the systems's clock is monotonic as well

View File

@ -320,7 +320,7 @@ struct TypeAppender<TypeList<Head, Tail>, T>
template <class Head, class T>
struct TypeOneEraser;
/// TypeOneEraser erases the first occurence of the type T in Head.
/// TypeOneEraser erases the first occurrence of the type T in Head.
/// Usage:
///
/// typedef TypeListType<char, int, float>::HeadType Type3;
@ -352,7 +352,7 @@ struct TypeOneEraser<TypeList<Head, Tail>, T>
template <class Head, class T>
struct TypeAllEraser;
/// TypeAllEraser erases all the occurences of the type T in Head.
/// TypeAllEraser erases all the occurrence of the type T in Head.
/// Usage:
///
/// typedef TypeListType<char, int, float, int>::HeadType Type4;
@ -384,7 +384,7 @@ struct TypeAllEraser<TypeList<Head, Tail>, T>
template <class Head>
struct TypeDuplicateEraser;
/// TypeDuplicateEraser erases all but the first occurence of the type T in Head.
/// TypeDuplicateEraser erases all but the first occurrence of the type T in Head.
/// Usage:
///
/// typedef TypeListType<char, int, float, int>::HeadType Type4;
@ -413,7 +413,7 @@ public:
template <class Head, class T, class R>
struct TypeOneReplacer;
/// TypeOneReplacer replaces the first occurence
/// TypeOneReplacer replaces the first occurrence
/// of the type T in Head with type R.
/// Usage:
///
@ -446,7 +446,7 @@ struct TypeOneReplacer<TypeList<Head, Tail>, T, R>
template <class Head, class T, class R>
struct TypeAllReplacer;
/// TypeAllReplacer replaces all the occurences
/// TypeAllReplacer replaces all the occurrence
/// of the type T in Head with type R.
/// Usage:
///

View File

@ -35,7 +35,7 @@ template <
>
class UniqueAccessExpireLRUCache: public AbstractCache<TKey, TValue, StrategyCollection<TKey, TValue>, TMutex, TEventMutex>
/// A UniqueAccessExpireLRUCache combines LRU caching and time based per entry expire caching.
/// One can define for each cache entry a seperate timepoint
/// One can define for each cache entry a separate timepoint
/// but also limit the size of the cache (per default: 1024).
/// Each TValue object must thus offer the following method:
///

View File

@ -35,7 +35,7 @@ template <
>
class UniqueExpireLRUCache: public AbstractCache<TKey, TValue, StrategyCollection<TKey, TValue>, TMutex, TEventMutex>
/// A UniqueExpireLRUCache combines LRU caching and time based per entry expire caching.
/// One can define for each cache entry a seperate timepoint
/// One can define for each cache entry a separate timepoint
/// but also limit the size of the cache (per default: 1024).
/// Each TValue object must thus offer the following method:
///

View File

@ -317,38 +317,38 @@ public:
{
while (n > 0)
{
struct inotify_event* pEvent = reinterpret_cast<struct inotify_event*>(buffer.begin() + i);
struct inotify_event* event = reinterpret_cast<struct inotify_event*>(buffer.begin() + i);
if (pEvent->len > 0)
if (event->len > 0)
{
if (!owner().eventsSuspended())
{
Poco::Path p(owner().directory().path());
p.makeDirectory();
p.setFileName(pEvent->name);
p.setFileName(event->name);
Poco::File f(p.toString());
if ((pEvent->mask & IN_CREATE) && (owner().eventMask() & DirectoryWatcher::DW_ITEM_ADDED))
if ((event->mask & IN_CREATE) && (owner().eventMask() & DirectoryWatcher::DW_ITEM_ADDED))
{
DirectoryWatcher::DirectoryEvent ev(f, DirectoryWatcher::DW_ITEM_ADDED);
owner().itemAdded(&owner(), ev);
}
if ((pEvent->mask & IN_DELETE) && (owner().eventMask() & DirectoryWatcher::DW_ITEM_REMOVED))
if ((event->mask & IN_DELETE) && (owner().eventMask() & DirectoryWatcher::DW_ITEM_REMOVED))
{
DirectoryWatcher::DirectoryEvent ev(f, DirectoryWatcher::DW_ITEM_REMOVED);
owner().itemRemoved(&owner(), ev);
}
if ((pEvent->mask & IN_MODIFY) && (owner().eventMask() & DirectoryWatcher::DW_ITEM_MODIFIED))
if ((event->mask & IN_MODIFY) && (owner().eventMask() & DirectoryWatcher::DW_ITEM_MODIFIED))
{
DirectoryWatcher::DirectoryEvent ev(f, DirectoryWatcher::DW_ITEM_MODIFIED);
owner().itemModified(&owner(), ev);
}
if ((pEvent->mask & IN_MOVED_FROM) && (owner().eventMask() & DirectoryWatcher::DW_ITEM_MOVED_FROM))
if ((event->mask & IN_MOVED_FROM) && (owner().eventMask() & DirectoryWatcher::DW_ITEM_MOVED_FROM))
{
DirectoryWatcher::DirectoryEvent ev(f, DirectoryWatcher::DW_ITEM_MOVED_FROM);
owner().itemMovedFrom(&owner(), ev);
}
if ((pEvent->mask & IN_MOVED_TO) && (owner().eventMask() & DirectoryWatcher::DW_ITEM_MOVED_TO))
if ((event->mask & IN_MOVED_TO) && (owner().eventMask() & DirectoryWatcher::DW_ITEM_MOVED_TO))
{
DirectoryWatcher::DirectoryEvent ev(f, DirectoryWatcher::DW_ITEM_MOVED_TO);
owner().itemMovedTo(&owner(), ev);
@ -356,8 +356,8 @@ public:
}
}
i += sizeof(inotify_event) + pEvent->len;
n -= sizeof(inotify_event) + pEvent->len;
i += sizeof(inotify_event) + event->len;
n -= sizeof(inotify_event) + event->len;
}
}
}

View File

@ -26,6 +26,8 @@
#include <pthread.h>
#endif
#include <sys/types.h>
#include <sys/socket.h>
namespace Poco {
@ -140,8 +142,6 @@ unsigned EnvironmentImpl::processorCountImpl()
//
// BSD variants
//
#include <sys/types.h>
#include <sys/socket.h>
#include <ifaddrs.h>
#include <net/if_dl.h>
@ -182,7 +182,7 @@ void EnvironmentImpl::nodeIdImpl(NodeId& id)
// Linux, Cygwin
//
#include <sys/ioctl.h>
#include <sys/socket.h>
/// #include <sys/socket.h>
#include <netinet/in.h>
#include <net/if.h>
#ifndef __CYGWIN__
@ -191,8 +191,7 @@ void EnvironmentImpl::nodeIdImpl(NodeId& id)
#define ARPHRD_ETHER 1 /* Ethernet 10Mbps */
#endif
#include <arpa/inet.h>
#include <unistd.h>
#include <sys/types.h>
/// #include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <cstdio>
@ -283,19 +282,19 @@ void EnvironmentImpl::nodeIdImpl(NodeId& id)
//
// General Unix
//
#include <sys/ioctl.h>
/// #include <sys/ioctl.h>
#if defined(sun) || defined(__sun)
#include <sys/sockio.h>
#endif
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <net/if.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <unistd.h>
/// #include <sys/socket.h>
/// #include <sys/types.h>
/// #include <netinet/in.h>
/// #include <net/if.h>
/// #include <arpa/inet.h>
/// #include <netdb.h>
/// #include <net/if.h>
/// #include <net/if_arp.h>
/// #include <unistd.h>
namespace Poco {

View File

@ -32,8 +32,6 @@
#include <net/if.h>
#include <arpa/inet.h>
#include <netinet/if_ether.h>
#include <ifLib.h>
#include <unistd.h>
namespace Poco {

View File

@ -18,7 +18,7 @@
#if defined(POCO_NO_FPENVIRONMENT)
#include "FPEnvironment_DUMMY.cpp"
/// #include "FPEnvironment_DUMMY.cpp"
#elif defined(__osf__)
#include "FPEnvironment_DEC.cpp"
#elif defined(sun) || defined(__sun)

View File

@ -470,7 +470,7 @@ public:
namespace
{
static AutoLoggerShutdown als;
static AutoLoggerShutdown auto_logger_shutdown;
}

View File

@ -17,7 +17,7 @@
#if defined(POCO_OS_FAMILY_WINDOWS)
#if defined(_WIN32_WCE)
#include "PipeImpl_DUMMY.cpp"
/// #include "PipeImpl_DUMMY.cpp"
#else
#include "PipeImpl_WIN32.cpp"
#endif

View File

@ -169,7 +169,7 @@ Random::~Random()
/*
* Compute x = (7^5 * x) mod (2^31 - 1)
* wihout overflowing 31 bits:
* without overflowing 31 bits:
* (2^31 - 1) = 127773 * (7^5) + 2836
* From "Random number generators: good ones are hard to find",
* Park and Miller, Communications of the ACM, vol. 31, no. 10,
@ -261,7 +261,7 @@ void Random::seed()
*
* Note: The Sparc platform requires that arg_state begin on an int
* word boundary; otherwise a bus error will occur. Even so, lint will
* complain about mis-alignment, but you should disregard these messages.
* complain about misalignment, but you should disregard these messages.
*/
void Random::initState(UInt32 s, char* argState, Int32 n)
{

View File

@ -15,7 +15,7 @@
#include "Poco/SharedMemory.h"
#include "Poco/Exception.h"
#if defined(POCO_NO_SHAREDMEMORY)
#include "SharedMemory_DUMMY.cpp"
/// #include "SharedMemory_DUMMY.cpp"
#elif defined(POCO_OS_FAMILY_WINDOWS)
#include "SharedMemory_WIN32.cpp"
#elif defined(POCO_OS_FAMILY_UNIX)

View File

@ -276,7 +276,7 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator,
// Let v = numerator / denominator < 10.
// Then we generate 'count' digits of d = x.xxxxx... (without the decimal point)
// from left to right. Once 'count' digits have been produced we decide wether
// from left to right. Once 'count' digits have been produced we decide whether
// to round up or down. Remainders of exactly .5 round upwards. Numbers such
// as 9.999999 propagate a carry all the way, and change the
// exponent (decimal_point), when rounding upwards.
@ -548,7 +548,7 @@ static void InitialScaledStartValuesNegativeExponentNegativePower(
//
// Let ep == estimated_power, then the returned values will satisfy:
// v / 10^ep = numerator / denominator.
// v's boundarys m- and m+:
// v's boundaries m- and m+:
// m- / 10^ep == v / 10^ep - delta_minus / denominator
// m+ / 10^ep == v / 10^ep + delta_plus / denominator
// Or in other words:

View File

@ -1096,7 +1096,7 @@ int ZEXPORT deflateEnd (strm)
/* =========================================================================
* Copy the source state to the destination state.
* To simplify the source, this is not supported for 16-bit MSDOS (which
* To simplify the source, this is not supported for 16-bit MS-DOS (which
* doesn't have enough memory anyway to duplicate compression states).
*/
int ZEXPORT deflateCopy (dest, source)
@ -1136,7 +1136,7 @@ int ZEXPORT deflateCopy (dest, source)
deflateEnd (dest);
return Z_MEM_ERROR;
}
/* following zmemcpy do not work for 16-bit MSDOS */
/* following zmemcpy do not work for 16-bit MS-DOS */
zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte));
zmemcpy((voidpf)ds->prev, (voidpf)ss->prev, ds->w_size * sizeof(Pos));
zmemcpy((voidpf)ds->head, (voidpf)ss->head, ds->hash_size * sizeof(Pos));

View File

@ -122,7 +122,7 @@ typedef struct internal_state {
* bytes. With this organization, matches are limited to a distance of
* wSize-MAX_MATCH bytes, but this ensures that IO is always
* performed with a length multiple of the block size. Also, it limits
* the window size to 64K, which is quite useful on MSDOS.
* the window size to 64K, which is quite useful on MS-DOS.
* To do: use the user input buffer as sliding window.
*/

View File

@ -96,7 +96,7 @@ class DoubleToStringConverter {
// Example with max_leading_padding_zeroes_in_precision_mode = 6.
// ToPrecision(0.0000012345, 2) -> "0.0000012"
// ToPrecision(0.00000012345, 2) -> "1.2e-7"
// Similarily the converter may add up to
// Similarly the converter may add up to
// max_trailing_padding_zeroes_in_precision_mode in precision mode to avoid
// returning an exponential representation. A zero added by the
// EMIT_TRAILING_ZERO_AFTER_POINT flag is counted for this limit.
@ -138,7 +138,7 @@ class DoubleToStringConverter {
// Example with decimal_in_shortest_low = -6,
// decimal_in_shortest_high = 21,
// EMIT_POSITIVE_EXPONENT_SIGN activated, and
// EMIT_TRAILING_DECIMAL_POINT deactived:
// EMIT_TRAILING_DECIMAL_POINT deactivated:
// ToShortest(0.000001) -> "0.000001"
// ToShortest(0.0000001) -> "1e-7"
// ToShortest(111111111111111111111.0) -> "111111111111111110000"
@ -242,7 +242,7 @@ class DoubleToStringConverter {
// Example with max_leading_padding_zeroes_in_precision_mode = 6.
// ToPrecision(0.0000012345, 2) -> "0.0000012"
// ToPrecision(0.00000012345, 2) -> "1.2e-7"
// Similarily the converter may add up to
// Similarly the converter may add up to
// max_trailing_padding_zeroes_in_precision_mode in precision mode to avoid
// returning an exponential representation. A zero added by the
// EMIT_TRAILING_ZERO_AFTER_POINT flag is counted for this limit.

View File

@ -565,7 +565,7 @@ static bool Grisu3(double v,
// the difference between w and boundary_minus/plus (a power of 2) and to
// compute scaled_boundary_minus/plus by subtracting/adding from
// scaled_w. However the code becomes much less readable and the speed
// enhancements are not terriffic.
// enhancements are not terrific.
DiyFp scaled_boundary_minus = DiyFp::Times(boundary_minus, ten_mk);
DiyFp scaled_boundary_plus = DiyFp::Times(boundary_plus, ten_mk);

View File

@ -394,7 +394,7 @@ bool FastFixedDtoa(double v,
TrimZeros(buffer, length, decimal_point);
buffer[*length] = '\0';
if ((*length) == 0) {
// The string is empty and the decimal_point thus has no importance. Mimick
// The string is empty and the decimal_point thus has no importance. Mimic
// Gay's dtoa and and set it to -fractional_count.
*decimal_point = -fractional_count;
}

View File

@ -67,18 +67,7 @@
# endif
#endif
#if defined(MSDOS) && defined(__BORLANDC__) && (BORLANDC > 0x410)
# ifndef HAVE_VSNPRINTF
# define HAVE_VSNPRINTF
# endif
#endif
#ifndef HAVE_VSNPRINTF
# ifdef MSDOS
/* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
but for now we just assume it doesn't. */
# define NO_vsnprintf
# endif
# ifdef __TURBOC__
# define NO_vsnprintf
# endif

View File

@ -38,7 +38,7 @@ typedef struct {
/* Maximum size of the dynamic table. The maximum number of code structures is
1444, which is the sum of 852 for literal/length codes and 592 for distance
codes. These values were found by exhaustive searches using the program
examples/enough.c found in the zlib distribtution. The arguments to that
examples/enough.c found in the zlib distribution. The arguments to that
program are the number of symbols, the initial root table size, and the
maximum bit length of a code. "enough 286 9 15" for literal/length codes
returns returns 852, and "enough 30 6 15" for distance codes returns 592.

Some files were not shown because too many files have changed in this diff Show More