user_save() returns FALSE
UPDATED:

If you are going to create new users using user_save() then follow the following syntax.

$user = array(
   'name' =&gt; $userdata['name'],
   'mail' =&gt; $userdata['mail'],
   'init' =&gt; $userdata['mail'],
   'pass' =&gt; user_password(8),
);


Now call the function user_save() and pass the user info as second arg.

$account = user_save(null, $user);
if($account){
     _user_mail_notify('register_admin_created', $account);
}


To update values for already saved user.

$account = user_load(array('uid' =&gt; $userdata['uid']));
$updates = array(
    'pass' =&gt; user_password(),
    'name' =&gt; 'new_name',
    'roles' =&gt; array(
        &lt;rid&gt; =&gt; '&lt;role title&gt;';
    ),
);

user_save($account, $updates);