X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/41cd057bb981b3dc00cc527485c48549a912cb2b..42c97c62f48cbdb0e991802ad61bdb4485b587b0:/projects/stargazer/user.cpp diff --git a/projects/stargazer/user.cpp b/projects/stargazer/user.cpp index 1b7d2f4c..d8368c4d 100644 --- a/projects/stargazer/user.cpp +++ b/projects/stargazer/user.cpp @@ -123,8 +123,6 @@ currIP.AddAfterNotifier(&ipNotifier); lastScanMessages = 0; -writeFreeMbTraffCost = settings->GetWriteFreeMbTraffCost(); - pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); @@ -206,8 +204,6 @@ currIP.AddAfterNotifier(&ipNotifier); lastScanMessages = 0; -writeFreeMbTraffCost = settings->GetWriteFreeMbTraffCost(); - property.SetProperties(u.property); pthread_mutexattr_t attr; @@ -339,10 +335,11 @@ int USER::WriteMonthStat() { 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()); @@ -770,7 +767,8 @@ sessionUpload[dir] += len; //Add detailed stat -if (!writeFreeMbTraffCost && freeMb.ConstData() >= 0) +if (!settings->GetWriteFreeMbTraffCost() && + freeMb.ConstData() >= 0) cost = 0; #ifdef TRAFF_STAT_WITH_PORTS @@ -860,7 +858,8 @@ sessionDownload[dir] += len; //Add detailed stat -if (!writeFreeMbTraffCost && freeMb.ConstData() >= 0) +if (!settings->GetWriteFreeMbTraffCost() && + freeMb.ConstData() >= 0) cost = 0; #ifdef TRAFF_STAT_WITH_PORTS @@ -1007,13 +1006,13 @@ STG_LOCKER lock(&mutex, __FILE__, __LINE__); 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; @@ -1031,12 +1030,11 @@ void USER::SetPassiveTimeAsNewUser() { 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); } @@ -1246,7 +1244,7 @@ while (it != messages.end()) 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 { @@ -1255,9 +1253,9 @@ while (it != messages.end()) WriteServLog("Error modifying message: '%s'", store->GetStrError().c_str()); printfd(__FILE__, "Error modifying message: '%s'\n", store->GetStrError().c_str()); } + ++it; } } - ++it; } } //-----------------------------------------------------------------------------