Fix #1624 and clear-up the form validation docs (manually applying #1603)
diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php
index 91f46b6..c1bf519 100644
--- a/system/libraries/Form_validation.php
+++ b/system/libraries/Form_validation.php
@@ -957,15 +957,15 @@
 	/**
 	 * Match one field to another
 	 *
-	 * @param	string
-	 * @param	string	field
+	 * @param	string	$str	string to compare against
+	 * @param	string	$field
 	 * @return	bool
 	 */
 	public function matches($str, $field)
 	{
-		$validation_array = empty($this->validation_data) ? $_POST : $this->validation_data;
-
-		return isset($validation_array[$field]) ? ($str === $validation_array[$field]) : FALSE;
+		return isset($this->_field_data[$field], $this->_field_data[$field]['postdata'])
+			? ($str === $this->_field_data[$field]['postdata'])
+			: FALSE;
 	}
 
 	// --------------------------------------------------------------------