diff --git a/system/codeigniter/CodeIgniter.php b/system/codeigniter/CodeIgniter.php
index e169be0..b055d3b 100644
--- a/system/codeigniter/CodeIgniter.php
+++ b/system/codeigniter/CodeIgniter.php
@@ -198,8 +198,16 @@
}
// Call the requested method. Any URI segments present (besides the class/function)
- // will be passed to the method for convenience
- call_user_func_array(array(&$CI, $method), array_slice($RTR->rsegments, 2));
+ // will be passed to the method for convenience, either as an array or discreet params
+
+ if (isset($CI->_uri_as_array) AND $CI->_uri_as_array === TRUE)
+ {
+ $CI->$method(array_slice($RTR->rsegments, 2));
+ }
+ else
+ {
+ call_user_func_array(array(&$CI, $method), array_slice($RTR->rsegments, 2));
+ }
}
}