The executable uxplay.exe can also be run without the MSYS2
environment, in the Windows Terminal, with
-C:\msys64\mingw64\bin\uxplay.
+This project is a GPLv3 open source unix AirPlay2 Mirror server for
@@ -261,7 +289,7 @@ can be regarded as a “System Library”, which it is in *BSD). Many Linux
distributions treat OpenSSL as a “System Library”, but some
(e.g. Debian) do not: in this case, the issue is solved by linking with
OpenSSL-3.0.0 or later.
-Since UxPlay-1.64, UxPlay can be started with options read from a
@@ -1007,6 +1009,9 @@ or ~/.config/uxplayrc); lines begining with
“#” are treated as comments, and ignored. Command line
options supersede options in the startup file.
+
These instructions for macOS assume that the Xcode command-line
developer tools are installed (if Xcode is installed, open the Terminal,
type “sudo xcode-select –install” and accept the conditions).
@@ -837,7 +837,7 @@ with “export GST_DEBUG=2” before runnng UxPlay) reveals that with the
default (since UxPlay 1.64) use of timestamps for video synchonization,
many video frames are being dropped (only on macOS), perhaps due to
another error (about videometa) that shows up in the GStreamer warnings.
-Recommendation: use the new UxPlay “no timestamp” option
+Recommendation: use the UxPlay “no timestamp” option
“-vsync no” (you can add a line “vsync no” in the
uxplayrc configuration file).
On macOS with this installation of GStreamer, the only videosinks
@@ -846,10 +846,10 @@ osxvideosink. The window title does not show the Airplay server name,
but the window can be shared on Zoom. Because of issues with
glimagesink, you may find osxvideosink works better. The only available
audiosink is osxaudiosink.
-The option -nc is currently used by default om macOS, This is a
+
The option -nc is currently used by default on macOS, This is a
workaround for window-closing problems with GStreamer videosinks on
-macOS. In anticipation of fixes, this option can be canceled with “-nc
-no”, if not needed.
+macOS. This option can be canceled with “-nc no”, if not
+needed.
In the case of glimagesink, the resolution settings “-s wxh” may
not affect the (small) initial OpenGL mirror window size, but the window
can be expanded using the mouse or trackpad.
@@ -1700,6 +1700,11 @@ an AppleTV6,2 with sourceVersion 380.20.1 (an AppleTV 4K 1st gen,
introduced 2017, running tvOS 12.2.1), so it does not seem to matter
what version UxPlay claims to be.
Changelog
+1.72.1 2025-06-06 minor update: fix regression in -reg option; add
+option -rc to specify initialization file; add “-nc no” to
+unset “-nc” option (for macOS users, where -nc is default); add
+user-installable systemd script for running UxPlay as an
+always-available “rootless daemon”
1.72 2025-05-07. Improved HLS Live Streaming (YouTube) support,
including “scrub”. Add requested options -md <filename> to output
audio metadata text to a file for possible display (complements -ca
diff --git a/README.md b/README.md
index 4772596..76c17fe 100644
--- a/README.md
+++ b/README.md
@@ -745,9 +745,10 @@ running if the ssh session is closed. Terminal output is saved to FILE
## Building UxPlay on macOS: **(Intel X86_64 and "Apple Silicon" M1/M2 Macs)**
-*Note: A native AirPlay Server feature is included in macOS 12 Monterey,
-but is restricted to recent hardware. UxPlay can run on older macOS
-systems that will not be able to run Monterey, or can run Monterey but
+*Note: A native AirPlay Server feature is included in macOS since macOS 12 Monterey,
+but is restricted to recent hardware. As well as running on latest macOS,
+UxPlay can run on older macOS
+systems that will cannot run Monterey, or can run Monterey but
not AirPlay.*
These instructions for macOS assume that the Xcode command-line
@@ -829,7 +830,7 @@ downloads, "UxPlay" for "git clone" downloads) and build/install with
default (since UxPlay 1.64) use of timestamps for video
synchonization, many video frames are being dropped (only on macOS),
perhaps due to another error (about videometa) that shows up in the
- GStreamer warnings. **Recommendation: use the new UxPlay "no
+ GStreamer warnings. **Recommendation: use the UxPlay "no
timestamp" option "`-vsync no`"** (you can add a line "vsync no" in
the uxplayrc configuration file).
@@ -842,9 +843,9 @@ downloads, "UxPlay" for "git clone" downloads) and build/install with
osxvideosink works better. The only available audiosink is
osxaudiosink.
-- The option -nc is currently used by default om macOS, This
+- The option -nc is currently used by default on macOS, This
is a workaround for window-closing problems with GStreamer videosinks on macOS.
- In anticipation of fixes, this option can be canceled with "-nc no", if not needed.
+ This option can be canceled with "-nc no", if not needed.
- In the case of glimagesink, the resolution settings "-s wxh" may not
affect the (small) initial OpenGL mirror window size, but the window
@@ -1730,6 +1731,11 @@ introduced 2017, running tvOS 12.2.1), so it does not seem to matter
what version UxPlay claims to be.
# Changelog
+1.72.1 2025-06-06 minor update: fix regression in -reg option; add option
+-rc to specify initialization file; add "-nc no" to unset "-nc"
+option (for macOS users, where -nc is default); add user-installable
+systemd script for running UxPlay as an always-available "rootless daemon"
+
1.72 2025-05-07. Improved HLS Live Streaming (YouTube) support, including
"scrub".
Add requested options -md \ to output audio
diff --git a/README.txt b/README.txt
index 4e4d602..aca484c 100644
--- a/README.txt
+++ b/README.txt
@@ -761,10 +761,10 @@ running if the ssh session is closed. Terminal output is saved to FILE
## Building UxPlay on macOS: **(Intel X86_64 and "Apple Silicon" M1/M2 Macs)**
-*Note: A native AirPlay Server feature is included in macOS 12 Monterey,
-but is restricted to recent hardware. UxPlay can run on older macOS
-systems that will not be able to run Monterey, or can run Monterey but
-not AirPlay.*
+*Note: A native AirPlay Server feature is included in macOS since macOS
+12 Monterey, but is restricted to recent hardware. As well as running on
+latest macOS, UxPlay can run on older macOS systems that will cannot run
+Monterey, or can run Monterey but not AirPlay.*
These instructions for macOS assume that the Xcode command-line
developer tools are installed (if Xcode is installed, open the Terminal,
@@ -845,9 +845,9 @@ downloads, "UxPlay" for "git clone" downloads) and build/install with
default (since UxPlay 1.64) use of timestamps for video
synchonization, many video frames are being dropped (only on macOS),
perhaps due to another error (about videometa) that shows up in the
- GStreamer warnings. **Recommendation: use the new UxPlay "no
- timestamp" option "`-vsync no`"** (you can add a line "vsync no" in
- the uxplayrc configuration file).
+ GStreamer warnings. **Recommendation: use the UxPlay "no timestamp"
+ option "`-vsync no`"** (you can add a line "vsync no" in the
+ uxplayrc configuration file).
- On macOS with this installation of GStreamer, the only videosinks
available are glimagesink (default choice made by autovideosink) and
@@ -856,10 +856,9 @@ downloads, "UxPlay" for "git clone" downloads) and build/install with
glimagesink, you may find osxvideosink works better. The only
available audiosink is osxaudiosink.
-- The option -nc is currently used by default om macOS, This is a
+- The option -nc is currently used by default on macOS, This is a
workaround for window-closing problems with GStreamer videosinks on
- macOS. In anticipation of fixes, this option can be canceled with
- "-nc no", if not needed.
+ macOS. This option can be canceled with "-nc no", if not needed.
- In the case of glimagesink, the resolution settings "-s wxh" may not
affect the (small) initial OpenGL mirror window size, but the window
@@ -1752,6 +1751,12 @@ what version UxPlay claims to be.
# Changelog
+1.72.1 2025-06-06 minor update: fix regression in -reg option; add
+option -rc ``{=html} to specify initialization file; add "-nc
+no" to unset "-nc" option (for macOS users, where -nc is default); add
+user-installable systemd script for running UxPlay as an
+always-available "rootless daemon"
+
1.72 2025-05-07. Improved HLS Live Streaming (YouTube) support,
including "scrub". Add requested options -md \ to output
audio metadata text to a file for possible display (complements -ca
diff --git a/uxplay.spec b/uxplay.spec
index 85b4f96..87d46b1 100644
--- a/uxplay.spec
+++ b/uxplay.spec
@@ -1,5 +1,5 @@
Name: uxplay
-Version: 1.72
+Version: 1.72.1
Release: 1%{?dist}
%global gittag v%{version}
@@ -135,8 +135,8 @@ cd build
%{_docdir}/%{name}/llhttp/LICENSE-MIT
%changelog
-* Thu May 1 2025 UxPlay maintainer
- Update for 1.72 release
+* Thu Jun 5 2025 UxPlay maintainer
+ Update for 1.72.1 release
* Fri Nov 15 2024 UxPlay maintainer
Initial uxplay.spec: tested on Fedora 38, Rocky Linux 9.2, OpenSUSE
Leap 15.5, Mageia 9, OpenMandriva ROME, PCLinuxOS
From ff7e0136ebc597fda7252faab933d409bf210ca8 Mon Sep 17 00:00:00 2001
From: "F. Duncanh"
Date: Thu, 26 Jun 2025 09:54:52 -0400
Subject: [PATCH 60/65] update llhttp to v9.3.0
---
lib/llhttp/api.c | 45 +-
lib/llhttp/llhttp.c | 3019 +++++++++++++++++++++----------------------
lib/llhttp/llhttp.h | 10 +-
3 files changed, 1504 insertions(+), 1570 deletions(-)
diff --git a/lib/llhttp/api.c b/lib/llhttp/api.c
index 8c2ce3d..0245254 100644
--- a/lib/llhttp/api.c
+++ b/lib/llhttp/api.c
@@ -57,29 +57,14 @@ static int wasm_on_headers_complete_wrap(llhttp_t* p) {
}
const llhttp_settings_t wasm_settings = {
- wasm_on_message_begin,
- wasm_on_url,
- wasm_on_status,
- NULL,
- NULL,
- wasm_on_header_field,
- wasm_on_header_value,
- NULL,
- NULL,
- wasm_on_headers_complete_wrap,
- wasm_on_body,
- wasm_on_message_complete,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ .on_message_begin = wasm_on_message_begin,
+ .on_url = wasm_on_url,
+ .on_status = wasm_on_status,
+ .on_header_field = wasm_on_header_field,
+ .on_header_value = wasm_on_header_value,
+ .on_headers_complete = wasm_on_headers_complete_wrap,
+ .on_body = wasm_on_body,
+ .on_message_complete = wasm_on_message_complete,
};
@@ -341,6 +326,20 @@ int llhttp__on_message_begin(llhttp_t* s, const char* p, const char* endp) {
}
+int llhttp__on_protocol(llhttp_t* s, const char* p, const char* endp) {
+ int err;
+ SPAN_CALLBACK_MAYBE(s, on_protocol, p, endp - p);
+ return err;
+}
+
+
+int llhttp__on_protocol_complete(llhttp_t* s, const char* p, const char* endp) {
+ int err;
+ CALLBACK_MAYBE(s, on_protocol_complete);
+ return err;
+}
+
+
int llhttp__on_url(llhttp_t* s, const char* p, const char* endp) {
int err;
SPAN_CALLBACK_MAYBE(s, on_url, p, endp - p);
diff --git a/lib/llhttp/llhttp.c b/lib/llhttp/llhttp.c
index 3ef3b81..aa4c468 100644
--- a/lib/llhttp/llhttp.c
+++ b/lib/llhttp/llhttp.c
@@ -10,10 +10,20 @@
#endif /* _MSC_VER */
#endif /* __SSE4_2__ */
+#ifdef __ARM_NEON__
+ #include
+#endif /* __ARM_NEON__ */
+
+#ifdef __wasm__
+ #include
+#endif /* __wasm__ */
+
#ifdef _MSC_VER
#define ALIGN(n) _declspec(align(n))
+ #define UNREACHABLE __assume(0)
#else /* !_MSC_VER */
#define ALIGN(n) __attribute__((aligned(n)))
+ #define UNREACHABLE __builtin_unreachable()
#endif /* _MSC_VER */
#include "llhttp.h"
@@ -72,16 +82,16 @@ static const unsigned char llparse_blob12[] = {
'p', 'g', 'r', 'a', 'd', 'e'
};
static const unsigned char llparse_blob13[] = {
- 'T', 'T', 'P', '/'
+ 'T', 'T', 'P'
};
static const unsigned char llparse_blob14[] = {
0xd, 0xa, 0xd, 0xa, 'S', 'M', 0xd, 0xa, 0xd, 0xa
};
static const unsigned char llparse_blob15[] = {
- 'C', 'E', '/'
+ 'C', 'E'
};
static const unsigned char llparse_blob16[] = {
- 'T', 'S', 'P', '/'
+ 'T', 'S', 'P'
};
static const unsigned char llparse_blob17[] = {
'N', 'O', 'U', 'N', 'C', 'E'
@@ -207,12 +217,18 @@ static const unsigned char llparse_blob57[] = {
'U', 'B', 'S', 'C', 'R', 'I', 'B', 'E'
};
static const unsigned char llparse_blob58[] = {
- 'H', 'T', 'T', 'P', '/'
+ 'T', 'T', 'P'
};
static const unsigned char llparse_blob59[] = {
- 'A', 'D'
+ 'C', 'E'
};
static const unsigned char llparse_blob60[] = {
+ 'T', 'S', 'P'
+};
+static const unsigned char llparse_blob61[] = {
+ 'A', 'D'
+};
+static const unsigned char llparse_blob62[] = {
'T', 'P', '/'
};
@@ -425,17 +441,27 @@ enum llparse_state_e {
s_n_llhttp__internal__n_req_http_complete,
s_n_llhttp__internal__n_invoke_load_method_1,
s_n_llhttp__internal__n_invoke_llhttp__on_version_complete,
- s_n_llhttp__internal__n_error_66,
- s_n_llhttp__internal__n_error_73,
- s_n_llhttp__internal__n_req_http_minor,
+ s_n_llhttp__internal__n_error_67,
s_n_llhttp__internal__n_error_74,
- s_n_llhttp__internal__n_req_http_dot,
+ s_n_llhttp__internal__n_req_http_minor,
s_n_llhttp__internal__n_error_75,
+ s_n_llhttp__internal__n_req_http_dot,
+ s_n_llhttp__internal__n_error_76,
s_n_llhttp__internal__n_req_http_major,
s_n_llhttp__internal__n_span_start_llhttp__on_version,
- s_n_llhttp__internal__n_req_http_start_1,
- s_n_llhttp__internal__n_req_http_start_2,
- s_n_llhttp__internal__n_req_http_start_3,
+ s_n_llhttp__internal__n_req_after_protocol,
+ s_n_llhttp__internal__n_invoke_load_method,
+ s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete,
+ s_n_llhttp__internal__n_error_82,
+ s_n_llhttp__internal__n_req_after_http_start_1,
+ s_n_llhttp__internal__n_invoke_load_method_2,
+ s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_1,
+ s_n_llhttp__internal__n_req_after_http_start_2,
+ s_n_llhttp__internal__n_invoke_load_method_3,
+ s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_2,
+ s_n_llhttp__internal__n_req_after_http_start_3,
+ s_n_llhttp__internal__n_req_after_http_start,
+ s_n_llhttp__internal__n_span_start_llhttp__on_protocol,
s_n_llhttp__internal__n_req_http_start,
s_n_llhttp__internal__n_url_to_http,
s_n_llhttp__internal__n_url_skip_to_http,
@@ -543,15 +569,22 @@ enum llparse_state_e {
s_n_llhttp__internal__n_res_status_code_digit_1,
s_n_llhttp__internal__n_res_after_version,
s_n_llhttp__internal__n_invoke_llhttp__on_version_complete_1,
- s_n_llhttp__internal__n_error_89,
- s_n_llhttp__internal__n_error_103,
+ s_n_llhttp__internal__n_error_93,
+ s_n_llhttp__internal__n_error_107,
s_n_llhttp__internal__n_res_http_minor,
- s_n_llhttp__internal__n_error_104,
+ s_n_llhttp__internal__n_error_108,
s_n_llhttp__internal__n_res_http_dot,
- s_n_llhttp__internal__n_error_105,
+ s_n_llhttp__internal__n_error_109,
s_n_llhttp__internal__n_res_http_major,
s_n_llhttp__internal__n_span_start_llhttp__on_version_1,
- s_n_llhttp__internal__n_start_res,
+ s_n_llhttp__internal__n_res_after_protocol,
+ s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_3,
+ s_n_llhttp__internal__n_error_115,
+ s_n_llhttp__internal__n_res_after_start_1,
+ s_n_llhttp__internal__n_res_after_start_2,
+ s_n_llhttp__internal__n_res_after_start_3,
+ s_n_llhttp__internal__n_res_after_start,
+ s_n_llhttp__internal__n_span_start_llhttp__on_protocol_1,
s_n_llhttp__internal__n_invoke_llhttp__on_method_complete,
s_n_llhttp__internal__n_req_or_res_method_2,
s_n_llhttp__internal__n_invoke_update_type_1,
@@ -574,6 +607,10 @@ int llhttp__on_url(
llhttp__internal_t* s, const unsigned char* p,
const unsigned char* endp);
+int llhttp__on_protocol(
+ llhttp__internal_t* s, const unsigned char* p,
+ const unsigned char* endp);
+
int llhttp__on_version(
llhttp__internal_t* s, const unsigned char* p,
const unsigned char* endp);
@@ -1057,6 +1094,10 @@ int llhttp__internal__c_or_flags_20(
return 0;
}
+int llhttp__on_protocol_complete(
+ llhttp__internal_t* s, const unsigned char* p,
+ const unsigned char* endp);
+
int llhttp__internal__c_load_method(
llhttp__internal_t* state,
const unsigned char* p,
@@ -1192,8 +1233,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_3;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__after_message_complete:
s_n_llhttp__internal__n_invoke_llhttp__after_message_complete: {
@@ -1203,8 +1243,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_update_finish_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_pause_1:
s_n_llhttp__internal__n_pause_1: {
@@ -1213,8 +1252,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_is_equal_upgrade:
s_n_llhttp__internal__n_invoke_is_equal_upgrade: {
@@ -1224,8 +1262,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_pause_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2:
s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2: {
@@ -1237,8 +1274,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_38;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_data_almost_done_1:
s_n_llhttp__internal__n_chunk_data_almost_done_1: {
@@ -1254,8 +1290,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_7;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_data_almost_done:
s_n_llhttp__internal__n_chunk_data_almost_done: {
@@ -1275,8 +1310,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_7;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_consume_content_length:
s_n_llhttp__internal__n_consume_content_length: {
@@ -1293,8 +1327,7 @@ static llparse_state_t llhttp__internal__run(
state->content_length -= avail;
return s_n_llhttp__internal__n_consume_content_length;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_body:
s_n_llhttp__internal__n_span_start_llhttp__on_body: {
@@ -1304,8 +1337,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_body;
goto s_n_llhttp__internal__n_consume_content_length;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_is_equal_content_length:
s_n_llhttp__internal__n_invoke_is_equal_content_length: {
@@ -1315,8 +1347,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_or_flags;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_size_almost_done:
s_n_llhttp__internal__n_chunk_size_almost_done: {
@@ -1332,8 +1363,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_8;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_test_lenient_flags_9:
s_n_llhttp__internal__n_invoke_test_lenient_flags_9: {
@@ -1343,8 +1373,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_20;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete:
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete: {
@@ -1356,8 +1385,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_19;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete_1:
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete_1: {
@@ -1369,8 +1397,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_21;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete_2:
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete_2: {
@@ -1382,8 +1409,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_22;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_test_lenient_flags_10:
s_n_llhttp__internal__n_invoke_test_lenient_flags_10: {
@@ -1393,8 +1419,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_25;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete:
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete: {
@@ -1406,8 +1431,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_24;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_1:
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_1: {
@@ -1419,8 +1443,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_26;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_extension_quoted_value_done:
s_n_llhttp__internal__n_chunk_extension_quoted_value_done: {
@@ -1443,8 +1466,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_error_29;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_2:
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_2: {
@@ -1456,8 +1478,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_27;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_error_30:
s_n_llhttp__internal__n_error_30: {
@@ -1466,8 +1487,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_extension_quoted_value_quoted_pair:
s_n_llhttp__internal__n_chunk_extension_quoted_value_quoted_pair: {
@@ -1501,8 +1521,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_3;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_error_31:
s_n_llhttp__internal__n_error_31: {
@@ -1511,8 +1530,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_extension_quoted_value:
s_n_llhttp__internal__n_chunk_extension_quoted_value: {
@@ -1554,8 +1572,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_4;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_3:
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_3: {
@@ -1567,8 +1584,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_32;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_error_33:
s_n_llhttp__internal__n_error_33: {
@@ -1577,8 +1593,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_extension_value:
s_n_llhttp__internal__n_chunk_extension_value: {
@@ -1625,8 +1640,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_6;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_value:
s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_value: {
@@ -1636,8 +1650,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_chunk_extension_value;
goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete_3;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_error_34:
s_n_llhttp__internal__n_error_34: {
@@ -1646,8 +1659,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_extension_name:
s_n_llhttp__internal__n_chunk_extension_name: {
@@ -1693,8 +1705,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_4;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_name:
s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_name: {
@@ -1704,8 +1715,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_chunk_extension_name;
goto s_n_llhttp__internal__n_chunk_extension_name;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_extensions:
s_n_llhttp__internal__n_chunk_extensions: {
@@ -1725,8 +1735,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_name;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_size_otherwise:
s_n_llhttp__internal__n_chunk_size_otherwise: {
@@ -1758,8 +1767,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_error_35;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_size:
s_n_llhttp__internal__n_chunk_size: {
@@ -1881,8 +1889,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_chunk_size_otherwise;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_chunk_size_digit:
s_n_llhttp__internal__n_chunk_size_digit: {
@@ -2004,8 +2011,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_error_37;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_update_content_length_1:
s_n_llhttp__internal__n_invoke_update_content_length_1: {
@@ -2013,8 +2019,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_chunk_size_digit;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_consume_content_length_1:
s_n_llhttp__internal__n_consume_content_length_1: {
@@ -2031,8 +2036,7 @@ static llparse_state_t llhttp__internal__run(
state->content_length -= avail;
return s_n_llhttp__internal__n_consume_content_length_1;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_body_1:
s_n_llhttp__internal__n_span_start_llhttp__on_body_1: {
@@ -2042,8 +2046,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_body;
goto s_n_llhttp__internal__n_consume_content_length_1;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_eof:
s_n_llhttp__internal__n_eof: {
@@ -2052,8 +2055,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_eof;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_body_2:
s_n_llhttp__internal__n_span_start_llhttp__on_body_2: {
@@ -2063,8 +2065,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_body;
goto s_n_llhttp__internal__n_eof;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete:
s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete: {
@@ -2082,8 +2083,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_error_5:
s_n_llhttp__internal__n_error_5: {
@@ -2092,8 +2092,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_headers_almost_done:
s_n_llhttp__internal__n_headers_almost_done: {
@@ -2109,8 +2108,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_12;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_colon_discard_ws:
s_n_llhttp__internal__n_header_field_colon_discard_ws: {
@@ -2126,8 +2124,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_field_colon;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete:
s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete: {
@@ -2139,8 +2136,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_48;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_header_value:
s_n_llhttp__internal__n_span_start_llhttp__on_header_value: {
@@ -2150,8 +2146,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_header_value;
goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_discard_lws:
s_n_llhttp__internal__n_header_value_discard_lws: {
@@ -2171,8 +2166,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_load_header_state_1;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_discard_ws_almost_done:
s_n_llhttp__internal__n_header_value_discard_ws_almost_done: {
@@ -2188,8 +2182,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_16;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_lws:
s_n_llhttp__internal__n_header_value_lws: {
@@ -2207,8 +2200,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_load_header_state_5;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_almost_done:
s_n_llhttp__internal__n_header_value_almost_done: {
@@ -2224,8 +2216,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_error_53;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_test_lenient_flags_17:
s_n_llhttp__internal__n_invoke_test_lenient_flags_17: {
@@ -2235,8 +2226,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_51;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_lenient:
s_n_llhttp__internal__n_header_value_lenient: {
@@ -2255,8 +2245,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_lenient;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_error_54:
s_n_llhttp__internal__n_error_54: {
@@ -2265,8 +2254,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_otherwise:
s_n_llhttp__internal__n_header_value_otherwise: {
@@ -2284,8 +2272,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_19;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_connection_token:
s_n_llhttp__internal__n_header_value_connection_token: {
@@ -2323,8 +2310,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_otherwise;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_connection_ws:
s_n_llhttp__internal__n_header_value_connection_ws: {
@@ -2350,8 +2336,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_5;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_connection_1:
s_n_llhttp__internal__n_header_value_connection_1: {
@@ -2374,8 +2359,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_connection_token;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_connection_2:
s_n_llhttp__internal__n_header_value_connection_2: {
@@ -2398,8 +2382,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_connection_token;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_connection_3:
s_n_llhttp__internal__n_header_value_connection_3: {
@@ -2422,8 +2405,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_connection_token;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_connection:
s_n_llhttp__internal__n_header_value_connection: {
@@ -2455,8 +2437,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_connection_token;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_error_56:
s_n_llhttp__internal__n_error_56: {
@@ -2465,8 +2446,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_error_57:
s_n_llhttp__internal__n_error_57: {
@@ -2475,8 +2455,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_content_length_ws:
s_n_llhttp__internal__n_header_value_content_length_ws: {
@@ -2498,8 +2477,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_7;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_content_length:
s_n_llhttp__internal__n_header_value_content_length: {
@@ -2561,8 +2539,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_content_length_ws;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_error_59:
s_n_llhttp__internal__n_error_59: {
@@ -2571,8 +2548,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_error_58:
s_n_llhttp__internal__n_error_58: {
@@ -2581,8 +2557,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_te_token_ows:
s_n_llhttp__internal__n_header_value_te_token_ows: {
@@ -2602,8 +2577,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_te_chunked;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value:
s_n_llhttp__internal__n_header_value: {
@@ -2632,7 +2606,6 @@ static llparse_state_t llhttp__internal__run(
if (endp - p >= 16) {
__m128i ranges;
__m128i input;
- int avail;
int match_len;
/* Load input */
@@ -2652,6 +2625,78 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_otherwise;
}
#endif /* __SSE4_2__ */
+ #ifdef __ARM_NEON__
+ while (endp - p >= 16) {
+ uint8x16_t input;
+ uint8x16_t single;
+ uint8x16_t mask;
+ uint8x8_t narrow;
+ uint64_t match_mask;
+ int match_len;
+
+ /* Load input */
+ input = vld1q_u8(p);
+ /* Find first character that does not match `ranges` */
+ single = vceqq_u8(input, vdupq_n_u8(0x9));
+ mask = single;
+ single = vandq_u16(
+ vcgeq_u8(input, vdupq_n_u8(' ')),
+ vcleq_u8(input, vdupq_n_u8('~'))
+ );
+ mask = vorrq_u16(mask, single);
+ single = vandq_u16(
+ vcgeq_u8(input, vdupq_n_u8(0x80)),
+ vcleq_u8(input, vdupq_n_u8(0xff))
+ );
+ mask = vorrq_u16(mask, single);
+ narrow = vshrn_n_u16(mask, 4);
+ match_mask = ~vget_lane_u64(vreinterpret_u64_u8(narrow), 0);
+ match_len = __builtin_ctzll(match_mask) >> 2;
+ if (match_len != 16) {
+ p += match_len;
+ goto s_n_llhttp__internal__n_header_value_otherwise;
+ }
+ p += 16;
+ }
+ if (p == endp) {
+ return s_n_llhttp__internal__n_header_value;
+ }
+ #endif /* __ARM_NEON__ */
+ #ifdef __wasm_simd128__
+ while (endp - p >= 16) {
+ v128_t input;
+ v128_t mask;
+ v128_t single;
+ int match_len;
+
+ /* Load input */
+ input = wasm_v128_load(p);
+ /* Find first character that does not match `ranges` */
+ single = wasm_i8x16_eq(input, wasm_u8x16_const_splat(0x9));
+ mask = single;
+ single = wasm_v128_and(
+ wasm_i8x16_ge(input, wasm_u8x16_const_splat(' ')),
+ wasm_i8x16_le(input, wasm_u8x16_const_splat('~'))
+ );
+ mask = wasm_v128_or(mask, single);
+ single = wasm_v128_and(
+ wasm_i8x16_ge(input, wasm_u8x16_const_splat(0x80)),
+ wasm_i8x16_le(input, wasm_u8x16_const_splat(0xff))
+ );
+ mask = wasm_v128_or(mask, single);
+ match_len = __builtin_ctz(
+ ~wasm_i8x16_bitmask(mask)
+ );
+ if (match_len != 16) {
+ p += match_len;
+ goto s_n_llhttp__internal__n_header_value_otherwise;
+ }
+ p += 16;
+ }
+ if (p == endp) {
+ return s_n_llhttp__internal__n_header_value;
+ }
+ #endif /* __wasm_simd128__ */
switch (lookup_table[(uint8_t) *p]) {
case 1: {
p++;
@@ -2661,8 +2706,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_otherwise;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_te_token:
s_n_llhttp__internal__n_header_value_te_token: {
@@ -2700,8 +2744,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_9;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_te_chunked_last:
s_n_llhttp__internal__n_header_value_te_chunked_last: {
@@ -2726,8 +2769,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_te_token;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_te_chunked:
s_n_llhttp__internal__n_header_value_te_chunked: {
@@ -2750,8 +2792,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_value_te_token;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1:
s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1: {
@@ -2761,8 +2802,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_header_value;
goto s_n_llhttp__internal__n_invoke_load_header_state_3;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_value_discard_ws:
s_n_llhttp__internal__n_header_value_discard_ws: {
@@ -2790,8 +2830,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_load_header_state:
s_n_llhttp__internal__n_invoke_load_header_state: {
@@ -2803,8 +2842,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_header_value_discard_ws;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete:
s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete: {
@@ -2816,8 +2854,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_45;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_general_otherwise:
s_n_llhttp__internal__n_header_field_general_otherwise: {
@@ -2832,8 +2869,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_error_62;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_general:
s_n_llhttp__internal__n_header_field_general: {
@@ -2862,7 +2898,6 @@ static llparse_state_t llhttp__internal__run(
if (endp - p >= 16) {
__m128i ranges;
__m128i input;
- int avail;
int match_len;
/* Load input */
@@ -2903,8 +2938,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_field_general_otherwise;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_colon:
s_n_llhttp__internal__n_header_field_colon: {
@@ -2922,8 +2956,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_10;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_3:
s_n_llhttp__internal__n_header_field_3: {
@@ -2947,8 +2980,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_11;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_4:
s_n_llhttp__internal__n_header_field_4: {
@@ -2972,8 +3004,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_11;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_2:
s_n_llhttp__internal__n_header_field_2: {
@@ -2993,8 +3024,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_11;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_1:
s_n_llhttp__internal__n_header_field_1: {
@@ -3017,8 +3047,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_11;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_5:
s_n_llhttp__internal__n_header_field_5: {
@@ -3042,8 +3071,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_11;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_6:
s_n_llhttp__internal__n_header_field_6: {
@@ -3067,8 +3095,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_11;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_7:
s_n_llhttp__internal__n_header_field_7: {
@@ -3092,8 +3119,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_11;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field:
s_n_llhttp__internal__n_header_field: {
@@ -3121,8 +3147,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_header_state_11;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_header_field:
s_n_llhttp__internal__n_span_start_llhttp__on_header_field: {
@@ -3132,8 +3157,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_header_field;
goto s_n_llhttp__internal__n_header_field;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_header_field_start:
s_n_llhttp__internal__n_header_field_start: {
@@ -3156,8 +3180,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_headers_start:
s_n_llhttp__internal__n_headers_start: {
@@ -3173,8 +3196,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_header_field_start;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_to_http_09:
s_n_llhttp__internal__n_url_to_http_09: {
@@ -3194,8 +3216,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_http_major;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_skip_to_http09:
s_n_llhttp__internal__n_url_skip_to_http09: {
@@ -3216,8 +3237,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_url_to_http_09;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_skip_lf_to_http09_1:
s_n_llhttp__internal__n_url_skip_lf_to_http09_1: {
@@ -3233,8 +3253,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_error_63;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_skip_lf_to_http09:
s_n_llhttp__internal__n_url_skip_lf_to_http09: {
@@ -3258,8 +3277,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_error_63;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_pri_upgrade:
s_n_llhttp__internal__n_req_pri_upgrade: {
@@ -3273,17 +3291,16 @@ static llparse_state_t llhttp__internal__run(
switch (match_seq.status) {
case kMatchComplete: {
p++;
- goto s_n_llhttp__internal__n_error_71;
+ goto s_n_llhttp__internal__n_error_72;
}
case kMatchPause: {
return s_n_llhttp__internal__n_req_pri_upgrade;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_72;
+ goto s_n_llhttp__internal__n_error_73;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_http_complete_crlf:
s_n_llhttp__internal__n_req_http_complete_crlf: {
@@ -3299,8 +3316,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_26;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_http_complete:
s_n_llhttp__internal__n_req_http_complete: {
@@ -3317,11 +3333,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_req_http_complete_crlf;
}
default: {
- goto s_n_llhttp__internal__n_error_70;
+ goto s_n_llhttp__internal__n_error_71;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_load_method_1:
s_n_llhttp__internal__n_invoke_load_method_1: {
@@ -3331,8 +3346,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_req_http_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_version_complete:
s_n_llhttp__internal__n_invoke_llhttp__on_version_complete: {
@@ -3342,30 +3356,27 @@ static llparse_state_t llhttp__internal__run(
case 21:
goto s_n_llhttp__internal__n_pause_21;
default:
- goto s_n_llhttp__internal__n_error_67;
+ goto s_n_llhttp__internal__n_error_68;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_error_66:
- s_n_llhttp__internal__n_error_66: {
+ case s_n_llhttp__internal__n_error_67:
+ s_n_llhttp__internal__n_error_67: {
state->error = 0x9;
state->reason = "Invalid HTTP version";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_error_73:
- s_n_llhttp__internal__n_error_73: {
+ case s_n_llhttp__internal__n_error_74:
+ s_n_llhttp__internal__n_error_74: {
state->error = 0x9;
state->reason = "Invalid minor version";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_http_minor:
s_n_llhttp__internal__n_req_http_minor: {
@@ -3427,18 +3438,16 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_version_2;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_error_74:
- s_n_llhttp__internal__n_error_74: {
+ case s_n_llhttp__internal__n_error_75:
+ s_n_llhttp__internal__n_error_75: {
state->error = 0x9;
state->reason = "Expected dot";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_http_dot:
s_n_llhttp__internal__n_req_http_dot: {
@@ -3454,18 +3463,16 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_version_3;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_error_75:
- s_n_llhttp__internal__n_error_75: {
+ case s_n_llhttp__internal__n_error_76:
+ s_n_llhttp__internal__n_error_76: {
state->error = 0x9;
state->reason = "Invalid major version";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_http_major:
s_n_llhttp__internal__n_req_http_major: {
@@ -3527,8 +3534,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_version_4;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_version:
s_n_llhttp__internal__n_span_start_llhttp__on_version: {
@@ -3538,80 +3544,297 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_version;
goto s_n_llhttp__internal__n_req_http_major;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_req_http_start_1:
- s_n_llhttp__internal__n_req_http_start_1: {
- llparse_match_t match_seq;
-
+ case s_n_llhttp__internal__n_req_after_protocol:
+ s_n_llhttp__internal__n_req_after_protocol: {
if (p == endp) {
- return s_n_llhttp__internal__n_req_http_start_1;
+ return s_n_llhttp__internal__n_req_after_protocol;
}
- match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob13, 4);
- p = match_seq.current;
- switch (match_seq.status) {
- case kMatchComplete: {
+ switch (*p) {
+ case '/': {
p++;
+ goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
+ }
+ default: {
+ goto s_n_llhttp__internal__n_error_77;
+ }
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_invoke_load_method:
+ s_n_llhttp__internal__n_invoke_load_method: {
+ switch (llhttp__internal__c_load_method(state, p, endp)) {
+ case 0:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 1:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 2:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 3:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 4:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 5:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 6:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 7:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 8:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 9:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 10:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 11:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 12:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 13:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 14:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 15:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 16:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 17:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 18:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 19:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 20:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 21:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 22:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 23:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 24:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 25:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 26:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 27:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 28:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 29:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 30:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 31:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 32:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 33:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 34:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 46:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ default:
+ goto s_n_llhttp__internal__n_error_66;
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete:
+ s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete: {
+ switch (llhttp__on_protocol_complete(state, p, endp)) {
+ case 0:
goto s_n_llhttp__internal__n_invoke_load_method;
- }
- case kMatchPause: {
- return s_n_llhttp__internal__n_req_http_start_1;
- }
- case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_78;
- }
+ case 21:
+ goto s_n_llhttp__internal__n_pause_22;
+ default:
+ goto s_n_llhttp__internal__n_error_65;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_req_http_start_2:
- s_n_llhttp__internal__n_req_http_start_2: {
+ case s_n_llhttp__internal__n_error_82:
+ s_n_llhttp__internal__n_error_82: {
+ state->error = 0x8;
+ state->reason = "Expected HTTP/, RTSP/ or ICE/";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_req_after_http_start_1:
+ s_n_llhttp__internal__n_req_after_http_start_1: {
llparse_match_t match_seq;
if (p == endp) {
- return s_n_llhttp__internal__n_req_http_start_2;
+ return s_n_llhttp__internal__n_req_after_http_start_1;
}
- match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob15, 3);
+ match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob13, 3);
p = match_seq.current;
switch (match_seq.status) {
case kMatchComplete: {
p++;
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol;
+ }
+ case kMatchPause: {
+ return s_n_llhttp__internal__n_req_after_http_start_1;
+ }
+ case kMatchMismatch: {
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_3;
+ }
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_invoke_load_method_2:
+ s_n_llhttp__internal__n_invoke_load_method_2: {
+ switch (llhttp__internal__c_load_method(state, p, endp)) {
+ case 33:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ default:
+ goto s_n_llhttp__internal__n_error_79;
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_1:
+ s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_1: {
+ switch (llhttp__on_protocol_complete(state, p, endp)) {
+ case 0:
goto s_n_llhttp__internal__n_invoke_load_method_2;
- }
- case kMatchPause: {
- return s_n_llhttp__internal__n_req_http_start_2;
- }
- case kMatchMismatch: {
+ case 21:
+ goto s_n_llhttp__internal__n_pause_23;
+ default:
goto s_n_llhttp__internal__n_error_78;
- }
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_req_http_start_3:
- s_n_llhttp__internal__n_req_http_start_3: {
+ case s_n_llhttp__internal__n_req_after_http_start_2:
+ s_n_llhttp__internal__n_req_after_http_start_2: {
llparse_match_t match_seq;
if (p == endp) {
- return s_n_llhttp__internal__n_req_http_start_3;
+ return s_n_llhttp__internal__n_req_after_http_start_2;
}
- match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob16, 4);
+ match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob15, 2);
p = match_seq.current;
switch (match_seq.status) {
case kMatchComplete: {
p++;
- goto s_n_llhttp__internal__n_invoke_load_method_3;
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_1;
}
case kMatchPause: {
- return s_n_llhttp__internal__n_req_http_start_3;
+ return s_n_llhttp__internal__n_req_after_http_start_2;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_78;
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_3;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_invoke_load_method_3:
+ s_n_llhttp__internal__n_invoke_load_method_3: {
+ switch (llhttp__internal__c_load_method(state, p, endp)) {
+ case 1:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 3:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 6:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 35:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 36:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 37:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 38:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 39:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 40:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 41:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 42:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 43:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 44:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ case 45:
+ goto s_n_llhttp__internal__n_req_after_protocol;
+ default:
+ goto s_n_llhttp__internal__n_error_81;
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_2:
+ s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_2: {
+ switch (llhttp__on_protocol_complete(state, p, endp)) {
+ case 0:
+ goto s_n_llhttp__internal__n_invoke_load_method_3;
+ case 21:
+ goto s_n_llhttp__internal__n_pause_24;
+ default:
+ goto s_n_llhttp__internal__n_error_80;
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_req_after_http_start_3:
+ s_n_llhttp__internal__n_req_after_http_start_3: {
+ llparse_match_t match_seq;
+
+ if (p == endp) {
+ return s_n_llhttp__internal__n_req_after_http_start_3;
+ }
+ match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob16, 3);
+ p = match_seq.current;
+ switch (match_seq.status) {
+ case kMatchComplete: {
+ p++;
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_2;
+ }
+ case kMatchPause: {
+ return s_n_llhttp__internal__n_req_after_http_start_3;
+ }
+ case kMatchMismatch: {
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_3;
+ }
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_req_after_http_start:
+ s_n_llhttp__internal__n_req_after_http_start: {
+ if (p == endp) {
+ return s_n_llhttp__internal__n_req_after_http_start;
+ }
+ switch (*p) {
+ case 'H': {
+ p++;
+ goto s_n_llhttp__internal__n_req_after_http_start_1;
+ }
+ case 'I': {
+ p++;
+ goto s_n_llhttp__internal__n_req_after_http_start_2;
+ }
+ case 'R': {
+ p++;
+ goto s_n_llhttp__internal__n_req_after_http_start_3;
+ }
+ default: {
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_3;
+ }
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_span_start_llhttp__on_protocol:
+ s_n_llhttp__internal__n_span_start_llhttp__on_protocol: {
+ if (p == endp) {
+ return s_n_llhttp__internal__n_span_start_llhttp__on_protocol;
+ }
+ state->_span_pos0 = (void*) p;
+ state->_span_cb0 = llhttp__on_protocol;
+ goto s_n_llhttp__internal__n_req_after_http_start;
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_http_start:
s_n_llhttp__internal__n_req_http_start: {
@@ -3623,24 +3846,11 @@ static llparse_state_t llhttp__internal__run(
p++;
goto s_n_llhttp__internal__n_req_http_start;
}
- case 'H': {
- p++;
- goto s_n_llhttp__internal__n_req_http_start_1;
- }
- case 'I': {
- p++;
- goto s_n_llhttp__internal__n_req_http_start_2;
- }
- case 'R': {
- p++;
- goto s_n_llhttp__internal__n_req_http_start_3;
- }
default: {
- goto s_n_llhttp__internal__n_error_78;
+ goto s_n_llhttp__internal__n_span_start_llhttp__on_protocol;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_to_http:
s_n_llhttp__internal__n_url_to_http: {
@@ -3660,8 +3870,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_llhttp__on_url_complete_1;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_skip_to_http:
s_n_llhttp__internal__n_url_skip_to_http: {
@@ -3682,8 +3891,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_url_to_http;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_fragment:
s_n_llhttp__internal__n_url_fragment: {
@@ -3727,11 +3935,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_url_fragment;
}
default: {
- goto s_n_llhttp__internal__n_error_79;
+ goto s_n_llhttp__internal__n_error_83;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_end_stub_query_3:
s_n_llhttp__internal__n_span_end_stub_query_3: {
@@ -3740,8 +3947,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_url_fragment;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_query:
s_n_llhttp__internal__n_url_query: {
@@ -3788,11 +3994,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_stub_query_3;
}
default: {
- goto s_n_llhttp__internal__n_error_80;
+ goto s_n_llhttp__internal__n_error_84;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_query_or_fragment:
s_n_llhttp__internal__n_url_query_or_fragment: {
@@ -3826,11 +4031,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_url_query;
}
default: {
- goto s_n_llhttp__internal__n_error_81;
+ goto s_n_llhttp__internal__n_error_85;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_path:
s_n_llhttp__internal__n_url_path: {
@@ -3868,8 +4072,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_url_query_or_fragment;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_stub_path_2:
s_n_llhttp__internal__n_span_start_stub_path_2: {
@@ -3878,8 +4081,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_url_path;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_stub_path:
s_n_llhttp__internal__n_span_start_stub_path: {
@@ -3888,8 +4090,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_url_path;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_stub_path_1:
s_n_llhttp__internal__n_span_start_stub_path_1: {
@@ -3898,8 +4099,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_url_path;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_server_with_at:
s_n_llhttp__internal__n_url_server_with_at: {
@@ -3951,14 +4151,13 @@ static llparse_state_t llhttp__internal__run(
}
case 8: {
p++;
- goto s_n_llhttp__internal__n_error_82;
+ goto s_n_llhttp__internal__n_error_86;
}
default: {
- goto s_n_llhttp__internal__n_error_83;
+ goto s_n_llhttp__internal__n_error_87;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_server:
s_n_llhttp__internal__n_url_server: {
@@ -4013,11 +4212,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_url_server_with_at;
}
default: {
- goto s_n_llhttp__internal__n_error_84;
+ goto s_n_llhttp__internal__n_error_88;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_schema_delim_1:
s_n_llhttp__internal__n_url_schema_delim_1: {
@@ -4030,11 +4228,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_url_server;
}
default: {
- goto s_n_llhttp__internal__n_error_85;
+ goto s_n_llhttp__internal__n_error_89;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_schema_delim:
s_n_llhttp__internal__n_url_schema_delim: {
@@ -4067,11 +4264,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_url_schema_delim_1;
}
default: {
- goto s_n_llhttp__internal__n_error_85;
+ goto s_n_llhttp__internal__n_error_89;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_end_stub_schema:
s_n_llhttp__internal__n_span_end_stub_schema: {
@@ -4080,8 +4276,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_url_schema_delim;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_schema:
s_n_llhttp__internal__n_url_schema: {
@@ -4119,11 +4314,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_url_schema;
}
default: {
- goto s_n_llhttp__internal__n_error_86;
+ goto s_n_llhttp__internal__n_error_90;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_start:
s_n_llhttp__internal__n_url_start: {
@@ -4160,11 +4354,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_url_schema;
}
default: {
- goto s_n_llhttp__internal__n_error_87;
+ goto s_n_llhttp__internal__n_error_91;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_url_1:
s_n_llhttp__internal__n_span_start_llhttp__on_url_1: {
@@ -4174,8 +4367,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_url;
goto s_n_llhttp__internal__n_url_start;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_entry_normal:
s_n_llhttp__internal__n_url_entry_normal: {
@@ -4195,8 +4387,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_url:
s_n_llhttp__internal__n_span_start_llhttp__on_url: {
@@ -4206,8 +4397,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_url;
goto s_n_llhttp__internal__n_url_server;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_url_entry_connect:
s_n_llhttp__internal__n_url_entry_connect: {
@@ -4227,8 +4417,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_start_llhttp__on_url;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_spaces_before_url:
s_n_llhttp__internal__n_req_spaces_before_url: {
@@ -4244,8 +4433,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_is_equal_method;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_first_space_before_url:
s_n_llhttp__internal__n_req_first_space_before_url: {
@@ -4258,11 +4446,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_req_spaces_before_url;
}
default: {
- goto s_n_llhttp__internal__n_error_88;
+ goto s_n_llhttp__internal__n_error_92;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_method_complete_1:
s_n_llhttp__internal__n_invoke_llhttp__on_method_complete_1: {
@@ -4270,12 +4457,11 @@ static llparse_state_t llhttp__internal__run(
case 0:
goto s_n_llhttp__internal__n_req_first_space_before_url;
case 21:
- goto s_n_llhttp__internal__n_pause_26;
+ goto s_n_llhttp__internal__n_pause_29;
default:
- goto s_n_llhttp__internal__n_error_107;
+ goto s_n_llhttp__internal__n_error_111;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_2:
s_n_llhttp__internal__n_after_start_req_2: {
@@ -4289,11 +4475,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_store_method_1;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_3:
s_n_llhttp__internal__n_after_start_req_3: {
@@ -4314,11 +4499,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_3;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_1:
s_n_llhttp__internal__n_after_start_req_1: {
@@ -4335,11 +4519,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_3;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_4:
s_n_llhttp__internal__n_after_start_req_4: {
@@ -4360,11 +4543,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_4;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_6:
s_n_llhttp__internal__n_after_start_req_6: {
@@ -4385,11 +4567,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_6;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_8:
s_n_llhttp__internal__n_after_start_req_8: {
@@ -4410,11 +4591,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_8;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_9:
s_n_llhttp__internal__n_after_start_req_9: {
@@ -4428,11 +4608,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_store_method_1;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_7:
s_n_llhttp__internal__n_after_start_req_7: {
@@ -4449,11 +4628,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_9;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_5:
s_n_llhttp__internal__n_after_start_req_5: {
@@ -4470,11 +4648,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_7;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_12:
s_n_llhttp__internal__n_after_start_req_12: {
@@ -4495,11 +4672,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_12;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_13:
s_n_llhttp__internal__n_after_start_req_13: {
@@ -4520,11 +4696,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_13;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_11:
s_n_llhttp__internal__n_after_start_req_11: {
@@ -4541,11 +4716,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_13;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_10:
s_n_llhttp__internal__n_after_start_req_10: {
@@ -4558,11 +4732,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_11;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_14:
s_n_llhttp__internal__n_after_start_req_14: {
@@ -4583,11 +4756,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_14;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_17:
s_n_llhttp__internal__n_after_start_req_17: {
@@ -4608,11 +4780,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_17;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_16:
s_n_llhttp__internal__n_after_start_req_16: {
@@ -4629,8 +4800,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_store_method_1;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_15:
s_n_llhttp__internal__n_after_start_req_15: {
@@ -4650,11 +4820,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_15;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_18:
s_n_llhttp__internal__n_after_start_req_18: {
@@ -4675,11 +4844,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_18;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_20:
s_n_llhttp__internal__n_after_start_req_20: {
@@ -4700,11 +4868,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_20;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_21:
s_n_llhttp__internal__n_after_start_req_21: {
@@ -4725,11 +4892,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_21;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_19:
s_n_llhttp__internal__n_after_start_req_19: {
@@ -4746,11 +4912,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_21;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_23:
s_n_llhttp__internal__n_after_start_req_23: {
@@ -4771,11 +4936,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_23;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_24:
s_n_llhttp__internal__n_after_start_req_24: {
@@ -4796,11 +4960,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_24;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_26:
s_n_llhttp__internal__n_after_start_req_26: {
@@ -4821,11 +4984,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_26;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_28:
s_n_llhttp__internal__n_after_start_req_28: {
@@ -4846,11 +5008,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_28;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_29:
s_n_llhttp__internal__n_after_start_req_29: {
@@ -4864,11 +5025,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_store_method_1;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_27:
s_n_llhttp__internal__n_after_start_req_27: {
@@ -4885,11 +5045,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_29;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_25:
s_n_llhttp__internal__n_after_start_req_25: {
@@ -4906,11 +5065,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_27;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_30:
s_n_llhttp__internal__n_after_start_req_30: {
@@ -4931,11 +5089,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_30;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_22:
s_n_llhttp__internal__n_after_start_req_22: {
@@ -4960,11 +5117,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_30;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_31:
s_n_llhttp__internal__n_after_start_req_31: {
@@ -4985,11 +5141,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_31;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_32:
s_n_llhttp__internal__n_after_start_req_32: {
@@ -5010,11 +5165,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_32;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_35:
s_n_llhttp__internal__n_after_start_req_35: {
@@ -5035,11 +5189,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_35;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_36:
s_n_llhttp__internal__n_after_start_req_36: {
@@ -5060,11 +5213,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_36;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_34:
s_n_llhttp__internal__n_after_start_req_34: {
@@ -5081,11 +5233,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_36;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_37:
s_n_llhttp__internal__n_after_start_req_37: {
@@ -5106,11 +5257,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_37;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_38:
s_n_llhttp__internal__n_after_start_req_38: {
@@ -5131,11 +5281,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_38;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_42:
s_n_llhttp__internal__n_after_start_req_42: {
@@ -5156,11 +5305,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_42;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_43:
s_n_llhttp__internal__n_after_start_req_43: {
@@ -5181,11 +5329,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_43;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_41:
s_n_llhttp__internal__n_after_start_req_41: {
@@ -5202,11 +5349,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_43;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_40:
s_n_llhttp__internal__n_after_start_req_40: {
@@ -5219,11 +5365,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_41;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_39:
s_n_llhttp__internal__n_after_start_req_39: {
@@ -5241,11 +5386,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_40;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_45:
s_n_llhttp__internal__n_after_start_req_45: {
@@ -5266,11 +5410,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_45;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_44:
s_n_llhttp__internal__n_after_start_req_44: {
@@ -5288,11 +5431,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_store_method_1;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_33:
s_n_llhttp__internal__n_after_start_req_33: {
@@ -5321,11 +5463,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_44;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_46:
s_n_llhttp__internal__n_after_start_req_46: {
@@ -5346,11 +5487,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_46;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_49:
s_n_llhttp__internal__n_after_start_req_49: {
@@ -5371,11 +5511,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_49;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_50:
s_n_llhttp__internal__n_after_start_req_50: {
@@ -5396,11 +5535,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_50;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_51:
s_n_llhttp__internal__n_after_start_req_51: {
@@ -5421,11 +5559,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_51;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_52:
s_n_llhttp__internal__n_after_start_req_52: {
@@ -5446,11 +5583,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_52;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_48:
s_n_llhttp__internal__n_after_start_req_48: {
@@ -5475,11 +5611,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_52;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_47:
s_n_llhttp__internal__n_after_start_req_47: {
@@ -5492,11 +5627,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_48;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_55:
s_n_llhttp__internal__n_after_start_req_55: {
@@ -5517,11 +5651,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_55;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_57:
s_n_llhttp__internal__n_after_start_req_57: {
@@ -5535,11 +5668,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_store_method_1;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_58:
s_n_llhttp__internal__n_after_start_req_58: {
@@ -5560,11 +5692,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_58;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_56:
s_n_llhttp__internal__n_after_start_req_56: {
@@ -5581,11 +5712,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_58;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_54:
s_n_llhttp__internal__n_after_start_req_54: {
@@ -5602,11 +5732,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_56;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_59:
s_n_llhttp__internal__n_after_start_req_59: {
@@ -5627,11 +5756,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_59;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_60:
s_n_llhttp__internal__n_after_start_req_60: {
@@ -5652,11 +5780,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_60;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_53:
s_n_llhttp__internal__n_after_start_req_53: {
@@ -5677,11 +5804,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_60;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_62:
s_n_llhttp__internal__n_after_start_req_62: {
@@ -5702,11 +5828,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_62;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_63:
s_n_llhttp__internal__n_after_start_req_63: {
@@ -5727,11 +5852,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_63;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_61:
s_n_llhttp__internal__n_after_start_req_61: {
@@ -5748,11 +5872,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_63;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_66:
s_n_llhttp__internal__n_after_start_req_66: {
@@ -5773,11 +5896,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_66;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_68:
s_n_llhttp__internal__n_after_start_req_68: {
@@ -5798,11 +5920,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_68;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_69:
s_n_llhttp__internal__n_after_start_req_69: {
@@ -5823,11 +5944,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_69;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_67:
s_n_llhttp__internal__n_after_start_req_67: {
@@ -5844,11 +5964,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_69;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_70:
s_n_llhttp__internal__n_after_start_req_70: {
@@ -5869,11 +5988,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_after_start_req_70;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_65:
s_n_llhttp__internal__n_after_start_req_65: {
@@ -5894,11 +6012,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_70;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req_64:
s_n_llhttp__internal__n_after_start_req_64: {
@@ -5911,11 +6028,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_65;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_after_start_req:
s_n_llhttp__internal__n_after_start_req: {
@@ -5992,11 +6108,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_after_start_req_64;
}
default: {
- goto s_n_llhttp__internal__n_error_108;
+ goto s_n_llhttp__internal__n_error_112;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_method_1:
s_n_llhttp__internal__n_span_start_llhttp__on_method_1: {
@@ -6006,8 +6121,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_method;
goto s_n_llhttp__internal__n_after_start_req;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_res_line_almost_done:
s_n_llhttp__internal__n_res_line_almost_done: {
@@ -6027,8 +6141,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_29;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_test_lenient_flags_30:
s_n_llhttp__internal__n_invoke_test_lenient_flags_30: {
@@ -6036,10 +6149,9 @@ static llparse_state_t llhttp__internal__run(
case 1:
goto s_n_llhttp__internal__n_invoke_llhttp__on_status_complete;
default:
- goto s_n_llhttp__internal__n_error_94;
+ goto s_n_llhttp__internal__n_error_98;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_res_status:
s_n_llhttp__internal__n_res_status: {
@@ -6058,8 +6170,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_res_status;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_status:
s_n_llhttp__internal__n_span_start_llhttp__on_status: {
@@ -6069,8 +6180,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_status;
goto s_n_llhttp__internal__n_res_status;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_res_status_code_otherwise:
s_n_llhttp__internal__n_res_status_code_otherwise: {
@@ -6091,11 +6201,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_start_llhttp__on_status;
}
default: {
- goto s_n_llhttp__internal__n_error_95;
+ goto s_n_llhttp__internal__n_error_99;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_res_status_code_digit_3:
s_n_llhttp__internal__n_res_status_code_digit_3: {
@@ -6154,11 +6263,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_mul_add_status_code_2;
}
default: {
- goto s_n_llhttp__internal__n_error_97;
+ goto s_n_llhttp__internal__n_error_101;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_res_status_code_digit_2:
s_n_llhttp__internal__n_res_status_code_digit_2: {
@@ -6217,11 +6325,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_mul_add_status_code_1;
}
default: {
- goto s_n_llhttp__internal__n_error_99;
+ goto s_n_llhttp__internal__n_error_103;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_res_status_code_digit_1:
s_n_llhttp__internal__n_res_status_code_digit_1: {
@@ -6280,11 +6387,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
}
default: {
- goto s_n_llhttp__internal__n_error_101;
+ goto s_n_llhttp__internal__n_error_105;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_res_after_version:
s_n_llhttp__internal__n_res_after_version: {
@@ -6297,11 +6403,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_status_code;
}
default: {
- goto s_n_llhttp__internal__n_error_102;
+ goto s_n_llhttp__internal__n_error_106;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_version_complete_1:
s_n_llhttp__internal__n_invoke_llhttp__on_version_complete_1: {
@@ -6309,32 +6414,29 @@ static llparse_state_t llhttp__internal__run(
case 0:
goto s_n_llhttp__internal__n_res_after_version;
case 21:
- goto s_n_llhttp__internal__n_pause_25;
+ goto s_n_llhttp__internal__n_pause_28;
default:
- goto s_n_llhttp__internal__n_error_90;
+ goto s_n_llhttp__internal__n_error_94;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_error_89:
- s_n_llhttp__internal__n_error_89: {
+ case s_n_llhttp__internal__n_error_93:
+ s_n_llhttp__internal__n_error_93: {
state->error = 0x9;
state->reason = "Invalid HTTP version";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_error_103:
- s_n_llhttp__internal__n_error_103: {
+ case s_n_llhttp__internal__n_error_107:
+ s_n_llhttp__internal__n_error_107: {
state->error = 0x9;
state->reason = "Invalid minor version";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_res_http_minor:
s_n_llhttp__internal__n_res_http_minor: {
@@ -6396,18 +6498,16 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_version_7;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_error_104:
- s_n_llhttp__internal__n_error_104: {
+ case s_n_llhttp__internal__n_error_108:
+ s_n_llhttp__internal__n_error_108: {
state->error = 0x9;
state->reason = "Expected dot";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_res_http_dot:
s_n_llhttp__internal__n_res_http_dot: {
@@ -6423,18 +6523,16 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_version_8;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_error_105:
- s_n_llhttp__internal__n_error_105: {
+ case s_n_llhttp__internal__n_error_109:
+ s_n_llhttp__internal__n_error_109: {
state->error = 0x9;
state->reason = "Invalid major version";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_res_http_major:
s_n_llhttp__internal__n_res_http_major: {
@@ -6496,8 +6594,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_span_end_llhttp__on_version_9;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_version_1:
s_n_llhttp__internal__n_span_start_llhttp__on_version_1: {
@@ -6507,32 +6604,147 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_version;
goto s_n_llhttp__internal__n_res_http_major;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- case s_n_llhttp__internal__n_start_res:
- s_n_llhttp__internal__n_start_res: {
+ case s_n_llhttp__internal__n_res_after_protocol:
+ s_n_llhttp__internal__n_res_after_protocol: {
+ if (p == endp) {
+ return s_n_llhttp__internal__n_res_after_protocol;
+ }
+ switch (*p) {
+ case '/': {
+ p++;
+ goto s_n_llhttp__internal__n_span_start_llhttp__on_version_1;
+ }
+ default: {
+ goto s_n_llhttp__internal__n_error_114;
+ }
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_3:
+ s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_3: {
+ switch (llhttp__on_protocol_complete(state, p, endp)) {
+ case 0:
+ goto s_n_llhttp__internal__n_res_after_protocol;
+ case 21:
+ goto s_n_llhttp__internal__n_pause_30;
+ default:
+ goto s_n_llhttp__internal__n_error_113;
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_error_115:
+ s_n_llhttp__internal__n_error_115: {
+ state->error = 0x8;
+ state->reason = "Expected HTTP/, RTSP/ or ICE/";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_res_after_start_1:
+ s_n_llhttp__internal__n_res_after_start_1: {
llparse_match_t match_seq;
if (p == endp) {
- return s_n_llhttp__internal__n_start_res;
+ return s_n_llhttp__internal__n_res_after_start_1;
}
- match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob58, 5);
+ match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob58, 3);
p = match_seq.current;
switch (match_seq.status) {
case kMatchComplete: {
p++;
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version_1;
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_4;
}
case kMatchPause: {
- return s_n_llhttp__internal__n_start_res;
+ return s_n_llhttp__internal__n_res_after_start_1;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_109;
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_5;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_res_after_start_2:
+ s_n_llhttp__internal__n_res_after_start_2: {
+ llparse_match_t match_seq;
+
+ if (p == endp) {
+ return s_n_llhttp__internal__n_res_after_start_2;
+ }
+ match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob59, 2);
+ p = match_seq.current;
+ switch (match_seq.status) {
+ case kMatchComplete: {
+ p++;
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_4;
+ }
+ case kMatchPause: {
+ return s_n_llhttp__internal__n_res_after_start_2;
+ }
+ case kMatchMismatch: {
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_5;
+ }
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_res_after_start_3:
+ s_n_llhttp__internal__n_res_after_start_3: {
+ llparse_match_t match_seq;
+
+ if (p == endp) {
+ return s_n_llhttp__internal__n_res_after_start_3;
+ }
+ match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob60, 3);
+ p = match_seq.current;
+ switch (match_seq.status) {
+ case kMatchComplete: {
+ p++;
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_4;
+ }
+ case kMatchPause: {
+ return s_n_llhttp__internal__n_res_after_start_3;
+ }
+ case kMatchMismatch: {
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_5;
+ }
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_res_after_start:
+ s_n_llhttp__internal__n_res_after_start: {
+ if (p == endp) {
+ return s_n_llhttp__internal__n_res_after_start;
+ }
+ switch (*p) {
+ case 'H': {
+ p++;
+ goto s_n_llhttp__internal__n_res_after_start_1;
+ }
+ case 'I': {
+ p++;
+ goto s_n_llhttp__internal__n_res_after_start_2;
+ }
+ case 'R': {
+ p++;
+ goto s_n_llhttp__internal__n_res_after_start_3;
+ }
+ default: {
+ goto s_n_llhttp__internal__n_span_end_llhttp__on_protocol_5;
+ }
+ }
+ UNREACHABLE;
+ }
+ case s_n_llhttp__internal__n_span_start_llhttp__on_protocol_1:
+ s_n_llhttp__internal__n_span_start_llhttp__on_protocol_1: {
+ if (p == endp) {
+ return s_n_llhttp__internal__n_span_start_llhttp__on_protocol_1;
+ }
+ state->_span_pos0 = (void*) p;
+ state->_span_cb0 = llhttp__on_protocol;
+ goto s_n_llhttp__internal__n_res_after_start;
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_llhttp__on_method_complete:
s_n_llhttp__internal__n_invoke_llhttp__on_method_complete: {
@@ -6540,12 +6752,11 @@ static llparse_state_t llhttp__internal__run(
case 0:
goto s_n_llhttp__internal__n_req_first_space_before_url;
case 21:
- goto s_n_llhttp__internal__n_pause_23;
+ goto s_n_llhttp__internal__n_pause_26;
default:
goto s_n_llhttp__internal__n_error_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_or_res_method_2:
s_n_llhttp__internal__n_req_or_res_method_2: {
@@ -6554,7 +6765,7 @@ static llparse_state_t llhttp__internal__run(
if (p == endp) {
return s_n_llhttp__internal__n_req_or_res_method_2;
}
- match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob59, 2);
+ match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob61, 2);
p = match_seq.current;
switch (match_seq.status) {
case kMatchComplete: {
@@ -6566,11 +6777,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_req_or_res_method_2;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_106;
+ goto s_n_llhttp__internal__n_error_110;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_update_type_1:
s_n_llhttp__internal__n_invoke_update_type_1: {
@@ -6578,8 +6788,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_start_llhttp__on_version_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_or_res_method_3:
s_n_llhttp__internal__n_req_or_res_method_3: {
@@ -6588,7 +6797,7 @@ static llparse_state_t llhttp__internal__run(
if (p == endp) {
return s_n_llhttp__internal__n_req_or_res_method_3;
}
- match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob60, 3);
+ match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob62, 3);
p = match_seq.current;
switch (match_seq.status) {
case kMatchComplete: {
@@ -6599,11 +6808,10 @@ static llparse_state_t llhttp__internal__run(
return s_n_llhttp__internal__n_req_or_res_method_3;
}
case kMatchMismatch: {
- goto s_n_llhttp__internal__n_error_106;
+ goto s_n_llhttp__internal__n_error_110;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_or_res_method_1:
s_n_llhttp__internal__n_req_or_res_method_1: {
@@ -6620,11 +6828,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_req_or_res_method_3;
}
default: {
- goto s_n_llhttp__internal__n_error_106;
+ goto s_n_llhttp__internal__n_error_110;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_req_or_res_method:
s_n_llhttp__internal__n_req_or_res_method: {
@@ -6637,11 +6844,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_req_or_res_method_1;
}
default: {
- goto s_n_llhttp__internal__n_error_106;
+ goto s_n_llhttp__internal__n_error_110;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_span_start_llhttp__on_method:
s_n_llhttp__internal__n_span_start_llhttp__on_method: {
@@ -6651,8 +6857,7 @@ static llparse_state_t llhttp__internal__run(
state->_span_pos0 = (void*) p;
state->_span_cb0 = llhttp__on_method;
goto s_n_llhttp__internal__n_req_or_res_method;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_start_req_or_res:
s_n_llhttp__internal__n_start_req_or_res: {
@@ -6667,8 +6872,7 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_update_type_2;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_load_type:
s_n_llhttp__internal__n_invoke_load_type: {
@@ -6676,12 +6880,11 @@ static llparse_state_t llhttp__internal__run(
case 1:
goto s_n_llhttp__internal__n_span_start_llhttp__on_method_1;
case 2:
- goto s_n_llhttp__internal__n_start_res;
+ goto s_n_llhttp__internal__n_span_start_llhttp__on_protocol_1;
default:
goto s_n_llhttp__internal__n_start_req_or_res;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_invoke_update_finish:
s_n_llhttp__internal__n_invoke_update_finish: {
@@ -6689,8 +6892,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_llhttp__on_message_begin;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
case s_n_llhttp__internal__n_start:
s_n_llhttp__internal__n_start: {
@@ -6710,12 +6912,10 @@ static llparse_state_t llhttp__internal__run(
goto s_n_llhttp__internal__n_invoke_load_initial_message_completed;
}
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
default:
- /* UNREACHABLE */
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_2: {
state->error = 0x7;
@@ -6723,32 +6923,28 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_finish_2: {
switch (llhttp__internal__c_update_finish_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_start;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_initial_message_completed: {
switch (llhttp__internal__c_update_initial_message_completed(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_finish_2;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_content_length: {
switch (llhttp__internal__c_update_content_length(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_initial_message_completed;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_8: {
state->error = 0x5;
@@ -6756,8 +6952,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_3: {
switch (llhttp__internal__c_test_lenient_flags_3(state, p, endp)) {
@@ -6766,8 +6961,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_8;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_2: {
switch (llhttp__internal__c_test_lenient_flags_2(state, p, endp)) {
@@ -6776,16 +6970,14 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_closed;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_finish_1: {
switch (llhttp__internal__c_update_finish_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_2;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_13: {
state->error = 0x15;
@@ -6793,8 +6985,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_upgrade;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_38: {
state->error = 0x12;
@@ -6802,8 +6993,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_15: {
state->error = 0x15;
@@ -6811,8 +7001,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_40: {
state->error = 0x14;
@@ -6820,8 +7009,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1: {
switch (llhttp__on_chunk_complete(state, p, endp)) {
@@ -6832,8 +7020,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_40;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_2: {
state->error = 0x15;
@@ -6841,8 +7028,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_pause_1;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_9: {
state->error = 0x12;
@@ -6850,8 +7036,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1: {
switch (llhttp__on_message_complete(state, p, endp)) {
@@ -6862,8 +7047,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_9;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_36: {
state->error = 0xc;
@@ -6871,8 +7055,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_10: {
state->error = 0xc;
@@ -6880,8 +7063,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_4: {
switch (llhttp__internal__c_test_lenient_flags_4(state, p, endp)) {
@@ -6890,8 +7072,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_10;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_3: {
state->error = 0x15;
@@ -6899,8 +7080,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_update_content_length_1;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_14: {
state->error = 0x14;
@@ -6908,8 +7088,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete: {
switch (llhttp__on_chunk_complete(state, p, endp)) {
@@ -6920,8 +7099,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_14;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_13: {
state->error = 0x19;
@@ -6929,8 +7107,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_6: {
switch (llhttp__internal__c_test_lenient_flags_1(state, p, endp)) {
@@ -6939,8 +7116,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_13;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_15: {
state->error = 0x2;
@@ -6948,8 +7124,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_7: {
switch (llhttp__internal__c_test_lenient_flags_7(state, p, endp)) {
@@ -6958,8 +7133,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_15;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_body: {
const unsigned char* start;
@@ -6975,16 +7149,14 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_chunk_data_almost_done;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags: {
switch (llhttp__internal__c_or_flags(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_field_start;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_4: {
state->error = 0x15;
@@ -6992,8 +7164,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_content_length;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_12: {
state->error = 0x13;
@@ -7001,8 +7172,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header: {
switch (llhttp__on_chunk_header(state, p, endp)) {
@@ -7013,8 +7183,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_12;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_16: {
state->error = 0x2;
@@ -7022,8 +7191,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_8: {
switch (llhttp__internal__c_test_lenient_flags_8(state, p, endp)) {
@@ -7032,8 +7200,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_16;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_11: {
state->error = 0x19;
@@ -7041,8 +7208,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_5: {
switch (llhttp__internal__c_test_lenient_flags_1(state, p, endp)) {
@@ -7051,8 +7217,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_11;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_17: {
state->error = 0x2;
@@ -7060,8 +7225,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_18: {
state->error = 0x2;
@@ -7069,8 +7233,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_20: {
state->error = 0x19;
@@ -7078,8 +7241,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_5: {
state->error = 0x15;
@@ -7087,8 +7249,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_test_lenient_flags_9;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_19: {
state->error = 0x22;
@@ -7096,8 +7257,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name: {
const unsigned char* start;
@@ -7113,8 +7273,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_6: {
state->error = 0x15;
@@ -7122,8 +7281,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_size_almost_done;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_21: {
state->error = 0x22;
@@ -7131,8 +7289,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_1: {
const unsigned char* start;
@@ -7149,8 +7306,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete_1;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_7: {
state->error = 0x15;
@@ -7158,8 +7314,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_extensions;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_22: {
state->error = 0x22;
@@ -7167,8 +7322,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_2: {
const unsigned char* start;
@@ -7185,8 +7339,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete_2;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_25: {
state->error = 0x19;
@@ -7194,8 +7347,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_8: {
state->error = 0x15;
@@ -7203,8 +7355,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_test_lenient_flags_10;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_24: {
state->error = 0x23;
@@ -7212,8 +7363,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value: {
const unsigned char* start;
@@ -7229,8 +7379,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_9: {
state->error = 0x15;
@@ -7238,8 +7387,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_size_almost_done;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_26: {
state->error = 0x23;
@@ -7247,8 +7395,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_1: {
const unsigned char* start;
@@ -7265,8 +7412,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_1;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_28: {
state->error = 0x19;
@@ -7274,8 +7420,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_11: {
switch (llhttp__internal__c_test_lenient_flags_1(state, p, endp)) {
@@ -7284,8 +7429,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_28;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_29: {
state->error = 0x2;
@@ -7293,8 +7437,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_10: {
state->error = 0x15;
@@ -7302,8 +7445,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_extension_quoted_value_done;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_27: {
state->error = 0x23;
@@ -7311,8 +7453,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_2: {
const unsigned char* start;
@@ -7328,8 +7469,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_2;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_3: {
const unsigned char* start;
@@ -7346,8 +7486,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_error_30;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_4: {
const unsigned char* start;
@@ -7364,8 +7503,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_error_31;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_11: {
state->error = 0x15;
@@ -7373,8 +7511,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_extensions;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_32: {
state->error = 0x23;
@@ -7382,8 +7519,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_5: {
const unsigned char* start;
@@ -7400,8 +7536,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_3;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_6: {
const unsigned char* start;
@@ -7418,8 +7553,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_error_33;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_12: {
state->error = 0x15;
@@ -7427,8 +7561,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_extension_value;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_23: {
state->error = 0x22;
@@ -7436,8 +7569,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete_3: {
switch (llhttp__on_chunk_extension_name_complete(state, p, endp)) {
@@ -7448,8 +7580,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_23;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_3: {
const unsigned char* start;
@@ -7466,8 +7597,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_value;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_4: {
const unsigned char* start;
@@ -7484,8 +7614,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_error_34;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_35: {
state->error = 0xc;
@@ -7493,8 +7622,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_mul_add_content_length: {
switch (llhttp__internal__c_mul_add_content_length(state, p, endp, match)) {
@@ -7503,8 +7631,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_chunk_size;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_37: {
state->error = 0xc;
@@ -7512,8 +7639,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_body_1: {
const unsigned char* start;
@@ -7529,16 +7655,14 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_finish_3: {
switch (llhttp__internal__c_update_finish_3(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_39: {
state->error = 0xf;
@@ -7546,8 +7670,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause: {
state->error = 0x15;
@@ -7555,8 +7678,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_7: {
state->error = 0x12;
@@ -7564,8 +7686,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_message_complete: {
switch (llhttp__on_message_complete(state, p, endp)) {
@@ -7576,32 +7697,28 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_7;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_1: {
switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_2: {
switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_upgrade: {
switch (llhttp__internal__c_update_upgrade(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_or_flags_2;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_14: {
state->error = 0x15;
@@ -7609,8 +7726,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_6: {
state->error = 0x11;
@@ -7618,8 +7734,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete: {
switch (llhttp__on_headers_complete(state, p, endp)) {
@@ -7634,16 +7749,14 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_6;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete: {
switch (llhttp__before_headers_complete(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_flags: {
switch (llhttp__internal__c_test_flags(state, p, endp)) {
@@ -7652,8 +7765,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_1: {
switch (llhttp__internal__c_test_lenient_flags_1(state, p, endp)) {
@@ -7662,8 +7774,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_5;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_17: {
state->error = 0x15;
@@ -7671,8 +7782,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_42: {
state->error = 0x14;
@@ -7680,8 +7790,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_2: {
switch (llhttp__on_chunk_complete(state, p, endp)) {
@@ -7692,32 +7801,28 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_42;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_3: {
switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_4: {
switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_upgrade_1: {
switch (llhttp__internal__c_update_upgrade(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_or_flags_4;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_16: {
state->error = 0x15;
@@ -7725,8 +7830,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_41: {
state->error = 0x11;
@@ -7734,8 +7838,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete_1: {
switch (llhttp__on_headers_complete(state, p, endp)) {
@@ -7750,16 +7853,14 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_41;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete_1: {
switch (llhttp__before_headers_complete(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_flags_1: {
switch (llhttp__internal__c_test_flags(state, p, endp)) {
@@ -7768,8 +7869,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_43: {
state->error = 0x2;
@@ -7777,8 +7877,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_12: {
switch (llhttp__internal__c_test_lenient_flags_8(state, p, endp)) {
@@ -7787,8 +7886,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_43;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_44: {
state->error = 0xa;
@@ -7796,8 +7894,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_field: {
const unsigned char* start;
@@ -7814,8 +7911,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_error_5;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_13: {
switch (llhttp__internal__c_test_lenient_flags(state, p, endp)) {
@@ -7824,8 +7920,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_60: {
state->error = 0xb;
@@ -7833,8 +7928,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_47: {
state->error = 0xa;
@@ -7842,8 +7936,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_15: {
switch (llhttp__internal__c_test_lenient_flags(state, p, endp)) {
@@ -7852,8 +7945,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_47;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_49: {
state->error = 0xb;
@@ -7861,8 +7953,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_18: {
state->error = 0x15;
@@ -7870,8 +7961,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_48: {
state->error = 0x1d;
@@ -7879,8 +7969,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value: {
const unsigned char* start;
@@ -7896,48 +7985,42 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state: {
switch (llhttp__internal__c_update_header_state(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_5: {
switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_header_state;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_6: {
switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_header_state;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_7: {
switch (llhttp__internal__c_or_flags_7(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_header_state;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_8: {
switch (llhttp__internal__c_or_flags_8(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_header_state_2: {
switch (llhttp__internal__c_load_header_state(state, p, endp)) {
@@ -7952,8 +8035,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_header_state_1: {
switch (llhttp__internal__c_load_header_state(state, p, endp)) {
@@ -7962,8 +8044,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_load_header_state_2;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_46: {
state->error = 0xa;
@@ -7971,8 +8052,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_14: {
switch (llhttp__internal__c_test_lenient_flags_1(state, p, endp)) {
@@ -7981,8 +8061,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_46;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_50: {
state->error = 0x2;
@@ -7990,8 +8069,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_16: {
switch (llhttp__internal__c_test_lenient_flags(state, p, endp)) {
@@ -8000,16 +8078,14 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_50;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_1: {
switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_header_state_4: {
switch (llhttp__internal__c_load_header_state(state, p, endp)) {
@@ -8018,8 +8094,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_52: {
state->error = 0xa;
@@ -8027,8 +8102,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_18: {
switch (llhttp__internal__c_test_lenient_flags(state, p, endp)) {
@@ -8037,48 +8111,42 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_52;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_2: {
switch (llhttp__internal__c_update_header_state(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_9: {
switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_header_state_2;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_10: {
switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_header_state_2;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_11: {
switch (llhttp__internal__c_or_flags_7(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_header_state_2;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_12: {
switch (llhttp__internal__c_or_flags_8(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_header_state_5: {
switch (llhttp__internal__c_load_header_state(state, p, endp)) {
@@ -8093,8 +8161,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_53: {
state->error = 0x3;
@@ -8102,8 +8169,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_51: {
state->error = 0x19;
@@ -8111,8 +8177,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1: {
const unsigned char* start;
@@ -8128,8 +8193,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_17;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2: {
const unsigned char* start;
@@ -8146,8 +8210,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_header_value_almost_done;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4: {
const unsigned char* start;
@@ -8163,8 +8226,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_header_value_almost_done;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5: {
const unsigned char* start;
@@ -8181,8 +8243,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_header_value_almost_done;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3: {
const unsigned char* start;
@@ -8198,8 +8259,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_error_54;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_19: {
switch (llhttp__internal__c_test_lenient_flags(state, p, endp)) {
@@ -8208,48 +8268,42 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_4: {
switch (llhttp__internal__c_update_header_state(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_value_connection;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_13: {
switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_header_state_4;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_14: {
switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_header_state_4;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_15: {
switch (llhttp__internal__c_or_flags_7(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_header_state_4;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_16: {
switch (llhttp__internal__c_or_flags_8(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_value_connection;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_header_state_6: {
switch (llhttp__internal__c_load_header_state(state, p, endp)) {
@@ -8264,40 +8318,35 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_header_value_connection;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_5: {
switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_value_connection_token;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_3: {
switch (llhttp__internal__c_update_header_state_3(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_value_connection_ws;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_6: {
switch (llhttp__internal__c_update_header_state_6(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_value_connection_ws;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_7: {
switch (llhttp__internal__c_update_header_state_7(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_value_connection_ws;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_6: {
const unsigned char* start;
@@ -8313,8 +8362,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_error_56;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_mul_add_content_length_1: {
switch (llhttp__internal__c_mul_add_content_length_1(state, p, endp, match)) {
@@ -8323,16 +8371,14 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_header_value_content_length;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_17: {
switch (llhttp__internal__c_or_flags_17(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_value_otherwise;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_7: {
const unsigned char* start;
@@ -8348,8 +8394,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_error_57;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_55: {
state->error = 0x4;
@@ -8357,8 +8402,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_flags_2: {
switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
@@ -8367,8 +8411,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_55;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_9: {
const unsigned char* start;
@@ -8385,16 +8428,14 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_error_59;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_8: {
switch (llhttp__internal__c_update_header_state_8(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_value_otherwise;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_value_8: {
const unsigned char* start;
@@ -8411,8 +8452,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_error_58;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_20: {
switch (llhttp__internal__c_test_lenient_flags_20(state, p, endp)) {
@@ -8421,8 +8461,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_header_value_te_chunked;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_type_1: {
switch (llhttp__internal__c_load_type(state, p, endp)) {
@@ -8431,32 +8470,28 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_header_value_te_chunked;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_9: {
switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_value;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_and_flags: {
switch (llhttp__internal__c_and_flags(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_value_te_chunked;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_19: {
switch (llhttp__internal__c_or_flags_18(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_and_flags;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_21: {
switch (llhttp__internal__c_test_lenient_flags_20(state, p, endp)) {
@@ -8465,8 +8500,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_or_flags_19;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_type_2: {
switch (llhttp__internal__c_load_type(state, p, endp)) {
@@ -8475,16 +8509,14 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_or_flags_19;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_18: {
switch (llhttp__internal__c_or_flags_18(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_and_flags;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_flags_3: {
switch (llhttp__internal__c_test_flags_3(state, p, endp)) {
@@ -8493,16 +8525,14 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_or_flags_18;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_or_flags_20: {
switch (llhttp__internal__c_or_flags_20(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_header_state_9;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_header_state_3: {
switch (llhttp__internal__c_load_header_state(state, p, endp)) {
@@ -8517,8 +8547,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_header_value;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_22: {
switch (llhttp__internal__c_test_lenient_flags_22(state, p, endp)) {
@@ -8527,8 +8556,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_header_value_discard_ws;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_flags_4: {
switch (llhttp__internal__c_test_flags_4(state, p, endp)) {
@@ -8537,8 +8565,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_header_value_discard_ws;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_61: {
state->error = 0xf;
@@ -8546,8 +8573,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_23: {
switch (llhttp__internal__c_test_lenient_flags_22(state, p, endp)) {
@@ -8556,8 +8582,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_header_value_discard_ws;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_flags_5: {
switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
@@ -8566,8 +8591,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_header_value_discard_ws;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_19: {
state->error = 0x15;
@@ -8575,8 +8599,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_header_state;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_45: {
state->error = 0x1c;
@@ -8584,8 +8607,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1: {
const unsigned char* start;
@@ -8602,8 +8624,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2: {
const unsigned char* start;
@@ -8620,8 +8641,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_62: {
state->error = 0xa;
@@ -8629,32 +8649,28 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_10: {
switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_field_general;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_store_header_state: {
switch (llhttp__internal__c_store_header_state(state, p, endp, match)) {
default:
goto s_n_llhttp__internal__n_header_field_colon;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_header_state_11: {
switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_header_field_general;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_4: {
state->error = 0x1e;
@@ -8662,8 +8678,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags: {
switch (llhttp__internal__c_test_lenient_flags(state, p, endp)) {
@@ -8672,8 +8687,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_4;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_20: {
state->error = 0x15;
@@ -8681,8 +8695,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_headers_start;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_3: {
state->error = 0x1a;
@@ -8690,8 +8703,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_url_complete: {
switch (llhttp__on_url_complete(state, p, endp)) {
@@ -8702,24 +8714,21 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_error_3;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_http_minor: {
switch (llhttp__internal__c_update_http_minor(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_llhttp__on_url_complete;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_http_major: {
switch (llhttp__internal__c_update_http_major(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_invoke_update_http_minor;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_3: {
const unsigned char* start;
@@ -8735,8 +8744,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http09;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_63: {
state->error = 0x7;
@@ -8744,8 +8752,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_4: {
const unsigned char* start;
@@ -8761,73 +8768,65 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_71: {
+ s_n_llhttp__internal__n_error_72: {
state->error = 0x17;
state->reason = "Pause on PRI/Upgrade";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_72: {
+ s_n_llhttp__internal__n_error_73: {
state->error = 0x9;
state->reason = "Expected HTTP/2 Connection Preface";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_69: {
+ s_n_llhttp__internal__n_error_70: {
state->error = 0x2;
state->reason = "Expected CRLF after version";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_26: {
switch (llhttp__internal__c_test_lenient_flags_8(state, p, endp)) {
case 1:
goto s_n_llhttp__internal__n_headers_start;
default:
- goto s_n_llhttp__internal__n_error_69;
+ goto s_n_llhttp__internal__n_error_70;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_68: {
+ s_n_llhttp__internal__n_error_69: {
state->error = 0x9;
state->reason = "Expected CRLF after version";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_25: {
switch (llhttp__internal__c_test_lenient_flags_1(state, p, endp)) {
case 1:
goto s_n_llhttp__internal__n_req_http_complete_crlf;
default:
- goto s_n_llhttp__internal__n_error_68;
+ goto s_n_llhttp__internal__n_error_69;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_70: {
+ s_n_llhttp__internal__n_error_71: {
state->error = 0x9;
state->reason = "Expected CRLF after version";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_pause_21: {
state->error = 0x15;
@@ -8835,17 +8834,15 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_method_1;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_67: {
+ s_n_llhttp__internal__n_error_68: {
state->error = 0x21;
state->reason = "`on_version_complete` callback error";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_version_1: {
const unsigned char* start;
@@ -8861,8 +8858,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_version_complete;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_version: {
const unsigned char* start;
@@ -8874,12 +8870,11 @@ static llparse_state_t llhttp__internal__run(
if (err != 0) {
state->error = err;
state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_66;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_67;
return s_error;
}
- goto s_n_llhttp__internal__n_error_66;
- /* UNREACHABLE */;
- abort();
+ goto s_n_llhttp__internal__n_error_67;
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_http_minor: {
switch (llhttp__internal__c_load_http_minor(state, p, endp)) {
@@ -8888,8 +8883,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_version;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_http_minor_1: {
switch (llhttp__internal__c_load_http_minor(state, p, endp)) {
@@ -8900,8 +8894,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_version;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_http_minor_2: {
switch (llhttp__internal__c_load_http_minor(state, p, endp)) {
@@ -8910,8 +8903,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_version;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_http_major: {
switch (llhttp__internal__c_load_http_major(state, p, endp)) {
@@ -8924,8 +8916,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_version;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_24: {
switch (llhttp__internal__c_test_lenient_flags_24(state, p, endp)) {
@@ -8934,38 +8925,19 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_load_http_major;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_store_http_minor: {
switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
default:
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_24;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_version_2: {
const unsigned char* start;
int err;
- start = state->_span_pos0;
- state->_span_pos0 = NULL;
- err = llhttp__on_version(state, start, p);
- if (err != 0) {
- state->error = err;
- state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_73;
- return s_error;
- }
- goto s_n_llhttp__internal__n_error_73;
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_span_end_llhttp__on_version_3: {
- const unsigned char* start;
- int err;
-
start = state->_span_pos0;
state->_span_pos0 = NULL;
err = llhttp__on_version(state, start, p);
@@ -8976,18 +8948,9 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_error_74;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_invoke_store_http_major: {
- switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
- default:
- goto s_n_llhttp__internal__n_req_http_dot;
- }
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_span_end_llhttp__on_version_4: {
+ s_n_llhttp__internal__n_span_end_llhttp__on_version_3: {
const unsigned char* start;
int err;
@@ -9001,179 +8964,182 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_error_75;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_65: {
+ s_n_llhttp__internal__n_invoke_store_http_major: {
+ switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
+ default:
+ goto s_n_llhttp__internal__n_req_http_dot;
+ }
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_span_end_llhttp__on_version_4: {
+ const unsigned char* start;
+ int err;
+
+ start = state->_span_pos0;
+ state->_span_pos0 = NULL;
+ err = llhttp__on_version(state, start, p);
+ if (err != 0) {
+ state->error = err;
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_76;
+ return s_error;
+ }
+ goto s_n_llhttp__internal__n_error_76;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_77: {
+ state->error = 0x8;
+ state->reason = "Expected HTTP/, RTSP/ or ICE/";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_66: {
state->error = 0x8;
state->reason = "Invalid method for HTTP/x.x request";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_invoke_load_method: {
- switch (llhttp__internal__c_load_method(state, p, endp)) {
- case 0:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 1:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 2:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 3:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 4:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 5:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 6:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 7:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 8:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 9:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 10:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 11:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 12:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 13:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 14:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 15:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 16:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 17:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 18:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 19:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 20:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 21:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 22:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 23:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 24:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 25:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 26:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 27:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 28:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 29:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 30:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 31:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 32:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 33:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 34:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 46:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- default:
- goto s_n_llhttp__internal__n_error_65;
- }
- /* UNREACHABLE */;
- abort();
+ s_n_llhttp__internal__n_pause_22: {
+ state->error = 0x15;
+ state->reason = "on_protocol_complete pause";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_method;
+ return s_error;
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_78: {
- state->error = 0x8;
- state->reason = "Expected HTTP/";
+ s_n_llhttp__internal__n_error_65: {
+ state->error = 0x26;
+ state->reason = "`on_protocol_complete` callback error";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_76: {
+ s_n_llhttp__internal__n_span_end_llhttp__on_protocol: {
+ const unsigned char* start;
+ int err;
+
+ start = state->_span_pos0;
+ state->_span_pos0 = NULL;
+ err = llhttp__on_protocol(state, start, p);
+ if (err != 0) {
+ state->error = err;
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete;
+ return s_error;
+ }
+ goto s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_span_end_llhttp__on_protocol_3: {
+ const unsigned char* start;
+ int err;
+
+ start = state->_span_pos0;
+ state->_span_pos0 = NULL;
+ err = llhttp__on_protocol(state, start, p);
+ if (err != 0) {
+ state->error = err;
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_82;
+ return s_error;
+ }
+ goto s_n_llhttp__internal__n_error_82;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_79: {
state->error = 0x8;
state->reason = "Expected SOURCE method for ICE/x.x request";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_invoke_load_method_2: {
- switch (llhttp__internal__c_load_method(state, p, endp)) {
- case 33:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- default:
- goto s_n_llhttp__internal__n_error_76;
+ s_n_llhttp__internal__n_pause_23: {
+ state->error = 0x15;
+ state->reason = "on_protocol_complete pause";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_method_2;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_78: {
+ state->error = 0x26;
+ state->reason = "`on_protocol_complete` callback error";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_span_end_llhttp__on_protocol_1: {
+ const unsigned char* start;
+ int err;
+
+ start = state->_span_pos0;
+ state->_span_pos0 = NULL;
+ err = llhttp__on_protocol(state, start, p);
+ if (err != 0) {
+ state->error = err;
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_1;
+ return s_error;
}
- /* UNREACHABLE */;
- abort();
+ goto s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_1;
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_77: {
+ s_n_llhttp__internal__n_error_81: {
state->error = 0x8;
state->reason = "Invalid method for RTSP/x.x request";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_invoke_load_method_3: {
- switch (llhttp__internal__c_load_method(state, p, endp)) {
- case 1:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 3:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 6:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 35:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 36:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 37:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 38:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 39:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 40:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 41:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 42:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 43:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 44:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- case 45:
- goto s_n_llhttp__internal__n_span_start_llhttp__on_version;
- default:
- goto s_n_llhttp__internal__n_error_77;
+ s_n_llhttp__internal__n_pause_24: {
+ state->error = 0x15;
+ state->reason = "on_protocol_complete pause";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_method_3;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_80: {
+ state->error = 0x26;
+ state->reason = "`on_protocol_complete` callback error";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_span_end_llhttp__on_protocol_2: {
+ const unsigned char* start;
+ int err;
+
+ start = state->_span_pos0;
+ state->_span_pos0 = NULL;
+ err = llhttp__on_protocol(state, start, p);
+ if (err != 0) {
+ state->error = err;
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_2;
+ return s_error;
}
- /* UNREACHABLE */;
- abort();
+ goto s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_2;
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_pause_22: {
+ s_n_llhttp__internal__n_pause_25: {
state->error = 0x15;
state->reason = "on_url_complete pause";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_req_http_start;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_64: {
state->error = 0x1a;
@@ -9181,20 +9147,18 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_url_complete_1: {
switch (llhttp__on_url_complete(state, p, endp)) {
case 0:
goto s_n_llhttp__internal__n_req_http_start;
case 21:
- goto s_n_llhttp__internal__n_pause_22;
+ goto s_n_llhttp__internal__n_pause_25;
default:
goto s_n_llhttp__internal__n_error_64;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_5: {
const unsigned char* start;
@@ -9210,8 +9174,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_6: {
const unsigned char* start;
@@ -9227,8 +9190,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http09;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_7: {
const unsigned char* start;
@@ -9244,8 +9206,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_8: {
const unsigned char* start;
@@ -9261,17 +9222,15 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_79: {
+ s_n_llhttp__internal__n_error_83: {
state->error = 0x7;
state->reason = "Invalid char in url fragment start";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_9: {
const unsigned char* start;
@@ -9287,8 +9246,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http09;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_10: {
const unsigned char* start;
@@ -9304,8 +9262,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_11: {
const unsigned char* start;
@@ -9321,26 +9278,23 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_80: {
+ s_n_llhttp__internal__n_error_84: {
state->error = 0x7;
state->reason = "Invalid char in url query";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_81: {
+ s_n_llhttp__internal__n_error_85: {
state->error = 0x7;
state->reason = "Invalid char in url path";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url: {
const unsigned char* start;
@@ -9356,8 +9310,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http09;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_1: {
const unsigned char* start;
@@ -9373,8 +9326,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_2: {
const unsigned char* start;
@@ -9390,8 +9342,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_12: {
const unsigned char* start;
@@ -9407,8 +9358,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http09;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_13: {
const unsigned char* start;
@@ -9424,8 +9374,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_url_14: {
const unsigned char* start;
@@ -9441,62 +9390,55 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_url_skip_to_http;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_82: {
+ s_n_llhttp__internal__n_error_86: {
state->error = 0x7;
state->reason = "Double @ in url";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_error_83: {
- state->error = 0x7;
- state->reason = "Unexpected char in url server";
- state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_error;
- return s_error;
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_error_84: {
- state->error = 0x7;
- state->reason = "Unexpected char in url server";
- state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_error;
- return s_error;
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_error_85: {
- state->error = 0x7;
- state->reason = "Unexpected char in url schema";
- state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_error;
- return s_error;
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_error_86: {
- state->error = 0x7;
- state->reason = "Unexpected char in url schema";
- state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_error;
- return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_87: {
+ state->error = 0x7;
+ state->reason = "Unexpected char in url server";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_88: {
+ state->error = 0x7;
+ state->reason = "Unexpected char in url server";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_89: {
+ state->error = 0x7;
+ state->reason = "Unexpected char in url schema";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_90: {
+ state->error = 0x7;
+ state->reason = "Unexpected char in url schema";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_91: {
state->error = 0x7;
state->reason = "Unexpected start char in url";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_is_equal_method: {
switch (llhttp__internal__c_is_equal_method(state, p, endp)) {
@@ -9505,35 +9447,31 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_url_entry_connect;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_88: {
+ s_n_llhttp__internal__n_error_92: {
state->error = 0x6;
state->reason = "Expected space after method";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_pause_26: {
+ s_n_llhttp__internal__n_pause_29: {
state->error = 0x15;
state->reason = "on_method_complete pause";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_req_first_space_before_url;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_107: {
+ s_n_llhttp__internal__n_error_111: {
state->error = 0x20;
state->reason = "`on_method_complete` callback error";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_method_2: {
const unsigned char* start;
@@ -9549,25 +9487,38 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_method_complete_1;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_store_method_1: {
switch (llhttp__internal__c_store_method(state, p, endp, match)) {
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_method_2;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_108: {
+ s_n_llhttp__internal__n_error_112: {
state->error = 0x6;
state->reason = "Invalid method encountered";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_104: {
+ state->error = 0xd;
+ state->reason = "Invalid status code";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_102: {
+ state->error = 0xd;
+ state->reason = "Invalid status code";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_100: {
state->error = 0xd;
@@ -9575,103 +9526,76 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_98: {
- state->error = 0xd;
- state->reason = "Invalid status code";
- state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_error;
- return s_error;
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_error_96: {
- state->error = 0xd;
- state->reason = "Invalid status code";
- state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_error;
- return s_error;
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_pause_24: {
+ s_n_llhttp__internal__n_pause_27: {
state->error = 0x15;
state->reason = "on_status_complete pause";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_headers_start;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_92: {
+ s_n_llhttp__internal__n_error_96: {
state->error = 0x1b;
state->reason = "`on_status_complete` callback error";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_status_complete: {
switch (llhttp__on_status_complete(state, p, endp)) {
case 0:
goto s_n_llhttp__internal__n_headers_start;
case 21:
- goto s_n_llhttp__internal__n_pause_24;
+ goto s_n_llhttp__internal__n_pause_27;
default:
- goto s_n_llhttp__internal__n_error_92;
+ goto s_n_llhttp__internal__n_error_96;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_91: {
+ s_n_llhttp__internal__n_error_95: {
state->error = 0xd;
state->reason = "Invalid response status";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_28: {
switch (llhttp__internal__c_test_lenient_flags_1(state, p, endp)) {
case 1:
goto s_n_llhttp__internal__n_invoke_llhttp__on_status_complete;
default:
- goto s_n_llhttp__internal__n_error_91;
+ goto s_n_llhttp__internal__n_error_95;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_93: {
+ s_n_llhttp__internal__n_error_97: {
state->error = 0x2;
state->reason = "Expected LF after CR";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_29: {
switch (llhttp__internal__c_test_lenient_flags_8(state, p, endp)) {
case 1:
goto s_n_llhttp__internal__n_invoke_llhttp__on_status_complete;
default:
- goto s_n_llhttp__internal__n_error_93;
+ goto s_n_llhttp__internal__n_error_97;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_94: {
+ s_n_llhttp__internal__n_error_98: {
state->error = 0x19;
state->reason = "Missing expected CR after response line";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_status: {
const unsigned char* start;
@@ -9688,8 +9612,7 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_30;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_status_1: {
const unsigned char* start;
@@ -9706,65 +9629,24 @@ static llparse_state_t llhttp__internal__run(
}
p++;
goto s_n_llhttp__internal__n_res_line_almost_done;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_95: {
+ s_n_llhttp__internal__n_error_99: {
state->error = 0xd;
state->reason = "Invalid response status";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_mul_add_status_code_2: {
switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) {
case 1:
- goto s_n_llhttp__internal__n_error_96;
+ goto s_n_llhttp__internal__n_error_100;
default:
goto s_n_llhttp__internal__n_res_status_code_otherwise;
}
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_error_97: {
- state->error = 0xd;
- state->reason = "Invalid status code";
- state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_error;
- return s_error;
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_invoke_mul_add_status_code_1: {
- switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) {
- case 1:
- goto s_n_llhttp__internal__n_error_98;
- default:
- goto s_n_llhttp__internal__n_res_status_code_digit_3;
- }
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_error_99: {
- state->error = 0xd;
- state->reason = "Invalid status code";
- state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_error;
- return s_error;
- /* UNREACHABLE */;
- abort();
- }
- s_n_llhttp__internal__n_invoke_mul_add_status_code: {
- switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) {
- case 1:
- goto s_n_llhttp__internal__n_error_100;
- default:
- goto s_n_llhttp__internal__n_res_status_code_digit_2;
- }
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_101: {
state->error = 0xd;
@@ -9772,43 +9654,72 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_invoke_mul_add_status_code_1: {
+ switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) {
+ case 1:
+ goto s_n_llhttp__internal__n_error_102;
+ default:
+ goto s_n_llhttp__internal__n_res_status_code_digit_3;
+ }
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_103: {
+ state->error = 0xd;
+ state->reason = "Invalid status code";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_invoke_mul_add_status_code: {
+ switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) {
+ case 1:
+ goto s_n_llhttp__internal__n_error_104;
+ default:
+ goto s_n_llhttp__internal__n_res_status_code_digit_2;
+ }
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_105: {
+ state->error = 0xd;
+ state->reason = "Invalid status code";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_status_code: {
switch (llhttp__internal__c_update_status_code(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_res_status_code_digit_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_102: {
+ s_n_llhttp__internal__n_error_106: {
state->error = 0x9;
state->reason = "Expected space after version";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_pause_25: {
+ s_n_llhttp__internal__n_pause_28: {
state->error = 0x15;
state->reason = "on_version_complete pause";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_res_after_version;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_90: {
+ s_n_llhttp__internal__n_error_94: {
state->error = 0x21;
state->reason = "`on_version_complete` callback error";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_version_6: {
const unsigned char* start;
@@ -9824,8 +9735,7 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_version_complete_1;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_version_5: {
const unsigned char* start;
@@ -9837,12 +9747,11 @@ static llparse_state_t llhttp__internal__run(
if (err != 0) {
state->error = err;
state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_89;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_93;
return s_error;
}
- goto s_n_llhttp__internal__n_error_89;
- /* UNREACHABLE */;
- abort();
+ goto s_n_llhttp__internal__n_error_93;
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_http_minor_3: {
switch (llhttp__internal__c_load_http_minor(state, p, endp)) {
@@ -9851,8 +9760,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_version_5;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_http_minor_4: {
switch (llhttp__internal__c_load_http_minor(state, p, endp)) {
@@ -9863,8 +9771,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_version_5;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_http_minor_5: {
switch (llhttp__internal__c_load_http_minor(state, p, endp)) {
@@ -9873,8 +9780,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_version_5;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_http_major_1: {
switch (llhttp__internal__c_load_http_major(state, p, endp)) {
@@ -9887,8 +9793,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_version_5;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_test_lenient_flags_27: {
switch (llhttp__internal__c_test_lenient_flags_24(state, p, endp)) {
@@ -9897,16 +9802,14 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_load_http_major_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_store_http_minor_1: {
switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
default:
goto s_n_llhttp__internal__n_invoke_test_lenient_flags_27;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_version_7: {
const unsigned char* start;
@@ -9918,12 +9821,11 @@ static llparse_state_t llhttp__internal__run(
if (err != 0) {
state->error = err;
state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_103;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_107;
return s_error;
}
- goto s_n_llhttp__internal__n_error_103;
- /* UNREACHABLE */;
- abort();
+ goto s_n_llhttp__internal__n_error_107;
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_version_8: {
const unsigned char* start;
@@ -9935,20 +9837,18 @@ static llparse_state_t llhttp__internal__run(
if (err != 0) {
state->error = err;
state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_104;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_108;
return s_error;
}
- goto s_n_llhttp__internal__n_error_104;
- /* UNREACHABLE */;
- abort();
+ goto s_n_llhttp__internal__n_error_108;
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_store_http_major_1: {
switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
default:
goto s_n_llhttp__internal__n_res_http_dot;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_version_9: {
const unsigned char* start;
@@ -9960,30 +9860,75 @@ static llparse_state_t llhttp__internal__run(
if (err != 0) {
state->error = err;
state->error_pos = (const char*) p;
- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_105;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_109;
return s_error;
}
- goto s_n_llhttp__internal__n_error_105;
- /* UNREACHABLE */;
- abort();
+ goto s_n_llhttp__internal__n_error_109;
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_109: {
+ s_n_llhttp__internal__n_error_114: {
state->error = 0x8;
- state->reason = "Expected HTTP/";
+ state->reason = "Expected HTTP/, RTSP/ or ICE/";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_pause_23: {
+ s_n_llhttp__internal__n_pause_30: {
+ state->error = 0x15;
+ state->reason = "on_protocol_complete pause";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_res_after_protocol;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_error_113: {
+ state->error = 0x26;
+ state->reason = "`on_protocol_complete` callback error";
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_error;
+ return s_error;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_span_end_llhttp__on_protocol_4: {
+ const unsigned char* start;
+ int err;
+
+ start = state->_span_pos0;
+ state->_span_pos0 = NULL;
+ err = llhttp__on_protocol(state, start, p);
+ if (err != 0) {
+ state->error = err;
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_3;
+ return s_error;
+ }
+ goto s_n_llhttp__internal__n_invoke_llhttp__on_protocol_complete_3;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_span_end_llhttp__on_protocol_5: {
+ const unsigned char* start;
+ int err;
+
+ start = state->_span_pos0;
+ state->_span_pos0 = NULL;
+ err = llhttp__on_protocol(state, start, p);
+ if (err != 0) {
+ state->error = err;
+ state->error_pos = (const char*) p;
+ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_115;
+ return s_error;
+ }
+ goto s_n_llhttp__internal__n_error_115;
+ UNREACHABLE;
+ }
+ s_n_llhttp__internal__n_pause_26: {
state->error = 0x15;
state->reason = "on_method_complete pause";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_req_first_space_before_url;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error_1: {
state->error = 0x20;
@@ -9991,8 +9936,7 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_method: {
const unsigned char* start;
@@ -10008,33 +9952,29 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_llhttp__on_method_complete;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_type: {
switch (llhttp__internal__c_update_type(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_span_end_llhttp__on_method;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_store_method: {
switch (llhttp__internal__c_store_method(state, p, endp, match)) {
default:
goto s_n_llhttp__internal__n_invoke_update_type;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_106: {
+ s_n_llhttp__internal__n_error_110: {
state->error = 0x8;
state->reason = "Invalid word encountered";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_span_end_llhttp__on_method_1: {
const unsigned char* start;
@@ -10050,25 +9990,22 @@ static llparse_state_t llhttp__internal__run(
return s_error;
}
goto s_n_llhttp__internal__n_invoke_update_type_1;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_update_type_2: {
switch (llhttp__internal__c_update_type(state, p, endp)) {
default:
goto s_n_llhttp__internal__n_span_start_llhttp__on_method_1;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_pause_27: {
+ s_n_llhttp__internal__n_pause_31: {
state->error = 0x15;
state->reason = "on_message_begin pause";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_type;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_error: {
state->error = 0x10;
@@ -10076,50 +10013,45 @@ static llparse_state_t llhttp__internal__run(
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_message_begin: {
switch (llhttp__on_message_begin(state, p, endp)) {
case 0:
goto s_n_llhttp__internal__n_invoke_load_type;
case 21:
- goto s_n_llhttp__internal__n_pause_27;
+ goto s_n_llhttp__internal__n_pause_31;
default:
goto s_n_llhttp__internal__n_error;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_pause_28: {
+ s_n_llhttp__internal__n_pause_32: {
state->error = 0x15;
state->reason = "on_reset pause";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_update_finish;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
- s_n_llhttp__internal__n_error_110: {
+ s_n_llhttp__internal__n_error_116: {
state->error = 0x1f;
state->reason = "`on_reset` callback error";
state->error_pos = (const char*) p;
state->_current = (void*) (intptr_t) s_error;
return s_error;
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_llhttp__on_reset: {
switch (llhttp__on_reset(state, p, endp)) {
case 0:
goto s_n_llhttp__internal__n_invoke_update_finish;
case 21:
- goto s_n_llhttp__internal__n_pause_28;
+ goto s_n_llhttp__internal__n_pause_32;
default:
- goto s_n_llhttp__internal__n_error_110;
+ goto s_n_llhttp__internal__n_error_116;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
s_n_llhttp__internal__n_invoke_load_initial_message_completed: {
switch (llhttp__internal__c_load_initial_message_completed(state, p, endp)) {
@@ -10128,8 +10060,7 @@ static llparse_state_t llhttp__internal__run(
default:
goto s_n_llhttp__internal__n_invoke_update_finish;
}
- /* UNREACHABLE */;
- abort();
+ UNREACHABLE;
}
}
diff --git a/lib/llhttp/llhttp.h b/lib/llhttp/llhttp.h
index 37b7934..6054459 100644
--- a/lib/llhttp/llhttp.h
+++ b/lib/llhttp/llhttp.h
@@ -3,8 +3,8 @@
#define INCLUDE_LLHTTP_H_
#define LLHTTP_VERSION_MAJOR 9
-#define LLHTTP_VERSION_MINOR 2
-#define LLHTTP_VERSION_PATCH 1
+#define LLHTTP_VERSION_MINOR 3
+#define LLHTTP_VERSION_PATCH 0
#ifndef INCLUDE_LLHTTP_ITSELF_H_
#define INCLUDE_LLHTTP_ITSELF_H_
@@ -90,7 +90,8 @@ enum llhttp_errno {
HPE_CB_HEADER_VALUE_COMPLETE = 29,
HPE_CB_CHUNK_EXTENSION_NAME_COMPLETE = 34,
HPE_CB_CHUNK_EXTENSION_VALUE_COMPLETE = 35,
- HPE_CB_RESET = 31
+ HPE_CB_RESET = 31,
+ HPE_CB_PROTOCOL_COMPLETE = 38
};
typedef enum llhttp_errno llhttp_errno_t;
@@ -326,6 +327,7 @@ typedef enum llhttp_status llhttp_status_t;
XX(34, CB_CHUNK_EXTENSION_NAME_COMPLETE, CB_CHUNK_EXTENSION_NAME_COMPLETE) \
XX(35, CB_CHUNK_EXTENSION_VALUE_COMPLETE, CB_CHUNK_EXTENSION_VALUE_COMPLETE) \
XX(31, CB_RESET, CB_RESET) \
+ XX(38, CB_PROTOCOL_COMPLETE, CB_PROTOCOL_COMPLETE) \
#define HTTP_METHOD_MAP(XX) \
@@ -567,6 +569,7 @@ struct llhttp_settings_s {
llhttp_cb on_message_begin;
/* Possible return values 0, -1, HPE_USER */
+ llhttp_data_cb on_protocol;
llhttp_data_cb on_url;
llhttp_data_cb on_status;
llhttp_data_cb on_method;
@@ -592,6 +595,7 @@ struct llhttp_settings_s {
/* Possible return values 0, -1, `HPE_PAUSED` */
llhttp_cb on_message_complete;
+ llhttp_cb on_protocol_complete;
llhttp_cb on_url_complete;
llhttp_cb on_status_complete;
llhttp_cb on_method_complete;
From f3db82fcfe9fab2c0977b4cb900c2e913a325e29 Mon Sep 17 00:00:00 2001
From: "F. Duncanh"
Date: Mon, 7 Jul 2025 11:25:54 -0400
Subject: [PATCH 61/65] cleanup in httpd.c
---
lib/httpd.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/httpd.c b/lib/httpd.c
index 1d17b99..9a4b990 100644
--- a/lib/httpd.c
+++ b/lib/httpd.c
@@ -211,17 +211,19 @@ httpd_remove_connection(httpd_t *httpd, http_connection_t *connection)
httpd->callbacks.conn_destroy(connection->user_data);
connection->user_data = NULL;
}
- shutdown(connection->socket_fd, SHUT_WR);
if (connection->socket_fd) {
+ shutdown(connection->socket_fd, SHUT_WR);
int ret = closesocket(connection->socket_fd);
if (ret == -1) {
logger_log(httpd->logger, LOGGER_ERR, "httpd error in closesocket (close): %d %s", errno, strerror(errno));
}
connection->socket_fd = 0;
}
- connection->connected = 0;
+ if (connection->connected) {
+ connection->connected = 0;
+ httpd->open_connections--;
+ }
connection->type = CONNECTION_TYPE_UNKNOWN;
- httpd->open_connections--;
}
static int
From ae28bc7930857c52d965b0d66a94fe699eb19672 Mon Sep 17 00:00:00 2001
From: "F. Duncanh"
Date: Mon, 7 Jul 2025 13:34:33 -0400
Subject: [PATCH 62/65] fix -pw bug in dnssd.c (fixes #426)
---
lib/dnssd.c | 8 +++++---
lib/raop_handlers.h | 2 +-
uxplay.cpp | 14 +++++++++-----
3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/lib/dnssd.c b/lib/dnssd.c
index 90f152b..b66563c 100644
--- a/lib/dnssd.c
+++ b/lib/dnssd.c
@@ -164,8 +164,8 @@ dnssd_init(const char* name, int name_len, const char* hw_addr, int hw_addr_len,
unsigned long features;
/* pin_pw = 0: no pin or password
1: use onscreen pin for client access control
- 2: require password for client accress control.
- */
+ 2 or 3: require password for client access control
+ */
if (error) *error = DNSSD_ERROR_NOERROR;
@@ -308,6 +308,7 @@ dnssd_register_raop(dnssd_t *dnssd, unsigned short port)
dnssd->TXTRecordSetValue(&dnssd->raop_record, "rhd", strlen(RAOP_RHD), RAOP_RHD);
switch (dnssd->pin_pw) {
case 2:
+ case 3:
dnssd->TXTRecordSetValue(&dnssd->raop_record, "pw", strlen("true"), "true");
dnssd->TXTRecordSetValue(&dnssd->raop_record, "sf", 4, "0x84");
break;
@@ -316,7 +317,7 @@ dnssd_register_raop(dnssd_t *dnssd, unsigned short port)
dnssd->TXTRecordSetValue(&dnssd->raop_record, "sf", 3, "0x8c");
break;
default:
- dnssd->TXTRecordSetValue(&dnssd->raop_record, "pw", strlen("true"), "false");
+ dnssd->TXTRecordSetValue(&dnssd->raop_record, "pw", strlen("false"), "false");
dnssd->TXTRecordSetValue(&dnssd->raop_record, "sf", strlen(RAOP_SF), RAOP_SF);
break;
}
@@ -384,6 +385,7 @@ dnssd_register_airplay(dnssd_t *dnssd, unsigned short port)
dnssd->TXTRecordSetValue(&dnssd->airplay_record, "flags", 3, "0x4");
break;
case 2: // require password
+ case 3:
dnssd->TXTRecordSetValue(&dnssd->airplay_record, "pw", strlen("true"), "true");
dnssd->TXTRecordSetValue(&dnssd->airplay_record, "flags", 3, "0x4");
break;
diff --git a/lib/raop_handlers.h b/lib/raop_handlers.h
index 37d3db9..5003cbe 100644
--- a/lib/raop_handlers.h
+++ b/lib/raop_handlers.h
@@ -588,7 +588,7 @@ raop_handler_setup(raop_conn_t *conn,
if (!conn->authenticated && conn->raop->callbacks.passwd) {
int len;
const char *password = conn->raop->callbacks.passwd(conn->raop->callbacks.cls, &len);
- // len = -1 means use a random password for this connection
+ // len = -1 means use a random password for this connection; len = 0 means no password
if (len == -1 && conn->raop->random_pw && conn->raop->auth_fail_count >= 5) {
// change random_pw after 5 failed authentication attempts
logger_log(conn->raop->logger, LOGGER_INFO, "Too many authentication failures: generate new random password");
diff --git a/uxplay.cpp b/uxplay.cpp
index b869806..a0e936e 100644
--- a/uxplay.cpp
+++ b/uxplay.cpp
@@ -1543,8 +1543,9 @@ static int start_dnssd(std::vector hw_addr, std::string name) {
return 2;
}
/* pin_pw controls client access
- pin_pw = 1: client must enter pin displayed onscreen (first access only)
+ pin_pw = 1: client must enter pin displayed onscreen (first access only)
= 2: client must enter password (same password for all clients)
+ = 3: client must enter randoe 4-digit password displayed like an onscreen pin (every access)
= 0: no access control
*/
dnssd = dnssd_init(name.c_str(), strlen(name.c_str()), hw_addr.data(), hw_addr.size(), &dnssd_error, pin_pw);
@@ -1705,12 +1706,15 @@ extern "C" void display_pin(void *cls, char *pin) {
}
extern "C" const char *passwd(void *cls, int *len){
- if (pin_pw == 3) {
+ if (pin_pw == 2) {
+ *len = password.size();
+ return password.c_str();
+ } else if (pin_pw == 3) {
*len = -1;
- return NULL;
+ } else {
+ *len = 0; /* no password used */
}
- *len = password.size();
- return password.c_str();
+ return NULL;
}
extern "C" void export_dacp(void *cls, const char *active_remote, const char *dacp_id) {
From 89844fa53ffa0cc14fda0417f64c3a7dd81f0f6e Mon Sep 17 00:00:00 2001
From: "F. Duncanh"
Date: Mon, 7 Jul 2025 20:34:22 -0400
Subject: [PATCH 63/65] update for v1.72.2 release
---
README.html | 2 ++
README.md | 3 +++
README.txt | 3 +++
uxplay.spec | 6 +++---
4 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/README.html b/README.html
index 1bdc809..e55b176 100644
--- a/README.html
+++ b/README.html
@@ -1700,6 +1700,8 @@ an AppleTV6,2 with sourceVersion 380.20.1 (an AppleTV 4K 1st gen,
introduced 2017, running tvOS 12.2.1), so it does not seem to matter
what version UxPlay claims to be.
Changelog
+1.72.2 2025-07-07 Fix bug (typo) in DNS_SD advertisement introduced
+with -pw option. Update llhttp to v 9.3.0
1.72.1 2025-06-06 minor update: fix regression in -reg option; add
option -rc to specify initialization file; add “-nc no” to
unset “-nc” option (for macOS users, where -nc is default); add
diff --git a/README.md b/README.md
index 76c17fe..9e53aa1 100644
--- a/README.md
+++ b/README.md
@@ -1731,6 +1731,9 @@ introduced 2017, running tvOS 12.2.1), so it does not seem to matter
what version UxPlay claims to be.
# Changelog
+1.72.2 2025-07-07 Fix bug (typo) in DNS_SD advertisement introduced with -pw
+option. Update llhttp to v 9.3.0
+
1.72.1 2025-06-06 minor update: fix regression in -reg option; add option
-rc to specify initialization file; add "-nc no" to unset "-nc"
option (for macOS users, where -nc is default); add user-installable
diff --git a/README.txt b/README.txt
index aca484c..bd95777 100644
--- a/README.txt
+++ b/README.txt
@@ -1751,6 +1751,9 @@ what version UxPlay claims to be.
# Changelog
+1.72.2 2025-07-07 Fix bug (typo) in DNS_SD advertisement introduced with
+-pw option. Update llhttp to v 9.3.0
+
1.72.1 2025-06-06 minor update: fix regression in -reg option; add
option -rc ``{=html} to specify initialization file; add "-nc
no" to unset "-nc" option (for macOS users, where -nc is default); add
diff --git a/uxplay.spec b/uxplay.spec
index 87d46b1..e302bb4 100644
--- a/uxplay.spec
+++ b/uxplay.spec
@@ -1,5 +1,5 @@
Name: uxplay
-Version: 1.72.1
+Version: 1.72.2
Release: 1%{?dist}
%global gittag v%{version}
@@ -135,8 +135,8 @@ cd build
%{_docdir}/%{name}/llhttp/LICENSE-MIT
%changelog
-* Thu Jun 5 2025 UxPlay maintainer
- Update for 1.72.1 release
+* Mon Jul 7 2025 UxPlay maintainer
+ Update for 1.72.2 release
* Fri Nov 15 2024 UxPlay maintainer
Initial uxplay.spec: tested on Fedora 38, Rocky Linux 9.2, OpenSUSE
Leap 15.5, Mageia 9, OpenMandriva ROME, PCLinuxOS
From 546145a9634e8fbce697a24f85c55ba16d6ca9e1 Mon Sep 17 00:00:00 2001
From: "F. Duncanh"
Date: Mon, 7 Jul 2025 20:55:47 -0400
Subject: [PATCH 64/65] add -ca (w/o filename) option for gstreamer rendering
of coverart
---
README.html | 30 +++++++++----
README.md | 32 ++++++++++----
README.txt | 37 ++++++++++------
lib/raop.h | 3 +-
lib/raop_handlers.h | 4 ++
renderers/video_renderer.c | 86 +++++++++++++++++++++++++-------------
renderers/video_renderer.h | 3 +-
uxplay.1 | 2 +
uxplay.cpp | 25 +++++++----
9 files changed, 154 insertions(+), 68 deletions(-)
diff --git a/README.html b/README.html
index e55b176..d647f50 100644
--- a/README.html
+++ b/README.html
@@ -8,6 +8,10 @@ developed at the GitHub site https://github.com/FDH2/UxPlay (where ALL user issues
should be posted, and latest versions can be found).
By default, GStreamer uses an algorithm to search for the best
“videosink” (GStreamer’s term for a graphics driver to display images)
@@ -1067,11 +1074,11 @@ starts (set it in the .uxplay startup file, where it is stored as
cleartext.) All users must then know this password. This uses HTTP md5
Digest authentication, which is now regarded as providing weak security,
but it is only used to validate the uxplay password, and no user
-credentials are exposed. _Note: -pin and -pw are alternatives: if both
-are specified at startup, the earlier of these two options is discarded.
-If pwd is not specified, a random 4-digit pin code is
-displayed, and must be entered on the client at each
-new conenction.
+credentials are exposed. If xxxx 2025-07-07 Render Audio cover-art inside UxPlay with -ca option
+(no file specified).
1.72.2 2025-07-07 Fix bug (typo) in DNS_SD advertisement introduced
with -pw option. Update llhttp to v 9.3.0
1.72.1 2025-06-06 minor update: fix regression in -reg option; add
diff --git a/README.md b/README.md
index 9e53aa1..2821164 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,11 @@
### **Now developed at the GitHub site (where ALL user issues should be posted, and latest versions can be found).**
+- **NEW on github**: option -ca (with no filename given) will now render
+ Apple Music cover art (in audio-only mode) inside
+ UxPlay. (-ca `` will continue to export cover art for
+ display by an external viewer).
+
- **NEW in v1.72**: Improved Support for (YouTube) HLS (HTTP Live Streaming)
video with the new "-hls" option (introduced in 1.71).* **Only streaming from the YouTube iOS app
(in \"m3u8\" protocol) is currently supported**: (streaming using the AirPlay icon in a browser window
@@ -93,7 +98,8 @@ status](https://repology.org/badge/vertical-allrepos/uxplay.svg)](https://repolo
- For Audio-only mode (Apple Music, etc.) best quality is obtained
with the option "uxplay -async", but there is then a 2 second
- latency imposed by iOS.
+ latency imposed by iOS. Use option "uxplay -ca" to display any "Cover Art" that
+ accompanies the audio.
- If you are using UxPlay just to mirror the client's screen (without
showing videos that need audio synchronized with video), it is best to
@@ -606,12 +612,14 @@ value advances it.)
-FPSdata.) When using this, you should use the default
timestamp-based synchronization option `-vsync`.
-- Since UxPlay-1.54, you can display the accompanying "Cover Art" from
- sources like Apple Music in Audio-Only (ALAC) mode: run
+- You can now display (inside UxPlay) the accompanying "Cover Art" from
+ sources like Apple Music in Audio-Only (ALAC) mode with the option
+ `uxplay -ca`. _The older method of exporting cover art to an external
+ viewer remains available: run
"`uxplay -ca &`" in the background, then run a image viewer
with an autoreload feature: an example is "feh": run
"`feh -R 1 `" in the foreground; terminate feh and then Uxplay
- with "`ctrl-C fg ctrl-C`".
+ with "`ctrl-C fg ctrl-C`"_.
By default, GStreamer uses an algorithm to search for the best
"videosink" (GStreamer's term for a graphics driver to display images)
@@ -1060,11 +1068,11 @@ can be controlled with a password set when uxplay starts (set it in
the .uxplay startup file, where it is stored as cleartext.) All users must
then know this password. This uses HTTP md5 Digest authentication,
which is now regarded as providing weak security, but it is only used to
-validate the uxplay password, and no user credentials are exposed. _Note:
--pin and -pw are alternatives: if both are specified at startup, the
-earlier of these two options is discarded. If *pwd* is not specified,
-a random 4-digit pin code is displayed, and must be entered on the client
-at **each** new conenction.
+validate the uxplay password, and no user credentials are exposed.
+If *pwd* is **not** specified, a random 4-digit pin code is displayed, and must
+be entered on the client at **each** new connection.
+_Note: -pin and -pw are alternatives: if both are specified at startup, the
+earlier of these two options is discarded._
**-vsync \[x\]** (In Mirror mode:) this option (**now the default**)
uses timestamps to synchronize audio with video on the server, with an
@@ -1245,6 +1253,9 @@ number of microseconds. Default is 0.25 sec (250000 usec). *(However,
the client appears to ignore this reported latency, so this option seems
non-functional.)*
+**-ca** (without specifying a filename) now displays "cover art"
+ that accompanies Apple Music when played in "Audio-only" (ALAC) mode.
+
**-ca *filename*** provides a file (where *filename* can include a full
path) used for output of "cover art" (from Apple Music, *etc.*,) in
audio-only ALAC mode. This file is overwritten with the latest cover art
@@ -1731,6 +1742,9 @@ introduced 2017, running tvOS 12.2.1), so it does not seem to matter
what version UxPlay claims to be.
# Changelog
+xxxx 2025-07-07 Render Audio cover-art inside UxPlay with -ca option (no file
+specified).
+
1.72.2 2025-07-07 Fix bug (typo) in DNS_SD advertisement introduced with -pw
option. Update llhttp to v 9.3.0
diff --git a/README.txt b/README.txt
index bd95777..c2283ef 100644
--- a/README.txt
+++ b/README.txt
@@ -2,6 +2,11 @@
### **Now developed at the GitHub site (where ALL user issues should be posted, and latest versions can be found).**
+- **NEW on github**: option -ca (with no filename given) will now
+ render Apple Music cover art (in audio-only mode) inside UxPlay.
+ (-ca `` will continue to export cover art for display by
+ an external viewer).
+
- **NEW in v1.72**: Improved Support for (YouTube) HLS (HTTP Live
Streaming) video with the new "-hls" option (introduced in 1.71).\*
**Only streaming from the YouTube iOS app (in \"m3u8\" protocol) is
@@ -100,7 +105,8 @@ status](https://repology.org/badge/vertical-allrepos/uxplay.svg)](https://repolo
- For Audio-only mode (Apple Music, etc.) best quality is obtained
with the option "uxplay -async", but there is then a 2 second
- latency imposed by iOS.
+ latency imposed by iOS. Use option "uxplay -ca" to display any
+ "Cover Art" that accompanies the audio.
- If you are using UxPlay just to mirror the client's screen (without
showing videos that need audio synchronized with video), it is best
@@ -620,12 +626,13 @@ value advances it.)
-FPSdata.) When using this, you should use the default
timestamp-based synchronization option `-vsync`.
-- Since UxPlay-1.54, you can display the accompanying "Cover Art" from
- sources like Apple Music in Audio-Only (ALAC) mode: run
- "`uxplay -ca &`" in the background, then run a image viewer
- with an autoreload feature: an example is "feh": run
- "`feh -R 1 `" in the foreground; terminate feh and then Uxplay
- with "`ctrl-C fg ctrl-C`".
+- You can now display (inside UxPlay) the accompanying "Cover Art"
+ from sources like Apple Music in Audio-Only (ALAC) mode with the
+ option `uxplay -ca`. *The older method of exporting cover art to an
+ external viewer remains available: run "`uxplay -ca &`" in
+ the background, then run a image viewer with an autoreload feature:
+ an example is "feh": run "`feh -R 1 `" in the foreground;
+ terminate feh and then Uxplay with "`ctrl-C fg ctrl-C`"*.
By default, GStreamer uses an algorithm to search for the best
"videosink" (GStreamer's term for a graphics driver to display images)
@@ -1080,11 +1087,11 @@ access can be controlled with a password set when uxplay starts (set it
in the .uxplay startup file, where it is stored as cleartext.) All users
must then know this password. This uses HTTP md5 Digest authentication,
which is now regarded as providing weak security, but it is only used to
-validate the uxplay password, and no user credentials are exposed.
-\_Note: -pin and -pw are alternatives: if both are specified at startup,
-the earlier of these two options is discarded. If *pwd* is not
-specified, a random 4-digit pin code is displayed, and must be entered
-on the client at **each** new conenction.
+validate the uxplay password, and no user credentials are exposed. If
+*pwd* is **not** specified, a random 4-digit pin code is displayed, and
+must be entered on the client at **each** new connection. *Note: -pin
+and -pw are alternatives: if both are specified at startup, the earlier
+of these two options is discarded.*
**-vsync \[x\]** (In Mirror mode:) this option (**now the default**)
uses timestamps to synchronize audio with video on the server, with an
@@ -1265,6 +1272,9 @@ number of microseconds. Default is 0.25 sec (250000 usec). *(However,
the client appears to ignore this reported latency, so this option seems
non-functional.)*
+**-ca** (without specifying a filename) now displays "cover art" that
+accompanies Apple Music when played in "Audio-only" (ALAC) mode.
+
**-ca *filename*** provides a file (where *filename* can include a full
path) used for output of "cover art" (from Apple Music, *etc.*,) in
audio-only ALAC mode. This file is overwritten with the latest cover art
@@ -1751,6 +1761,9 @@ what version UxPlay claims to be.
# Changelog
+xxxx 2025-07-07 Render Audio cover-art inside UxPlay with -ca option (no
+file specified).
+
1.72.2 2025-07-07 Fix bug (typo) in DNS_SD advertisement introduced with
-pw option. Update llhttp to v 9.3.0
diff --git a/lib/raop.h b/lib/raop.h
index fe81818..6cbe3d6 100644
--- a/lib/raop.h
+++ b/lib/raop.h
@@ -82,6 +82,7 @@ struct raop_callbacks_s {
void (*audio_set_volume)(void *cls, float volume);
void (*audio_set_metadata)(void *cls, const void *buffer, int buflen);
void (*audio_set_coverart)(void *cls, const void *buffer, int buflen);
+ void (*audio_stop_coverart_rendering) (void* cls);
void (*audio_remote_control_id)(void *cls, const char *dacp_id, const char *active_remote_header);
void (*audio_set_progress)(void *cls, unsigned int start, unsigned int curr, unsigned int end);
void (*audio_get_format)(void *cls, unsigned char *ct, unsigned short *spf, bool *usingScreen, bool *isMedia, uint64_t *audioFormat);
@@ -99,8 +100,8 @@ struct raop_callbacks_s {
void (*on_video_rate) (void *cls, const float rate);
void (*on_video_stop) (void *cls);
void (*on_video_acquire_playback_info) (void *cls, playback_info_t *playback_video);
-
};
+
typedef struct raop_callbacks_s raop_callbacks_t;
raop_ntp_t *raop_ntp_init(logger_t *logger, raop_callbacks_t *callbacks, const char *remote,
int remote_addr_len, unsigned short timing_rport,
diff --git a/lib/raop_handlers.h b/lib/raop_handlers.h
index 5003cbe..c89fb7f 100644
--- a/lib/raop_handlers.h
+++ b/lib/raop_handlers.h
@@ -1191,6 +1191,10 @@ raop_handler_teardown(raop_conn_t *conn,
if (conn->raop_rtp) {
/* Stop our audio RTP session */
raop_rtp_stop(conn->raop_rtp);
+ /* stop any coverart rendering */
+ if (conn->raop->callbacks.audio_stop_coverart_rendering) {
+ conn->raop->callbacks.audio_stop_coverart_rendering(conn->raop->callbacks.cls);
+ }
}
} else if (teardown_110) {
conn->raop->callbacks.video_reset(conn->raop->callbacks.cls);
diff --git a/renderers/video_renderer.c b/renderers/video_renderer.c
index f336d6d..c701c88 100644
--- a/renderers/video_renderer.c
+++ b/renderers/video_renderer.c
@@ -72,7 +72,7 @@ typedef enum {
//GST_PLAY_FLAG_FORCE_SW_DECODERS = (1 << 12),
} GstPlayFlags;
-#define NCODECS 2 /* renderers for h264 and h265 */
+#define NCODECS 3 /* renderers for h264,h265, and jpeg images */
struct video_renderer_s {
GstElement *appsrc, *pipeline;
@@ -95,7 +95,8 @@ static video_renderer_t *renderer_type[NCODECS] = {0};
static int n_renderers = NCODECS;
static char h264[] = "h264";
static char h265[] = "h265";
-static char hls[] = "hls";
+static char hls[] = "hls";
+static char jpeg[] = "jpeg";
static void append_videoflip (GString *launch, const videoflip_t *flip, const videoflip_t *rot) {
/* videoflip image transform */
@@ -164,6 +165,7 @@ static void append_videoflip (GString *launch, const videoflip_t *flip, const vi
* closest used by GStreamer < 1.20.4 is BT709, 2:3:5:1 with * // now use sRGB = 1:1:7:1
* range = 2 -> GST_VIDEO_COLOR_RANGE_16_235 ("limited RGB") */
+static const char jpeg_caps[]="image/jpeg";
static const char h264_caps[]="video/x-h264,stream-format=(string)byte-stream,alignment=(string)au";
static const char h265_caps[]="video/x-h265,stream-format=(string)byte-stream,alignment=(string)au";
@@ -246,18 +248,20 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
appname = NULL;
/* the renderer for hls video will only be built if a HLS uri is provided in
- * the call to video_renderer_init, in which case the h264 and 265 mirror-mode
- * renderers will not be built. This is because it appears that we cannot
+ * the call to video_renderer_init, in which case the h264/h265 mirror-mode and jpeg
+ * audio-mode renderers will not be built. This is because it appears that we cannot
* put playbin into GST_STATE_READY before knowing the uri (?), so cannot use a
- * unified renderer structure with h264, h265 and hls */
+ * unified renderer structure with h264, h265, jpeg and hls */
if (hls_video) {
n_renderers = 1;
+ /* renderer[0]: playbin (hls) */
} else {
- n_renderers = h265_support ? 2 : 1;
+ n_renderers = h265_support ? 3 : 2;
+ /* renderer[0]: jpeg; [1]: h264; [2]: h265 */
}
g_assert (n_renderers <= NCODECS);
for (int i = 0; i < n_renderers; i++) {
- g_assert (i < 2);
+ g_assert (i < 3);
renderer_type[i] = (video_renderer_t *) calloc(1, sizeof(video_renderer_t));
g_assert(renderer_type[i]);
renderer_type[i]->autovideo = auto_videosink;
@@ -280,8 +284,8 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
g_assert(renderer_type[i]->pipeline);
renderer_type[i]->appsrc = NULL;
renderer_type[i]->codec = hls;
- /* if we are not using autovideosink, build a videossink based on the string "videosink" */
- if(strcmp(videosink, "autovideosink")) {
+ /* if we are not using an autovideosink, build a videosink based on the string "videosink" */
+ if (!auto_videosink) {
GstElement *playbin_videosink = make_video_sink(videosink, videosink_options);
if (!playbin_videosink) {
logger_log(logger, LOGGER_ERR, "video_renderer_init: failed to create playbin_videosink");
@@ -297,12 +301,18 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
g_object_set(renderer_type[i]->pipeline, "flags", flags, NULL);
g_object_set (G_OBJECT (renderer_type[i]->pipeline), "uri", uri, NULL);
} else {
+ bool jpeg_pipeline = false;
switch (i) {
case 0:
+ jpeg_pipeline = true;
+ renderer_type[i]->codec = jpeg;
+ caps = gst_caps_from_string(jpeg_caps);
+ break;
+ case 1:
renderer_type[i]->codec = h264;
caps = gst_caps_from_string(h264_caps);
break;
- case 1:
+ case 2:
renderer_type[i]->codec = h265;
caps = gst_caps_from_string(h265_caps);
break;
@@ -310,22 +320,29 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
g_assert(0);
}
GString *launch = g_string_new("appsrc name=video_source ! ");
- g_string_append(launch, "queue ! ");
- g_string_append(launch, parser);
- g_string_append(launch, " ! ");
- g_string_append(launch, decoder);
+ if (jpeg_pipeline) {
+ g_string_append(launch, "jpegdec ");
+ } else {
+ g_string_append(launch, "queue ! ");
+ g_string_append(launch, parser);
+ g_string_append(launch, " ! ");
+ g_string_append(launch, decoder);
+ }
g_string_append(launch, " ! ");
append_videoflip(launch, &videoflip[0], &videoflip[1]);
g_string_append(launch, converter);
g_string_append(launch, " ! ");
g_string_append(launch, "videoscale ! ");
+ if (jpeg_pipeline) {
+ g_string_append(launch, " imagefreeze allow-replace=TRUE ! ");
+ }
g_string_append(launch, videosink);
g_string_append(launch, " name=");
g_string_append(launch, videosink);
g_string_append(launch, "_");
g_string_append(launch, renderer_type[i]->codec);
g_string_append(launch, videosink_options);
- if (video_sync) {
+ if (video_sync && !jpeg_pipeline) {
g_string_append(launch, " sync=true");
sync = true;
} else {
@@ -366,7 +383,6 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
gst_pipeline_use_clock(GST_PIPELINE_CAST(renderer_type[i]->pipeline), clock);
renderer_type[i]->appsrc = gst_bin_get_by_name (GST_BIN (renderer_type[i]->pipeline), "video_source");
g_assert(renderer_type[i]->appsrc);
-
g_object_set(renderer_type[i]->appsrc, "caps", caps, "stream-type", 0, "is-live", TRUE, "format", GST_FORMAT_TIME, NULL);
g_string_free(launch, TRUE);
gst_caps_unref(caps);
@@ -388,7 +404,7 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
g_assert(renderer_type[0]->gst_window);
get_X11_Display(renderer_type[0]->gst_window, x11_display_name);
if (renderer_type[0]->gst_window->display) {
- renderer_type[i]->use_x11 = true;
+ renderer_type[0]->use_x11 = true;
} else {
free(renderer_type[0]->gst_window);
renderer_type[0]->gst_window = NULL;
@@ -487,6 +503,16 @@ bool waiting_for_x11_window() {
return false;
}
+void video_renderer_display_jpeg(const void *data, int *data_len) {
+ GstBuffer *buffer;
+ if (renderer && !strcmp(renderer->codec, jpeg)) {
+ buffer = gst_buffer_new_allocate(NULL, *data_len, NULL);
+ g_assert(buffer != NULL);
+ gst_buffer_fill(buffer, 0, data, *data_len);
+ gst_app_src_push_buffer (GST_APP_SRC(renderer->appsrc), buffer);
+ }
+}
+
uint64_t video_renderer_render_buffer(unsigned char* data, int *data_len, int *nal_count, uint64_t *ntp_time) {
GstBuffer *buffer;
GstClockTime pts = (GstClockTime) *ntp_time; /*now in nsecs */
@@ -849,19 +875,19 @@ gboolean gstreamer_pipeline_bus_callback(GstBus *bus, GstMessage *message, void
return TRUE;
}
-int video_renderer_choose_codec (bool video_is_h265) {
+int video_renderer_choose_codec (bool video_is_jpeg, bool video_is_h265) {
video_renderer_t *renderer_used = NULL;
- video_renderer_t *renderer_unused = NULL;
g_assert(!hls_video);
- if (n_renderers == 1) {
+ if (video_is_jpeg) {
+ renderer_used = renderer_type[0];
+ } else if (n_renderers == 2) {
if (video_is_h265) {
logger_log(logger, LOGGER_ERR, "video is h265 but the -h265 option was not used");
return -1;
}
- renderer_used = renderer_type[0];
+ renderer_used = renderer_type[1];
} else {
- renderer_used = video_is_h265 ? renderer_type[1] : renderer_type[0];
- renderer_unused = video_is_h265 ? renderer_type[0] : renderer_type[1];
+ renderer_used = video_is_h265 ? renderer_type[2] : renderer_type[1];
}
if (renderer_used == NULL) {
return -1;
@@ -880,14 +906,16 @@ int video_renderer_choose_codec (bool video_is_h265) {
logger_log(logger, LOGGER_DEBUG, "video_pipeline state change from %s to %s\n",
gst_element_state_get_name (old_state),gst_element_state_get_name (new_state));
gst_video_pipeline_base_time = gst_element_get_base_time(renderer->appsrc);
- if (renderer == renderer_type[1]) {
+ if (n_renderers > 2 && renderer == renderer_type[2]) {
logger_log(logger, LOGGER_INFO, "*** video format is h265 high definition (HD/4K) video %dx%d", width, height);
}
- if (renderer_unused) {
- for (int i = 0; i < n_renderers; i++) {
- if (renderer_type[i] != renderer_unused) {
- continue;
- }
+ /* destroy unused renderers */
+ for (int i = 1; i < n_renderers; i++) {
+ if (renderer_type[i] == renderer) {
+ continue;
+ }
+ if (renderer_type[i]) {
+ video_renderer_t *renderer_unused = renderer_type[i];
renderer_type[i] = NULL;
video_renderer_destroy_instance(renderer_unused);
}
diff --git a/renderers/video_renderer.h b/renderers/video_renderer.h
index 1fbdbf4..9c307e8 100644
--- a/renderers/video_renderer.h
+++ b/renderers/video_renderer.h
@@ -58,13 +58,14 @@ void video_renderer_set_start(float position);
void video_renderer_resume ();
bool video_renderer_is_paused();
uint64_t video_renderer_render_buffer (unsigned char* data, int *data_len, int *nal_count, uint64_t *ntp_time);
+void video_renderer_display_jpeg(const void *data, int *data_len);
void video_renderer_flush ();
unsigned int video_renderer_listen(void *loop, int id);
void video_renderer_destroy ();
void video_renderer_size(float *width_source, float *height_source, float *width, float *height);
bool waiting_for_x11_window();
bool video_get_playback_info(double *duration, double *position, float *rate, bool *buffer_empty, bool *buffer_full);
-int video_renderer_choose_codec(bool is_h265);
+int video_renderer_choose_codec (bool video_is_jpeg, bool video_is_h265);
unsigned int video_renderer_listen(void *loop, int id);
unsigned int video_reset_callback(void *loop);
#ifdef __cplusplus
diff --git a/uxplay.1 b/uxplay.1
index f4554e3..3cda48d 100644
--- a/uxplay.1
+++ b/uxplay.1
@@ -115,6 +115,8 @@ UxPlay 1.72: An open\-source AirPlay mirroring (+ audio streaming) server:
.TP
\fB\-al\fR x Audio latency in seconds (default 0.25) reported to client.
.TP
+\fB\-ca\fR Display cover-art in AirPlay Audio (ALAC) mode.
+.TP
\fB\-ca\fI fn \fR In Airplay Audio (ALAC) mode, write cover-art to file fn.
.TP
\fB\-md\fI fn \fR In Airplay Audio (ALAC) mode, write metadata text to file fn.
diff --git a/uxplay.cpp b/uxplay.cpp
index a0e936e..48f3a3b 100644
--- a/uxplay.cpp
+++ b/uxplay.cpp
@@ -129,6 +129,7 @@ static bool dump_audio = false;
static unsigned char audio_type = 0x00;
static unsigned char previous_audio_type = 0x00;
static bool fullscreen = false;
+static bool render_coverart = false;
static std::string coverart_filename = "";
static std::string metadata_filename = "";
static bool do_append_hostname = true;
@@ -714,7 +715,7 @@ static void print_info (char *name) {
printf(" osssink,oss4sink,osxaudiosink,wasapisink,directsoundsink.\n");
printf("-as 0 (or -a) Turn audio off, streamed video only\n");
printf("-al x Audio latency in seconds (default 0.25) reported to client.\n");
- printf("-ca In Airplay Audio (ALAC) mode, write cover-art to file \n");
+ printf("-ca []In Audio (ALAC) mode, render cover-art [or write to file ]\n");
printf("-md In Airplay Audio (ALAC) mode, write metadata text to file \n");
printf("-reset n Reset after n seconds of client silence (default n=%d, 0=never)\n", MISSED_FEEDBACK_LIMIT);
printf("-nofreeze Do NOT leave frozen screen in place after reset\n");
@@ -1154,20 +1155,20 @@ static void parse_arguments (int argc, char *argv[]) {
if (!file_has_write_access(fn)) {
fprintf(stderr, "%s cannot be written to:\noption \"-admp \" must be to a file with write access\n", fn);
exit(1);
- }
+ }
}
} else if (arg == "-ca" ) {
- if (option_has_value(i, argc, arg, argv[i+1])) {
+ if (i < argc - 1 && *argv[i+1] != '-') {
coverart_filename.erase();
coverart_filename.append(argv[++i]);
const char *fn = coverart_filename.c_str();
+ render_coverart = false;
if (!file_has_write_access(fn)) {
fprintf(stderr, "%s cannot be written to:\noption \"-ca \" must be to a file with write access\n", fn);
exit(1);
}
} else {
- fprintf(stderr,"option -ca must be followed by a filename for cover-art output\n");
- exit(1);
+ render_coverart = true;
}
} else if (arg == "-md" ) {
if (option_has_value(i, argc, arg, argv[i+1])) {
@@ -1175,7 +1176,7 @@ static void parse_arguments (int argc, char *argv[]) {
metadata_filename.append(argv[++i]);
const char *fn = metadata_filename.c_str();
if (!file_has_write_access(fn)) {
- fprintf(stderr, "%s cannot be written to:\noption \"-ca \" must be to a file with write access\n", fn);
+ fprintf(stderr, "%s cannot be written to:\noption \"-md \" must be to a file with write access\n", fn);
exit(1);
}
} else {
@@ -1690,7 +1691,7 @@ extern "C" void video_reset(void *cls) {
extern "C" int video_set_codec(void *cls, video_codec_t codec) {
bool video_is_h265 = (codec == VIDEO_CODEC_H265);
- return video_renderer_choose_codec(video_is_h265);
+ return video_renderer_choose_codec(false, video_is_h265);
}
extern "C" void display_pin(void *cls, char *pin) {
@@ -1967,6 +1968,15 @@ extern "C" void audio_set_coverart(void *cls, const void *buffer, int buflen) {
if (buffer && coverart_filename.length()) {
write_coverart(coverart_filename.c_str(), buffer, buflen);
LOGI("coverart size %d written to %s", buflen, coverart_filename.c_str());
+ } else if (buffer && render_coverart) {
+ video_renderer_choose_codec(true, false); /* video_is_jpeg = true */
+ video_renderer_display_jpeg(buffer, &buflen);
+ }
+}
+
+extern "C" void audio_stop_coverart_rendering(void *cls) {
+ if (render_coverart) {
+ video_reset(cls);
}
}
@@ -2149,6 +2159,7 @@ static int start_raop_server (unsigned short display[5], unsigned short tcp[3],
raop_cbs.video_report_size = video_report_size;
raop_cbs.audio_set_metadata = audio_set_metadata;
raop_cbs.audio_set_coverart = audio_set_coverart;
+ raop_cbs.audio_stop_coverart_rendering = audio_stop_coverart_rendering;
raop_cbs.audio_set_progress = audio_set_progress;
raop_cbs.report_client_request = report_client_request;
raop_cbs.display_pin = display_pin;
From cf27c06c3333c05375b00a4ef2e0ed88f1e9c8b2 Mon Sep 17 00:00:00 2001
From: "F. Duncanh"
Date: Wed, 9 Jul 2025 23:02:15 -0400
Subject: [PATCH 65/65] -pw option: do not reuse random_pw for new client
---
lib/raop_handlers.h | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/lib/raop_handlers.h b/lib/raop_handlers.h
index c89fb7f..4dcfbab 100644
--- a/lib/raop_handlers.h
+++ b/lib/raop_handlers.h
@@ -26,6 +26,7 @@
#define AUDIO_SAMPLE_RATE 44100 /* all supported AirPlay audio format use this sample rate */
#define SECOND_IN_USECS 1000000
#define SECOND_IN_NSECS 1000000000
+#define MAX_PW_ATTEMPTS 5
typedef void (*raop_handler_t)(raop_conn_t *, http_request_t *,
http_response_t *, char **, int *);
@@ -584,14 +585,23 @@ raop_handler_setup(raop_conn_t *conn,
// First setup
+ char *deviceID = NULL;
+ plist_t req_deviceid_node = plist_dict_get_item(req_root_node, "deviceID");
+ plist_get_string_val(req_deviceid_node, &deviceID);
+
+
/* RFC2617 Digest authentication (md5 hash) of uxplay client-access password, if set */
if (!conn->authenticated && conn->raop->callbacks.passwd) {
+ size_t pin_len = 4;
+ if (conn->raop->random_pw && strncmp(conn->raop->random_pw + pin_len + 1, deviceID, 17)) {
+ conn->raop->auth_fail_count = MAX_PW_ATTEMPTS;
+ }
int len;
const char *password = conn->raop->callbacks.passwd(conn->raop->callbacks.cls, &len);
// len = -1 means use a random password for this connection; len = 0 means no password
- if (len == -1 && conn->raop->random_pw && conn->raop->auth_fail_count >= 5) {
- // change random_pw after 5 failed authentication attempts
- logger_log(conn->raop->logger, LOGGER_INFO, "Too many authentication failures: generate new random password");
+ if (len == -1 && conn->raop->random_pw && conn->raop->auth_fail_count >= MAX_PW_ATTEMPTS) {
+ // change random_pw after MAX_PW_ATTEMPTS failed authentication attempts
+ logger_log(conn->raop->logger, LOGGER_INFO, "Too many authentication failures or new client: generate new random password");
free(conn->raop->random_pw);
conn->raop->random_pw = NULL;
}
@@ -602,11 +612,11 @@ raop_handler_setup(raop_conn_t *conn,
logger_log(conn->raop->logger, LOGGER_ERR, "Failed to generate random pin");
pin_4 = 1234;
}
- size_t len = 4;
- conn->raop->random_pw = (char *) malloc(len + 1);
+ conn->raop->random_pw = (char *) malloc(pin_len + 1 + 18);
char *pin = conn->raop->random_pw;
- snprintf(pin, len + 1, "%04u", pin_4 % 10000);
- pin[len] = '\0';
+ snprintf(pin, pin_len + 1, "%04u", pin_4 % 10000);
+ pin[pin_len] = '\0';
+ snprintf(pin + pin_len + 1, 18, "%s", deviceID);
conn->raop->auth_fail_count = 0;
if (conn->raop->callbacks.display_pin) {
conn->raop->callbacks.display_pin(conn->raop->callbacks.cls, pin);
@@ -635,7 +645,7 @@ raop_handler_setup(raop_conn_t *conn,
logger_log(conn->raop->logger, LOGGER_INFO, "*** CLIENT MUST NOW ENTER PIN = \"%s\" AS AIRPLAY PASSWORD", conn->raop->random_pw);
}
if (conn->authenticated) {
- printf("initial authenticatication OK\n");
+ //printf("initial authenticatication OK\n");
conn->authenticated = conn->authenticated && !strcmp(nonce_string, conn->raop->nonce);
if (!conn->authenticated) {
logger_log(conn->raop->logger, LOGGER_INFO, "authentication rejected (nonce mismatch) %s %s",
@@ -675,13 +685,9 @@ raop_handler_setup(raop_conn_t *conn,
char* eiv = NULL;
uint64_t eiv_len = 0;
-
- char *deviceID = NULL;
- char *model = NULL;
+ char *model = NULL;
char *name = NULL;
bool admit_client = true;
- plist_t req_deviceid_node = plist_dict_get_item(req_root_node, "deviceID");
- plist_get_string_val(req_deviceid_node, &deviceID);
plist_t req_model_node = plist_dict_get_item(req_root_node, "model");
plist_get_string_val(req_model_node, &model);
plist_t req_name_node = plist_dict_get_item(req_root_node, "name");