Make URI structures reference-counted.
[people/sha0/gpxe.git] / src / core / uri.c
index 4236717..6ebc637 100644 (file)
@@ -35,7 +35,7 @@
  *
  * Splits a URI into its component parts.  The return URI structure is
  * dynamically allocated and must eventually be freed by calling
- * free_uri().
+ * uri_put().
  */
 struct uri * parse_uri ( const char *uri_string ) {
        struct uri *uri;
@@ -159,3 +159,14 @@ struct uri * parse_uri ( const char *uri_string ) {
 
        return uri;
 }
+
+/**
+ * Get port from URI
+ *
+ * @v uri              URI
+ * @v default_port     Default port to use if none specified in URI
+ * @ret port           Port
+ */
+unsigned int uri_port ( struct uri *uri, unsigned int default_port ) {
+       return ( uri->port ? strtoul ( uri->port, NULL, 0 ) : default_port );
+}