@@ -93,27 +93,68 @@ int ClientBase::read_transport_params(const char *path,
9393
9494 for (std::string line; std::getline (f, line);) {
9595 if (util::istarts_with_l (line, " initial_max_streams_bidi=" )) {
96- params->initial_max_streams_bidi = strtoul (
97- line.c_str () + str_size (" initial_max_streams_bidi=" ), nullptr , 10 );
98- } else if (util::istarts_with_l (line, " initial_max_streams_uni=" )) {
99- params->initial_max_streams_uni = strtoul (
100- line.c_str () + str_size (" initial_max_streams_uni=" ), nullptr , 10 );
101- } else if (util::istarts_with_l (line,
102- " initial_max_stream_data_bidi_local=" )) {
103- params->initial_max_stream_data_bidi_local = strtoul (
104- line.c_str () + str_size (" initial_max_stream_data_bidi_local=" ),
105- nullptr , 10 );
106- } else if (util::istarts_with_l (line,
107- " initial_max_stream_data_bidi_remote=" )) {
108- params->initial_max_stream_data_bidi_remote = strtoul (
109- line.c_str () + str_size (" initial_max_stream_data_bidi_remote=" ),
110- nullptr , 10 );
111- } else if (util::istarts_with_l (line, " initial_max_stream_data_uni=" )) {
112- params->initial_max_stream_data_uni = strtoul (
113- line.c_str () + str_size (" initial_max_stream_data_uni=" ), nullptr , 10 );
114- } else if (util::istarts_with_l (line, " initial_max_data=" )) {
115- params->initial_max_data =
116- strtoul (line.c_str () + str_size (" initial_max_data=" ), nullptr , 10 );
96+ if (auto n = util::parse_uint (line.c_str () +
97+ str_size (" initial_max_streams_bidi=" ));
98+ !n) {
99+ return -1 ;
100+ } else {
101+ params->initial_max_streams_bidi = *n;
102+ }
103+ continue ;
104+ }
105+
106+ if (util::istarts_with_l (line, " initial_max_streams_uni=" )) {
107+ if (auto n = util::parse_uint (line.c_str () +
108+ str_size (" initial_max_streams_uni=" ));
109+ !n) {
110+ return -1 ;
111+ } else {
112+ params->initial_max_streams_uni = *n;
113+ }
114+ continue ;
115+ }
116+
117+ if (util::istarts_with_l (line, " initial_max_stream_data_bidi_local=" )) {
118+ if (auto n = util::parse_uint (
119+ line.c_str () + str_size (" initial_max_stream_data_bidi_local=" ));
120+ !n) {
121+ return -1 ;
122+ } else {
123+ params->initial_max_stream_data_bidi_local = *n;
124+ }
125+ continue ;
126+ }
127+
128+ if (util::istarts_with_l (line, " initial_max_stream_data_bidi_remote=" )) {
129+ if (auto n = util::parse_uint (
130+ line.c_str () + str_size (" initial_max_stream_data_bidi_remote=" ));
131+ !n) {
132+ return -1 ;
133+ } else {
134+ params->initial_max_stream_data_bidi_remote = *n;
135+ }
136+ continue ;
137+ }
138+
139+ if (util::istarts_with_l (line, " initial_max_stream_data_uni=" )) {
140+ if (auto n = util::parse_uint (line.c_str () +
141+ str_size (" initial_max_stream_data_uni=" ));
142+ !n) {
143+ return -1 ;
144+ } else {
145+ params->initial_max_stream_data_uni = *n;
146+ }
147+ continue ;
148+ }
149+
150+ if (util::istarts_with_l (line, " initial_max_data=" )) {
151+ if (auto n =
152+ util::parse_uint (line.c_str () + str_size (" initial_max_data=" ));
153+ !n) {
154+ return -1 ;
155+ } else {
156+ params->initial_max_data = *n;
157+ }
117158 }
118159 }
119160
0 commit comments