]> git.stg.codes - stg.git/blobdiff - projects/stargazer/users_impl.cpp
Ticket. The time_t currentTime parameter added in
[stg.git] / projects / stargazer / users_impl.cpp
index 14c4460438aad103277f381aa01843fbab6ad5cf..9985615f85d06c58c9d3ba766cb668a224964379 100644 (file)
@@ -319,6 +319,7 @@ STG_LOCKER lock(&mutex);
 if (FindByNameNonLock(login, &iter))
     {
     WriteServLog("Attempt to unauthorize non-existant user '%s'", login.c_str());
+    printfd(__FILE__, "Attempt to unauthorize non-existant user '%s'", login.c_str());
     return false;
     }
 
@@ -355,11 +356,22 @@ for (unsigned int i = 0; i < usersList.size(); i++)
 
     AddUserIntoIndexes(ui);
 
-    if (ui->ReadConf() < 0)
-        errors++;
+    if (settings->GetStopOnError())
+        {
+        if (ui->ReadConf() < 0)
+            return -1;
+
+        if (ui->ReadStat() < 0)
+            return -1;
+        }
+    else
+        {
+        if (ui->ReadConf() < 0)
+            errors++;
 
-    if (ui->ReadStat() < 0)
-        errors++;
+        if (ui->ReadStat() < 0)
+            errors++;
+        }
     }
 
 if (errors > 0)
@@ -427,15 +439,7 @@ while (us->nonstop)
     stgUsleep(100000);
     } //while (us->nonstop)
 
-user_iter ui = us->users.begin();
-while (ui != us->users.end())
-    {
-    us->DelUserFromIndexes(ui);
-    ++ui;
-    }
-
-std::list<USER_TO_DEL>::iterator iter;
-iter = us->usersToDelete.begin();
+std::list<USER_TO_DEL>::iterator iter(us->usersToDelete.begin());
 while (iter != us->usersToDelete.end())
     {
     iter->delTime -= 2 * userDeleteDelayTime;