]> git.stg.codes - stg.git/blobdiff - projects/stargazer/user.cpp
Косметичні виправлення
[stg.git] / projects / stargazer / user.cpp
index 50046fa5ce686ff1c4863de76a679671a66adb38..e63d37d32b109c17c44216929dbb023f5f11ff37 100644 (file)
@@ -1153,7 +1153,18 @@ int USER::AddMessage(STG_MSG * msg)
 {
 STG_LOCKER lock(&mutex, __FILE__, __LINE__);
 
 {
 STG_LOCKER lock(&mutex, __FILE__, __LINE__);
 
-if (SendMessage(*msg) == 0)
+if (SendMessage(*msg))
+    {
+    if (store->AddMessage(msg, login))
+        {
+        errorStr = store->GetStrError();
+        WriteServLog("Error adding message %s", errorStr.c_str());
+        WriteServLog("%s", store->GetStrError().c_str());
+        return -1;
+        }
+    messages.push_back(*msg);
+    }
+else
     {
     if (msg->header.repeat > 0)
         {
     {
     if (msg->header.repeat > 0)
         {
@@ -1167,7 +1178,6 @@ if (SendMessage(*msg) == 0)
         if (store->AddMessage(msg, login))
             {
             errorStr = store->GetStrError();
         if (store->AddMessage(msg, login))
             {
             errorStr = store->GetStrError();
-            STG_LOGGER & WriteServLog = GetStgLogger();
             WriteServLog("Error adding message %s", errorStr.c_str());
             WriteServLog("%s", store->GetStrError().c_str());
             return -1;
             WriteServLog("Error adding message %s", errorStr.c_str());
             WriteServLog("%s", store->GetStrError().c_str());
             return -1;
@@ -1175,46 +1185,26 @@ if (SendMessage(*msg) == 0)
         messages.push_back(*msg);
         }
     }
         messages.push_back(*msg);
         }
     }
-else
-    {
-    if (store->AddMessage(msg, login))
-        {
-        errorStr = store->GetStrError();
-        STG_LOGGER & WriteServLog = GetStgLogger();
-        WriteServLog("Error adding message %s", errorStr.c_str());
-        WriteServLog("%s", store->GetStrError().c_str());
-        return -1;
-        }
-    messages.push_back(*msg);
-    }
 return 0;
 }
 //-----------------------------------------------------------------------------
 int USER::SendMessage(const STG_MSG & msg)
 {
 return 0;
 }
 //-----------------------------------------------------------------------------
 int USER::SendMessage(const STG_MSG & msg)
 {
-STG_LOCKER lock(&mutex, __FILE__, __LINE__);
-
-if (authorizedBy.empty())
-    {
-    return -1;
-    }
-
+// No lock `cause we are already locked from caller
 int ret = -1;
 int ret = -1;
-set<const BASE_AUTH*>::iterator it;
-
-it = authorizedBy.begin();
+set<const BASE_AUTH*>::iterator it(authorizedBy.begin());
 while (it != authorizedBy.end())
     {
 while (it != authorizedBy.end())
     {
-    if ((*it)->SendMessage(msg, currIP) == 0)
+    if (!(*it++)->SendMessage(msg, currIP))
         ret = 0;
         ret = 0;
-    ++it;
     }
 return ret;
 }
 //-----------------------------------------------------------------------------
 int USER::ScanMessage()
 {
     }
 return ret;
 }
 //-----------------------------------------------------------------------------
 int USER::ScanMessage()
 {
-STG_LOCKER lock(&mutex, __FILE__, __LINE__);
+// No lock `cause we are already locked from caller
+// We need not check for the authorizedBy `cause it has already checked by caller
 
 /*vector<STG_MSG_HDR> hdrsList;
 
 
 /*vector<STG_MSG_HDR> hdrsList;
 
@@ -1268,13 +1258,17 @@ while (it != messages.end())
     {
     if (SendMessage(*it))
         {
     {
     if (SendMessage(*it))
         {
-        break;
+        return -1;
         }
     it->header.repeat--;
     if (it->header.repeat < 0)
         {
         printfd(__FILE__, "DelMessage\n");
         }
     it->header.repeat--;
     if (it->header.repeat < 0)
         {
         printfd(__FILE__, "DelMessage\n");
-        store->DelMessage(it->header.id, login);
+        if (store->DelMessage(it->header.id, login))
+            {
+            WriteServLog("Error deleting message: '%s'", store->GetStrError().c_str());
+            printfd(__FILE__, "Error deleting message: '%s'\n", store->GetStrError().c_str());
+            }
         messages.erase(it++);
         }
     else
         messages.erase(it++);
         }
     else
@@ -1287,7 +1281,8 @@ while (it != messages.end())
         #endif
         if (store->EditMessage(*it, login))
             {
         #endif
         if (store->EditMessage(*it, login))
             {
-            printfd(__FILE__, "EditMessage Error %s\n", store->GetStrError().c_str());
+            WriteServLog("Error modifying message: '%s'", store->GetStrError().c_str());
+            printfd(__FILE__, "Error modifying message: '%s'\n", store->GetStrError().c_str());
             }
         ++it;
         }
             }
         ++it;
         }