? includes/table.inc
Index: includes/backend.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/backend.inc,v
retrieving revision 1.36
diff -u -p -r1.36 backend.inc
--- includes/backend.inc	7 Jan 2011 17:29:47 -0000	1.36
+++ includes/backend.inc	25 Jan 2011 18:06:26 -0000
@@ -315,6 +315,11 @@ function drush_backend_invoke_args($comm
   return _drush_backend_invoke($cmd, $data, $integrate);
 }
 
+function drush_backend_invoke_sitealias($site_record, $command, $args, $data = array(), $method = 'GET', $integrate = TRUE) {
+  $cmd = _drush_backend_generate_command_sitealias($site_record, $command, $args, $data, $method);
+  return _drush_backend_invoke($cmd, $data, $integrate);
+}
+
 /**
  * Create a new pipe with proc_open, and attempt to parse the output.
  *
@@ -392,6 +397,31 @@ function _drush_backend_invoke($cmd, $da
  *   A text string representing a fully escaped command.
  */
 function _drush_backend_generate_command($command, $args, &$data, $method = 'GET', $drush_path = null, $hostname = null, $username = null, $ssh_options = NULL) {
+  return _drush_backend_generate_command_sitealias(
+    array(
+      'remote-host' => $hostname, 
+      'remote-user' => $username, 
+      'ssh-options' => $ssh_options,
+      'path-aliases' => array(
+        '%drush-script' => $drush_path,
+      ),
+    ), $command, $args, $data, $method);
+}
+
+function _drush_backend_generate_command_sitealias($site_record, $command, $args, &$data, $method = 'GET') {
+  $drush_path = null;
+  
+  $hostname = array_key_exists('remote-host', $site_record) ? $site_record['remote-host'] : null;
+  $username = array_key_exists('remote-user', $site_record) ? $site_record['remote-user'] : null;
+  $ssh_options = array_key_exists('ssh-options', $site_record) ? $site_record['ssh-options'] : null;
+
+  $drush_path = NULL;
+  if (array_key_exists('path-aliases', $site_record)) {
+    if (array_key_exists('%drush-script', $site_record['path-aliases'])) {
+      $drush_path = $site_record['path-aliases']['%drush-script'];
+    }
+  }
+
   if (drush_is_local_host($hostname)) {
     $hostname = null;
   }
Index: includes/drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/drush.inc,v
retrieving revision 1.194
diff -u -p -r1.194 drush.inc
--- includes/drush.inc	11 Jan 2011 05:20:33 -0000	1.194
+++ includes/drush.inc	25 Jan 2011 18:06:27 -0000
@@ -2112,14 +2112,7 @@ function drush_do_site_command($site_rec
         $data[$key] = $site_record[$key];
       }
     }
-    
-    $drush_path = NULL;
-    if (array_key_exists('path-aliases', $site_record)) {
-      if (array_key_exists('%drush-script', $site_record['path-aliases'])) {
-        $drush_path = $site_record['path-aliases']['%drush-script'];
-      }
-    }
-    $values = drush_backend_invoke_args($command, $args, $data, 'GET', $integrate, $drush_path, array_key_exists('remote-host', $site_record) ? $site_record['remote-host'] : NULL, array_key_exists('remote-user', $site_record) ? $site_record['remote-user'] : NULL, array_key_exists('ssh-options', $site_record) ? $site_record['ssh-options'] : NULL);
+    $values = drush_backend_invoke_sitealias($site_record, $command, $args, $data, 'GET', $integrate);
   }
   return $values;
 }
