]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Update vendored dependencies and fix update tool for Perl changes.
authorSadie Powell <sadie@witchery.services>
Thu, 30 Jul 2020 13:29:11 +0000 (14:29 +0100)
committerSadie Powell <sadie@witchery.services>
Thu, 30 Jul 2020 13:29:11 +0000 (14:29 +0100)
vendor/README.md
vendor/update
vendor/utfcpp/utf8.h
vendor/utfcpp/utf8/checked.h
vendor/utfcpp/utf8/core.h
vendor/utfcpp/utf8/unchecked.h

index af7f287dcd6649f77fb88b56ba64164da36cb2fd..c6365eec402b3f68b62031348c75599218f40872 100644 (file)
@@ -48,7 +48,7 @@ This directory contains vendored dependencies that are shipped with InspIRCd to
 
 **License** &mdash; Boost Software License
 
-**Version** &mdash; v3.1
+**Version** &mdash; v3.1.1
 
 **Website** &mdash; [https://github.com/nemtrif/utfcpp](https://github.com/nemtrif/utfcpp)
 
index 6f9ff5e86a2e7b6c6b2950edf7de5800035018e7..20a4284bcafd808114d2cfab3e15e98c8138eff2 100755 (executable)
@@ -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;
\ No newline at end of file
+close $fh;
index c2c85d6d0ac9b55d092cea75db041d287829e581..82b13f59f983c57ea5bba18bcb58f836eaba8d5e 100644 (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
index c31861e0a7fd501843e38ec02eedf9f4ebd4a923..648636e4686ae6bf2dd16a42c656e2e0affbe559 100644 (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
 
index e007ca17d4de1ac50216a37de717f880aa6e81fa..244e892311243bd3c54c7f210f17a9d6322bd40d 100644 (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
index def0009978d1bf29dfd163c515f304aca241a228..0e1b51cc7d3f63e4281e5c57e6c6e4cf33be01d0 100644 (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