|  | @@ -3762,7 +3762,7 @@ int mg_url_encode(const char *src, char *dst, size_t dst_len)
 | 
	
		
			
				|  |  |              pos[2] = hex[(* (const unsigned char *) src) & 0xf];
 | 
	
		
			
				|  |  |              pos += 2;
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | -            return -1;
 | 
	
		
			
				|  |  | +            break;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -4504,7 +4504,7 @@ static void prepare_cgi_environment(struct mg_connection *conn,
 | 
	
		
			
				|  |  |                                      const char *prog,
 | 
	
		
			
				|  |  |                                      struct cgi_env_block *blk)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -    const char *s, *slash;
 | 
	
		
			
				|  |  | +    const char *s;
 | 
	
		
			
				|  |  |      struct vec var_vec;
 | 
	
		
			
				|  |  |      char *p, src_addr[IP_ADDR_STR_LEN];
 | 
	
		
			
				|  |  |      int  i;
 | 
	
	
		
			
				|  | @@ -4532,14 +4532,14 @@ static void prepare_cgi_environment(struct mg_connection *conn,
 | 
	
		
			
				|  |  |      addenv(blk, "REQUEST_URI=%s", conn->request_info.uri);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /* SCRIPT_NAME */
 | 
	
		
			
				|  |  | -    addenv(blk, "SCRIPT_NAME=%.*s",
 | 
	
		
			
				|  |  | -           strlen(conn->request_info.uri) - ((conn->path_info == NULL) ? 0 : strlen(conn->path_info)),
 | 
	
		
			
				|  |  | +    addenv(blk, "SCRIPT_NAME=%.*s",
 | 
	
		
			
				|  |  | +           strlen(conn->request_info.uri) - ((conn->path_info == NULL) ? 0 : strlen(conn->path_info)),
 | 
	
		
			
				|  |  |             conn->request_info.uri);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      addenv(blk, "SCRIPT_FILENAME=%s", prog);
 | 
	
		
			
				|  |  | -    if (conn->path_info == NULL) {
 | 
	
		
			
				|  |  | -        addenv(blk, "PATH_TRANSLATED=%s", conn->ctx->config[DOCUMENT_ROOT]);
 | 
	
		
			
				|  |  | -    } else {
 | 
	
		
			
				|  |  | +    if (conn->path_info == NULL) {
 | 
	
		
			
				|  |  | +        addenv(blk, "PATH_TRANSLATED=%s", conn->ctx->config[DOCUMENT_ROOT]);
 | 
	
		
			
				|  |  | +    } else {
 | 
	
		
			
				|  |  |          addenv(blk, "PATH_TRANSLATED=%s%s", conn->ctx->config[DOCUMENT_ROOT], conn->path_info);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |