diff options
author | Yuhang Zhao <2546789017@qq.com> | 2022-05-24 09:51:55 +0800 |
---|---|---|
committer | Yuhang Zhao <2546789017@qq.com> | 2022-06-19 16:27:16 +0800 |
commit | 797a493f5093187d2a849d9c483b79229a1316f0 (patch) | |
tree | 53a895bfd2a33b49719b5fbf80fa446004ac2c8f /src/3rdparty | |
parent | 11e6e9bccdacdae1bb3a4ed939ec60f56059b0bf (diff) |
Network: make Public Suffix List constexpr
Upstream PR: https://github.com/rockdaboot/libpsl/pull/182
The repo owner denied the PR because the library only
produces C89-compatible code and constexpr is a C++ feature.
Pick-to: 6.4
Task-number: QTBUG-100485
Change-Id: I9e01705b27022a636a98ac67b19169677d7c7652
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/3rdparty')
-rw-r--r-- | src/3rdparty/libpsl/qtpatches.diff | 42 | ||||
-rwxr-xr-x | src/3rdparty/libpsl/src/psl-make-dafsa | 10 |
2 files changed, 47 insertions, 5 deletions
diff --git a/src/3rdparty/libpsl/qtpatches.diff b/src/3rdparty/libpsl/qtpatches.diff new file mode 100644 index 0000000000..1eb89bb862 --- /dev/null +++ b/src/3rdparty/libpsl/qtpatches.diff @@ -0,0 +1,42 @@ +diff --git a/src/3rdparty/libpsl/src/psl-make-dafsa b/src/3rdparty/libpsl/src/psl-make-dafsa +index 2bfd8796fa..8a374053d5 100755 +--- a/src/3rdparty/libpsl/src/psl-make-dafsa ++++ b/src/3rdparty/libpsl/src/psl-make-dafsa +@@ -161,7 +161,7 @@ sink = None + + A C++ representation of the compressed graph is generated: + +-const unsigned char dafsa[7] = { ++constexpr unsigned char dafsa[7] = { + 0x81, 0xE1, 0x02, 0x81, 0x82, 0x61, 0x81, + }; + +@@ -198,7 +198,7 @@ sink = None + + A C++ representation of the compressed graph is generated: + +-const unsigned char dafsa[11] = { ++constexpr unsigned char dafsa[11] = { + 0x02, 0x83, 0xE2, 0x02, 0x83, 0x61, 0x61, 0x81, 0x62, 0x62, 0x82, + }; + +@@ -490,7 +490,7 @@ def to_cxx(data, codecs): + text += b'The byte array encodes effective tld names. See psl-make-dafsa source for' + text += b' documentation.' + text += b'*/\n\n' +- text += b'static const unsigned char kDafsa[' ++ text += b'static constexpr unsigned char kDafsa[' + text += bytes(str(len(data)), **codecs) + text += b'] = {\n' + for i in range(0, len(data), 12): +@@ -517,8 +517,8 @@ def to_cxx_plus(data, codecs): + text += b'static int _psl_nsuffixes = %d;\n' % psl_nsuffixes + text += b'static int _psl_nexceptions = %d;\n' % psl_nexceptions + text += b'static int _psl_nwildcards = %d;\n' % psl_nwildcards +- text += b'static const char _psl_sha1_checksum[] = "%s";\n' % bytes(sha1_file(psl_input_file), **codecs) +- text += b'static const char _psl_filename[] = "%s";\n' % bytes(psl_input_file, **codecs) ++ text += b'static constexpr char _psl_sha1_checksum[] = "%s";\n' % bytes(sha1_file(psl_input_file), **codecs) ++ text += b'static constexpr char _psl_filename[] = "%s";\n' % bytes(psl_input_file, **codecs) + return text + + def words_to_whatever(words, converter, utf_mode, codecs): diff --git a/src/3rdparty/libpsl/src/psl-make-dafsa b/src/3rdparty/libpsl/src/psl-make-dafsa index 2bfd8796fa..8a374053d5 100755 --- a/src/3rdparty/libpsl/src/psl-make-dafsa +++ b/src/3rdparty/libpsl/src/psl-make-dafsa @@ -161,7 +161,7 @@ sink = None A C++ representation of the compressed graph is generated: -const unsigned char dafsa[7] = { +constexpr unsigned char dafsa[7] = { 0x81, 0xE1, 0x02, 0x81, 0x82, 0x61, 0x81, }; @@ -198,7 +198,7 @@ sink = None A C++ representation of the compressed graph is generated: -const unsigned char dafsa[11] = { +constexpr unsigned char dafsa[11] = { 0x02, 0x83, 0xE2, 0x02, 0x83, 0x61, 0x61, 0x81, 0x62, 0x62, 0x82, }; @@ -490,7 +490,7 @@ def to_cxx(data, codecs): text += b'The byte array encodes effective tld names. See psl-make-dafsa source for' text += b' documentation.' text += b'*/\n\n' - text += b'static const unsigned char kDafsa[' + text += b'static constexpr unsigned char kDafsa[' text += bytes(str(len(data)), **codecs) text += b'] = {\n' for i in range(0, len(data), 12): @@ -517,8 +517,8 @@ def to_cxx_plus(data, codecs): text += b'static int _psl_nsuffixes = %d;\n' % psl_nsuffixes text += b'static int _psl_nexceptions = %d;\n' % psl_nexceptions text += b'static int _psl_nwildcards = %d;\n' % psl_nwildcards - text += b'static const char _psl_sha1_checksum[] = "%s";\n' % bytes(sha1_file(psl_input_file), **codecs) - text += b'static const char _psl_filename[] = "%s";\n' % bytes(psl_input_file, **codecs) + text += b'static constexpr char _psl_sha1_checksum[] = "%s";\n' % bytes(sha1_file(psl_input_file), **codecs) + text += b'static constexpr char _psl_filename[] = "%s";\n' % bytes(psl_input_file, **codecs) return text def words_to_whatever(words, converter, utf_mode, codecs): |