Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.892.2.9
diff -u -p -r1.892.2.9 user.module
--- modules/user/user.module	5 Nov 2008 14:13:03 -0000	1.892.2.9
+++ modules/user/user.module	1 Dec 2008 21:37:23 -0000
@@ -624,15 +624,15 @@ function user_user($type, &$edit, &$acco
   }
   if ($type == 'form' && $category == 'account') {
     $form_state = array();
-    return user_edit_form($form_state, arg(1), $edit);
+    return user_edit_form($form_state, $account->uid, $edit);
   }
 
   if ($type == 'validate' && $category == 'account') {
-    return _user_edit_validate(arg(1), $edit);
+    return _user_edit_validate($account, $edit);
   }
 
   if ($type == 'submit' && $category == 'account') {
-    return _user_edit_submit(arg(1), $edit);
+    return _user_edit_submit($account, $edit);
   }
 
   if ($type == 'categories') {
@@ -1539,14 +1539,13 @@ function user_edit_form(&$form_state, $u
   return $form;
 }
 
-function _user_edit_validate($uid, &$edit) {
-  $user = user_load(array('uid' => $uid));
+function _user_edit_validate($user, &$edit) {
   // Validate the username:
   if (user_access('change own username') || user_access('administer users') || !$user->uid) {
     if ($error = user_validate_name($edit['name'])) {
       form_set_error('name', $error);
     }
-    else if (db_result(db_query("SELECT COUNT(*) FROM {users} WHERE uid != %d AND LOWER(name) = LOWER('%s')", $uid, $edit['name'])) > 0) {
+    else if (db_result(db_query("SELECT COUNT(*) FROM {users} WHERE uid != %d AND LOWER(name) = LOWER('%s')", $user->uid, $edit['name'])) > 0) {
       form_set_error('name', t('The name %name is already taken.', array('%name' => $edit['name'])));
     }
     else if (drupal_is_denied('user', $edit['name'])) {
@@ -1558,7 +1557,7 @@ function _user_edit_validate($uid, &$edi
   if ($error = user_validate_mail($edit['mail'])) {
     form_set_error('mail', $error);
   }
-  else if (db_result(db_query("SELECT COUNT(*) FROM {users} WHERE uid != %d AND LOWER(mail) = LOWER('%s')", $uid, $edit['mail'])) > 0) {
+  else if (db_result(db_query("SELECT COUNT(*) FROM {users} WHERE uid != %d AND LOWER(mail) = LOWER('%s')", $user->uid, $edit['mail'])) > 0) {
     form_set_error('mail', t('The e-mail address %email is already registered. <a href="@password">Have you forgotten your password?</a>', array('%email' => $edit['mail'], '@password' => url('user/password'))));
   }
   else if (drupal_is_denied('mail', $edit['mail'])) {
@@ -1566,8 +1565,7 @@ function _user_edit_validate($uid, &$edi
   }
 }
 
-function _user_edit_submit($uid, &$edit) {
-  $user = user_load(array('uid' => $uid));
+function _user_edit_submit($user, &$edit) {
   // Delete picture if requested, and if no replacement picture was given.
   if (!empty($edit['picture_delete'])) {
     if ($user->picture && file_exists($user->picture)) {
