Update vendored dependencies and fix update tool for Perl changes.

This commit is contained in:
Sadie Powell 2020-07-30 14:29:11 +01:00
parent 428eea648d
commit 46390a54b3
6 changed files with 41 additions and 14 deletions

2
vendor/README.md vendored
View File

@ -48,7 +48,7 @@ This directory contains vendored dependencies that are shipped with InspIRCd to
**License** — Boost Software License
**Version** — v3.1
**Version** — v3.1.1
**Website** — [https://github.com/nemtrif/utfcpp](https://github.com/nemtrif/utfcpp)

6
vendor/update vendored
View File

@ -50,7 +50,7 @@ close $fh;
my ($data, $error) = from_toml $contents;
print_error "unable to parse $config: $!" if $error;
while (my ($name, $info) = each $data) {
while (my ($name, $info) = each %{$data}) {
print_format "Updating <|GREEN $name|> ...\n";
my $unpackdir = File::Temp->newdir;
@ -91,7 +91,7 @@ close $fh;
open($fh, '>', $readme) or print_error "unable to write $readme: $!";
print $fh $contents =~ s/\n\#\#.*//rs;
for my $name (sort keys $data) {
for my $name (sort keys %{$data}) {
my $info = $data->{$name};
printf $fh "\n## %s\n\n", $name;
printf $fh "**Author** &mdash; [%s](mailto:%s)\n\n", $info->{author}, $info->{email} if $info->{email};
@ -101,4 +101,4 @@ for my $name (sort keys $data) {
my $website = $info->{website} // $info->{git};
printf $fh "**Website** &mdash; [%s](%s)\n", $website, $website;
}
close $fh;
close $fh;

View File

@ -31,8 +31,4 @@ DEALINGS IN THE SOFTWARE.
#include "utf8/checked.h"
#include "utf8/unchecked.h"
#if __cplusplus >= 201103L // C++ 11 or later
#include "utf8/cpp11.h"
#endif // C++ 11 or later
#endif // header guard

View File

@ -42,7 +42,7 @@ namespace utf8
uint32_t cp;
public:
invalid_code_point(uint32_t codepoint) : cp(codepoint) {}
virtual const char* what() const throw() { return "Invalid code point"; }
virtual const char* what() const NOEXCEPT OVERRIDE { return "Invalid code point"; }
uint32_t code_point() const {return cp;}
};
@ -50,7 +50,7 @@ namespace utf8
uint8_t u8;
public:
invalid_utf8 (uint8_t u) : u8(u) {}
virtual const char* what() const throw() { return "Invalid UTF-8"; }
virtual const char* what() const NOEXCEPT OVERRIDE { return "Invalid UTF-8"; }
uint8_t utf8_octet() const {return u8;}
};
@ -58,13 +58,13 @@ namespace utf8
uint16_t u16;
public:
invalid_utf16 (uint16_t u) : u16(u) {}
virtual const char* what() const throw() { return "Invalid UTF-16"; }
virtual const char* what() const NOEXCEPT OVERRIDE { return "Invalid UTF-16"; }
uint16_t utf16_word() const {return u16;}
};
class not_enough_room : public exception {
public:
virtual const char* what() const throw() { return "Not enough space"; }
virtual const char* what() const NOEXCEPT OVERRIDE { return "Not enough space"; }
};
/// The library API - functions intended to be called by the users
@ -263,11 +263,16 @@ namespace utf8
// The iterator class
template <typename octet_iterator>
class iterator : public std::iterator <std::bidirectional_iterator_tag, uint32_t> {
class iterator {
octet_iterator it;
octet_iterator range_start;
octet_iterator range_end;
public:
typedef uint32_t value_type;
typedef uint32_t* pointer;
typedef uint32_t& reference;
typedef std::ptrdiff_t difference_type;
typedef std::bidirectional_iterator_tag iterator_category;
iterator () {}
explicit iterator (const octet_iterator& octet_it,
const octet_iterator& rangestart,
@ -320,5 +325,9 @@ namespace utf8
} // namespace utf8
#if UTF_CPP_CPLUSPLUS >= 201103L // C++ 11 or later
#include "cpp11.h"
#endif // C++ 11 or later
#endif //header guard

View File

@ -30,6 +30,23 @@ DEALINGS IN THE SOFTWARE.
#include <iterator>
// Determine the C++ standard version.
// If the user defines UTF_CPP_CPLUSPLUS, use that.
// Otherwise, trust the unreliable predefined macro __cplusplus
#if !defined UTF_CPP_CPLUSPLUS
#define UTF_CPP_CPLUSPLUS __cplusplus
#endif
#if UTF_CPP_CPLUSPLUS >= 201103L // C++ 11 or later
#define OVERRIDE override
#define NOEXCEPT noexcept
#else // C++ 98/03
#define OVERRIDE
#define NOEXCEPT throw()
#endif // C++ 11 or later
namespace utf8
{
// The typedefs for 8-bit, 16-bit and 32-bit unsigned integers

View File

@ -217,9 +217,14 @@ namespace utf8
// The iterator class
template <typename octet_iterator>
class iterator : public std::iterator <std::bidirectional_iterator_tag, uint32_t> {
class iterator {
octet_iterator it;
public:
typedef uint32_t value_type;
typedef uint32_t* pointer;
typedef uint32_t& reference;
typedef std::ptrdiff_t difference_type;
typedef std::bidirectional_iterator_tag iterator_category;
iterator () {}
explicit iterator (const octet_iterator& octet_it): it(octet_it) {}
// the default "big three" are OK