summaryrefslogtreecommitdiffstats
path: root/src/3rdparty
diff options
context:
space:
mode:
authorYuhang Zhao <2546789017@qq.com>2022-05-24 09:51:55 +0800
committerYuhang Zhao <2546789017@qq.com>2022-06-19 16:27:16 +0800
commit797a493f5093187d2a849d9c483b79229a1316f0 (patch)
tree53a895bfd2a33b49719b5fbf80fa446004ac2c8f /src/3rdparty
parent11e6e9bccdacdae1bb3a4ed939ec60f56059b0bf (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.diff42
-rwxr-xr-xsrc/3rdparty/libpsl/src/psl-make-dafsa10
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):