@@ -186,7 +186,7 @@ static const char *method_strings[] =
186
186
* | "/" | "[" | "]" | "?" | "="
187
187
* | "{" | "}" | SP | HT
188
188
*/
189
- static const char tokens [256 ] = {
189
+ static const PROGMEM char tokens [256 ] = {
190
190
/* 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel */
191
191
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
192
192
/* 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si */
@@ -221,7 +221,7 @@ static const char tokens[256] = {
221
221
'x' , 'y' , 'z' , 0 , '|' , 0 , '~' , 0 };
222
222
223
223
224
- static const int8_t unhex [256 ] =
224
+ static const PROGMEM char unhex [256 ] =
225
225
{-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1
226
226
,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1
227
227
,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1
@@ -421,10 +421,10 @@ enum http_host_state
421
421
(c) == ';' || (c) == ':' || (c) == '&' || (c) == '=' || (c) == '+' || \
422
422
(c) == '$' || (c) == ',')
423
423
424
- #define STRICT_TOKEN (c ) (tokens[(unsigned char)c] )
424
+ #define STRICT_TOKEN (c ) (pgm_read_byte(tokens+c) )
425
425
426
426
#if HTTP_PARSER_STRICT
427
- #define TOKEN (c ) (tokens[(unsigned char)c] )
427
+ #define TOKEN (c ) (pgm_read_byte(tokens + c) )
428
428
#define IS_URL_CHAR (c ) (BIT_AT(normal_url_char, (unsigned char)c))
429
429
#define IS_HOST_CHAR (c ) (IS_ALPHANUM(c) || (c) == '.' || (c) == '-')
430
430
#else
@@ -1937,7 +1937,7 @@ size_t http_parser_execute (http_parser *parser,
1937
1937
assert (parser -> nread == 1 );
1938
1938
assert (parser -> flags & F_CHUNKED );
1939
1939
1940
- unhex_val = unhex [( unsigned char ) ch ] ;
1940
+ unhex_val = pgm_read_byte ( unhex + ch ) ;
1941
1941
if (UNLIKELY (unhex_val == -1 )) {
1942
1942
SET_ERRNO (HPE_INVALID_CHUNK_SIZE );
1943
1943
goto error ;
@@ -1959,7 +1959,7 @@ size_t http_parser_execute (http_parser *parser,
1959
1959
break ;
1960
1960
}
1961
1961
1962
- unhex_val = unhex [( unsigned char ) ch ] ;
1962
+ unhex_val = pgm_read_byte ( unhex + ch ) ;
1963
1963
1964
1964
if (unhex_val == -1 ) {
1965
1965
if (ch == ';' || ch == ' ' ) {
0 commit comments