Add new function uri_query_lookup.
authorNeal H. Walfield <neal@g10code.de>
Thu, 19 Mar 2015 08:59:20 +0000 (09:59 +0100)
committerNeal H. Walfield <neal@g10code.de>
Mon, 23 Mar 2015 18:58:26 +0000 (19:58 +0100)
* common/http.h (uri_query_lookup): New declaration.
* common/http.c (uri_query_lookup): The corresponding implementation.

--
Signed-off-by: Neal H. Walfield <neal@g10code.de>
common/http.c
common/http.h

index 271257d..9d3997a 100644 (file)
@@ -2,6 +2,7 @@
  * Copyright (C) 1999, 2001, 2002, 2003, 2004, 2006, 2009, 2010,
  *               2011 Free Software Foundation, Inc.
  * Copyright (C) 2014 Werner Koch
+ * Copyright (C) 2015  g10 Code GmbH
  *
  * This file is part of GnuPG.
  *
@@ -2702,3 +2703,17 @@ http_verify_server_credentials (http_session_t sess)
   return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
 #endif
 }
+
+/* Return the first query variable with the specified key.  If there
+   is no such variable, return NULL.  */
+struct uri_tuple_s *
+uri_query_lookup (parsed_uri_t uri, const char *key)
+{
+  struct uri_tuple_s *t;
+
+  for (t = uri->query; t; t = t->next)
+    if (strcmp (t->name, key) == 0)
+      return t;
+
+  return NULL;
+}
index 3a44430..17f778d 100644 (file)
@@ -1,6 +1,7 @@
 /* http.h  -  HTTP protocol handler
  * Copyright (C) 1999, 2000, 2001, 2003, 2006,
  *               2010 Free Software Foundation, Inc.
+ * Copyright (C) 2015  g10 Code GmbH
  *
  * This file is part of GnuPG.
  *
@@ -61,6 +62,8 @@ struct parsed_uri_s
 };
 typedef struct parsed_uri_s *parsed_uri_t;
 
+extern struct uri_tuple_s *uri_query_lookup (parsed_uri_t uri, const char *key);
+
 typedef enum
   {
     HTTP_REQ_GET  = 1,