From: Alan T. DeKok Date: Fri, 12 May 2017 13:16:00 +0000 (-0400) Subject: create string only if it's needed X-Git-Tag: release_3_0_14~32 X-Git-Url: http://www.project-moonshot.org/gitweb/?a=commitdiff_plain;h=fba1d6fc431cf060828a7467236b3bb65ec6abda;hp=23c78ad516a997ce0686158300d169b45caccabc;p=freeradius.git create string only if it's needed --- diff --git a/src/modules/rlm_sqlcounter/rlm_sqlcounter.c b/src/modules/rlm_sqlcounter/rlm_sqlcounter.c index d36b6b4..8d43e73 100644 --- a/src/modules/rlm_sqlcounter/rlm_sqlcounter.c +++ b/src/modules/rlm_sqlcounter/rlm_sqlcounter.c @@ -113,12 +113,13 @@ static int find_next_reset(rlm_sqlcounter_t *inst, REQUEST *request, time_t time char sCurrentTime[40], sNextTime[40]; tm = localtime_r(&timeval, &s_tm); - len = strftime(sCurrentTime, sizeof(sCurrentTime), "%Y-%m-%d %H:%M:%S", tm); - if (len == 0) *sCurrentTime = '\0'; tm->tm_sec = tm->tm_min = 0; rad_assert(inst->reset != NULL); + /* + * Reset every N hours, days, weeks, months. + */ if (isdigit((int) inst->reset[0])){ len = strlen(inst->reset); if (len == 0) return -1; @@ -170,6 +171,9 @@ static int find_next_reset(rlm_sqlcounter_t *inst, REQUEST *request, time_t time if (!request || (rad_debug_lvl < 2)) return ret; + len = strftime(sCurrentTime, sizeof(sCurrentTime), "%Y-%m-%d %H:%M:%S", tm); + if (len == 0) *sCurrentTime = '\0'; + len = strftime(sNextTime, sizeof(sNextTime),"%Y-%m-%d %H:%M:%S",tm); if (len == 0) *sNextTime = '\0'; RDEBUG2("rlm_sqlcounter: Current Time: %" PRId64 " [%s], Next reset %" PRId64 " [%s]",