Skip to content
This repository has been archived by the owner on Nov 6, 2022. It is now read-only.

MSVC Error C2220: p hides prev. local declaration #439

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Commits on Jul 19, 2018

  1. MSVC Error C2220: p hides prev. local declaration

    MSVC build output (with `/W4` and `TreatWarningsAsErrors=Yes`)
    ```
    2>http_parser.c
    2>c:\dev\...\http_parser\http_parser.c(2389,18): error C2220:  warning treated as error - no 'object' file generated
    2>c:\dev\...\http_parser\http_parser.c(2389,18): error C2220:     const char* p;
    2>c:\dev\...\http_parser\http_parser.c(2389,18): error C2220:                  ^
    2>c:\dev\...\http_parser\http_parser.c(2389,18): warning C4456:  declaration of 'p' hides previous local declaration
    2>c:\dev\...\http_parser\http_parser.c(2389,18): warning C4456:     const char* p;
    2>c:\dev\...\http_parser\http_parser.c(2389,18): warning C4456:                  ^
    2>c:\dev\...\http_parser\http_parser.c(2302,15): message :  see declaration of 'p'
    2>c:\dev\...\http_parser\http_parser.c(2302,15): message :   const char *p;
    2>c:\dev\...\http_parser\http_parser.c(2302,15): message :      
    ```
    (Line numbers don't match with current master since I've noticed the build-error when using 2.8.1)
    
    To fix this build-error I removed `const char* p;`-declaration as it is already declared right at
    ```c
    http_parser_parse_url(const char *buf, size_t buflen, int is_connect,
                          struct http_parser_url *u)
    {
      enum state s;
      const char *p;
    ```
    Since the removed `const char* p` within the if-statement is first used in line 2420 `for (p= buf + off` where it gets immediately assigned a new value, the removal should be completely harmless.
    lx-s authored Jul 19, 2018
    Configuration menu
    Copy the full SHA
    449eaa9 View commit details
    Browse the repository at this point in the history