]> granicus.if.org Git - libevent/commitdiff
Tweak evhttp_parse_query hack to avoid breaking abi
authorNick Mathewson <nickm@torproject.org>
Wed, 6 Oct 2010 16:35:38 +0000 (12:35 -0400)
committerNick Mathewson <nickm@torproject.org>
Wed, 6 Oct 2010 16:35:38 +0000 (12:35 -0400)
http.c
include/event2/http.h

diff --git a/http.c b/http.c
index 30b09e9e7bbf957dd7069125a9276ad12977f0ce..979aece93a2d7aff6cbecf7f43a4d14763e91123 100644 (file)
--- a/http.c
+++ b/http.c
@@ -2400,7 +2400,7 @@ evhttp_decode_uri(const char *uri)
  */
 
 int
-evhttp_parse_query(const char *uri, struct evkeyvalq *headers)
+evhttp_parse_query__checked_20(const char *uri, struct evkeyvalq *headers)
 {
        char *line;
        char *argument;
@@ -2454,6 +2454,20 @@ done:
        return result;
 }
 
+#undef evhttp_parse_query
+void evhttp_parse_query(const char *uri, struct evkeyvalq *headers);
+/* We define this here so as to avoid changing the ABI for evhttp_parse_query
+ * in 2.0.8.  The next time we break ABI compatibility, we can go back to
+ * having the function above be called evhttp_parse_query
+ */
+void
+evhttp_parse_query(const char *uri, struct evkeyvalq *headers)
+{
+       evhttp_parse_query__checked_20(uri, headers);
+}
+
+
+
 static struct evhttp_cb *
 evhttp_dispatch_callback(struct httpcbq *callbacks, struct evhttp_request *req)
 {
index 10822b930b9497b0fb03228476e11cb44dfdf6c5..b4bb853db3949d1d693d60c5645694eb29384109 100644 (file)
@@ -543,7 +543,13 @@ char *evhttp_decode_uri(const char *uri);
    @param headers the head of the evkeyval queue
    @return 0 on success, -1 on failure
  */
-int evhttp_parse_query(const char *uri, struct evkeyvalq *headers);
+#define evhttp_parse_query(uri, headers) \
+       evhttp_parse_query__checked_20((uri), (headers))
+
+/* Do not call this function directly; it is a temporary alias introduced
+ * to avoid changing the old signature for evhttp_parse_query
+ */
+int evhttp_parse_query__checked_20(const char *uri, struct evkeyvalq *headers);
 
 /**
  * Escape HTML character entities in a string.