Index: general-template.php
===================================================================
--- general-template.php	(revision 49)
+++ general-template.php	(working copy)
@@ -31,17 +31,20 @@
 }
 
 
-function wp_loginout() {
+function wp_loginout( $before = '', $after = '', $echo = 1 ) {
 	if ( ! is_user_logged_in() )
-		$link = '<a href="' . site_url('wp-login.php', 'login') . '">' . __('Log in') . '</a>';
+		$link = $before . '<a href="' . site_url('wp-login.php', 'login') . '">' . __('Log in') . '</a>' . $after;
 	else
-		$link = '<a href="' . site_url('wp-login.php?action=logout', 'login') . '">' . __('Log out') . '</a>';
-
-	echo apply_filters('loginout', $link);
+		$link = $before . '<a href="' . site_url('wp-login.php?action=logout', 'login') . '">' . __('Log out') . '</a>' . $after;
+
+	if ( $echo )
+		echo apply_filters('loginout', $link);
+	else
+		return apply_filters('loginout', $link);
 }
 
 
-function wp_register( $before = '<li>', $after = '</li>' ) {
+function wp_register( $before = '<li>', $after = '</li>', $echo = 1 ) {
 
 	if ( ! is_user_logged_in() ) {
 		if ( get_option('users_can_register') )
@@ -51,8 +54,11 @@
 	} else {
 		$link = $before . '<a href="' . admin_url() . '">' . __('Site Admin') . '</a>' . $after;
 	}
-
-	echo apply_filters('register', $link);
+
+	if ( $echo )
+		echo apply_filters('register', $link);
+	else
+		return apply_filters('register', $link);
 }
 
 
