Index: wp-includes/link-template.php
--- wp-includes/link-template.php Base (BASE)
+++ wp-includes/link-template.php Locally Modified (Based On LOCAL)
@@ -1940,6 +1940,62 @@
 }
 
 /**
+ * Output the blog url for the current site.
+ *
+ * Blog url might be site root or set as a page.
+ *
+ * @package WordPress
+ * @since 3.4.0
+ *
+ * @uses get_blog_url()
+ */
+function blog_url() {
+	echo get_blog_url( null );
+}
+
+/**
+ * Retrieve the blog url for a given site
+ *
+ * Blog url might be site root or set as a page.
+ *
+ * @package WordPress
+ * @since 3.4.0
+ *
+ * @uses get_home_url()
+ * @uses get_option()
+ * @uses get_permalink()
+ * @uses get_blog_option()
+ * @uses get_blog_permalink()
+ * @uses apply_filters()
+ *
+ * @return string Blog url
+ */
+function get_blog_url( $blog_id = null ) {
+	
+	if ( empty( $blog_id ) || !is_multisite() ) {
+		$is_front = get_option( 'show_on_front' );
+		$page_id  = get_option( 'page_for_posts' );
+
+		if ( !empty( $page_id ) && ( 'page' == $is_front ) ) {
+			$url = get_permalink( $page_id );
+		} else {
+			$url = get_home_url( $blog_id, '/' );
+		}
+	} else {
+		$is_front = get_blog_option( $blog_id, 'show_on_front' );
+		$page_id  = get_blog_option( $blog_id, 'page_for_posts' );
+
+		if ( !empty( $page_id ) && ( 'page' == $is_front ) ) {
+			$url = get_blog_permalink( $blog_id, $page_id );
+		} else {
+			$url = get_home_url( $blog_id, '/' );
+		}
+	}
+
+	return apply_filters( 'get_blog_url', $url, $blog_id );
+}
+
+/**
  * Retrieve the url to the admin area for the current site.
  *
  * @package WordPress
