Pārlūkot izejas kodu

Support yet another old version of http-parser for CentOS/EPEL.

Adam Ierymenko 9 gadi atpakaļ
vecāks
revīzija
536feb632c
3 mainītis faili ar 28 papildinājumiem un 2 dzēšanām
  1. 13 0
      osdep/Http.cpp
  2. 2 2
      osdep/Phy.hpp
  3. 13 0
      service/OneService.cpp

+ 13 - 0
osdep/Http.cpp

@@ -48,6 +48,8 @@ static int ShttpOnValue(http_parser *parser,const char *ptr,size_t length);
 static int ShttpOnHeadersComplete(http_parser *parser);
 static int ShttpOnBody(http_parser *parser,const char *ptr,size_t length);
 static int ShttpOnMessageComplete(http_parser *parser);
+
+#if (HTTP_PARSER_VERSION_MAJOR >= 2) && (HTTP_PARSER_VERSION_MINOR >= 1)
 static const struct http_parser_settings HTTP_PARSER_SETTINGS = {
 	ShttpOnMessageBegin,
 	ShttpOnUrl,
@@ -58,6 +60,17 @@ static const struct http_parser_settings HTTP_PARSER_SETTINGS = {
 	ShttpOnBody,
 	ShttpOnMessageComplete
 };
+#else
+static const struct http_parser_settings HTTP_PARSER_SETTINGS = {
+	ShttpOnMessageBegin,
+	ShttpOnUrl,
+	ShttpOnHeaderField,
+	ShttpOnValue,
+	ShttpOnHeadersComplete,
+	ShttpOnBody,
+	ShttpOnMessageComplete
+};
+#endif
 
 struct HttpPhyHandler
 {

+ 2 - 2
osdep/Phy.hpp

@@ -252,7 +252,7 @@ public:
 #if defined(_WIN32) || defined(_WIN64)
 		::send(_whackSendSocket,(const char *)this,1,0);
 #else
-		(void)::write(_whackSendSocket,(PhySocket *)this,1);
+		(void)(::write(_whackSendSocket,(PhySocket *)this,1));
 #endif
 	}
 
@@ -871,7 +871,7 @@ public:
 #if defined(_WIN32) || defined(_WIN64)
 			::recv(_whackReceiveSocket,tmp,16,0);
 #else
-			(void)::read(_whackReceiveSocket,tmp,16);
+			(void)(::read(_whackReceiveSocket,tmp,16));
 #endif
 		}
 

+ 13 - 0
service/OneService.cpp

@@ -416,6 +416,8 @@ static int ShttpOnValue(http_parser *parser,const char *ptr,size_t length);
 static int ShttpOnHeadersComplete(http_parser *parser);
 static int ShttpOnBody(http_parser *parser,const char *ptr,size_t length);
 static int ShttpOnMessageComplete(http_parser *parser);
+
+#if (HTTP_PARSER_VERSION_MAJOR >= 2) && (HTTP_PARSER_VERSION_MINOR >= 1)
 static const struct http_parser_settings HTTP_PARSER_SETTINGS = {
 	ShttpOnMessageBegin,
 	ShttpOnUrl,
@@ -426,6 +428,17 @@ static const struct http_parser_settings HTTP_PARSER_SETTINGS = {
 	ShttpOnBody,
 	ShttpOnMessageComplete
 };
+#else
+static const struct http_parser_settings HTTP_PARSER_SETTINGS = {
+	ShttpOnMessageBegin,
+	ShttpOnUrl,
+	ShttpOnHeaderField,
+	ShttpOnValue,
+	ShttpOnHeadersComplete,
+	ShttpOnBody,
+	ShttpOnMessageComplete
+};
+#endif
 
 struct TcpConnection
 {