/* * Build a cache of dates vs day names */ void ensure_close_day_cache() { PblTm time; get_time(&time); if (time.tm_mday == g_last_tm_mday) return; g_last_tm_mday = time.tm_mday; for (int i=0; i < 7; i++) { get_time(&time); if (i>0) time_plus_day(&time, i); string_format_time(g_close[i].date, CLOSE_DATE_SIZE, "%m/%d", &time); string_format_time(g_close[i].dayName, CLOSE_DAY_NAME_SIZE, "%A", &time); } strcpy(g_close[0].dayName, TODAY); strcpy(g_close[1].dayName, TOMORROW); }
/* * Build a cache of dates vs day names */ void ensure_close_day_cache() { time_t now = time(NULL); struct tm *now_tm = localtime(&now); struct tm fiddle; if (now_tm->tm_mday == g_last_tm_mday) return; g_last_tm_mday = now_tm->tm_mday; for (int i=0; i < 7; i++) { memcpy(&fiddle, now_tm, sizeof(fiddle)); if (i>0) time_plus_day(&fiddle, i); strftime(g_close[i].date, CLOSE_DATE_SIZE, "%m/%d", &fiddle); strftime(g_close[i].dayName, CLOSE_DAY_NAME_SIZE, "%A", &fiddle); } strcpy(g_close[0].dayName, TODAY); strcpy(g_close[1].dayName, TOMORROW); }