lastScanMessages = 0;
-writeFreeMbTraffCost = settings->GetWriteFreeMbTraffCost();
-
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
lastScanMessages = 0;
-writeFreeMbTraffCost = settings->GetWriteFreeMbTraffCost();
-
property.SetProperties(u.property);
pthread_mutexattr_t attr;
{
STG_LOCKER lock(&mutex, __FILE__, __LINE__);
time_t tt = stgTime - 3600;
-struct tm * t1 = localtime(&tt);
+struct tm t1;
+localtime_r(&tt, &t1);
USER_STAT stat(property.GetStat());
-if (store->SaveMonthStat(stat, t1->tm_mon, t1->tm_year, login))
+if (store->SaveMonthStat(stat, t1.tm_mon, t1.tm_year, login))
{
WriteServLog("Cannot write month stat for user %s.", login.c_str());
WriteServLog("%s", store->GetStrError().c_str());
//Add detailed stat
-if (!writeFreeMbTraffCost && freeMb.ConstData() >= 0)
+if (!settings->GetWriteFreeMbTraffCost() &&
+ freeMb.ConstData() >= 0)
cost = 0;
#ifdef TRAFF_STAT_WITH_PORTS
//Add detailed stat
-if (!writeFreeMbTraffCost && freeMb.ConstData() >= 0)
+if (!settings->GetWriteFreeMbTraffCost() &&
+ freeMb.ConstData() >= 0)
cost = 0;
#ifdef TRAFF_STAT_WITH_PORTS
static int daysInMonth[12] =
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
-struct tm * tms;
+struct tm tms;
time_t t = stgTime;
-tms = localtime(&t);
+localtime_r(&t, &tms);
-time_t secMonth = daysInMonth[(tms->tm_mon + 11) % 12] * 24 * 3600; // Previous month
+time_t secMonth = daysInMonth[(tms.tm_mon + 11) % 12] * 24 * 3600; // Previous month
-if (tms->tm_year % 4 == 0 && tms->tm_mon == 1)
+if (tms.tm_year % 4 == 0 && tms.tm_mon == 1)
{
// Leap year
secMonth += 24 * 3600;
{
STG_LOCKER lock(&mutex, __FILE__, __LINE__);
-time_t t;
-struct tm * tm;
-t = stgTime;
-tm = localtime(&t);
+time_t t = stgTime;
+struct tm tm;
+localtime_r(&t, &tm);
int daysCurrMon = DaysInCurrentMonth();
-double pt = (tm->tm_mday - 1) / (double)daysCurrMon;
+double pt = (tm.tm_mday - 1) / (double)daysCurrMon;
passiveTime = (time_t)(pt * 24 * 3600 * daysCurrMon);
}
WriteServLog("Error deleting message: '%s'", store->GetStrError().c_str());
printfd(__FILE__, "Error deleting message: '%s'\n", store->GetStrError().c_str());
}
- messages.erase(it);
+ messages.erase(it++);
}
else
{
WriteServLog("Error modifying message: '%s'", store->GetStrError().c_str());
printfd(__FILE__, "Error modifying message: '%s'\n", store->GetStrError().c_str());
}
+ ++it;
}
}
- ++it;
}
}
//-----------------------------------------------------------------------------