diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index a5131f6291218ae7927c268746691ea61bca3263..51a12495d4f2ca3a9651393d38f88ade50be50c9 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -1548,10 +1548,20 @@ void event_thread(void* arg) } for(i=0;i<sbbs->cfg.total_events;i++) { sbbs->cfg.event[i]->last=0; - if(filelength(file)<(long)(sizeof(time_t)*(i+1))) + if(filelength(file)<(long)(sizeof(time_t)*(i+1))) { + eprintf(LOG_WARNING,"Initializing last run time for event: %s (to 0x%08lx)" + ,sbbs->cfg.event[i]->code + ,sbbs->cfg.event[i]->last); write(file,&sbbs->cfg.event[i]->last,sizeof(time_t)); - else - read(file,&sbbs->cfg.event[i]->last,sizeof(time_t)); + } else { + if(read(file,&sbbs->cfg.event[i]->last,sizeof(time_t))!=sizeof(time_t)) + sbbs->errormsg(WHERE,ERR_READ,str,sizeof(time_t)); + else + eprintf(LOG_DEBUG,"%s event last run: %s (0x%08lx)" + ,sbbs->cfg.event[i]->code + ,timestr(&sbbs->cfg, &sbbs->cfg.event[i]->last, str) + ,sbbs->cfg.event[i]->last); + } /* Event always runs after initialization? */ if(sbbs->cfg.event[i]->misc&EVENT_INIT) sbbs->cfg.event[i]->last=-1; @@ -1953,7 +1963,7 @@ void event_thread(void* arg) || sbbs->cfg.event[i]->node>last_node) { eprintf(LOG_INFO,"Waiting for node %d to run timed event: %s" ,sbbs->cfg.event[i]->node,sbbs->cfg.event[i]->code); - eprintf(LOG_DEBUG,"%s event last run: %s (0x%lx)" + eprintf(LOG_DEBUG,"%s event last run: %s (0x%08lx)" ,sbbs->cfg.event[i]->code ,timestr(&sbbs->cfg, &sbbs->cfg.event[i]->last, str) ,sbbs->cfg.event[i]->last);