diff --git a/src/sbbs3/data.cpp b/src/sbbs3/data.cpp index 08bedb7caf49f3878e73abf23eb69dec2ab28c9b..10f5af77901ac6514fea7b00796d99ff473d1549 100644 --- a/src/sbbs3/data.cpp +++ b/src/sbbs3/data.cpp @@ -100,7 +100,7 @@ uint sbbs_t::finduser(const char* name, bool silent_failure) /****************************************************************************/ /* Return date/time that the specified event should run next */ /****************************************************************************/ -extern "C" time_t getnexteventtime(event_t* event) +extern "C" time_t getnexteventtime(const event_t* event) { struct tm tm; time_t t = time(NULL); @@ -143,7 +143,7 @@ extern "C" time_t getnexteventtime(event_t* event) /* Return time of next forced timed event */ /* 'event' may be NULL */ /****************************************************************************/ -extern "C" time_t getnextevent(scfg_t* cfg, event_t* event) +extern "C" time_t getnextevent(scfg_t* cfg, event_t** event) { int i; time_t event_time=0; @@ -164,7 +164,7 @@ extern "C" time_t getnextevent(scfg_t* cfg, event_t* event) if(!event_time || thisevent<event_time) { event_time=thisevent; if(event!=NULL) - *event=*cfg->event[i]; + *event = cfg->event[i]; } } @@ -180,7 +180,7 @@ uint sbbs_t::gettimeleft(bool handle_out_of_time) { char str[128]; char tmp[512]; - event_t nextevent; + event_t* nextevent{nullptr}; now=time(NULL); @@ -188,8 +188,8 @@ uint sbbs_t::gettimeleft(bool handle_out_of_time) /* Timed event time reduction handler */ event_time=getnextevent(&cfg, &nextevent); - if(event_time) - event_code=nextevent.code; + if(event_time && nextevent != nullptr) + event_code=nextevent->code; if(event_time && now+(time_t)timeleft>event_time) { /* less time, set flag */ if(event_time<now) diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index b954735288bcf9762e2b0c3dbb8b9aefd1276d29..92b0eb477f092573fa60ce9577230e7993599997 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -1319,8 +1319,8 @@ extern "C" { DLLEXPORT void fcloselog(FILE*); /* data.cpp */ - DLLEXPORT time_t getnextevent(scfg_t* cfg, event_t* event); - DLLEXPORT time_t getnexteventtime(event_t* event); + DLLEXPORT time_t getnextevent(scfg_t* cfg, event_t**); + DLLEXPORT time_t getnexteventtime(const event_t*); /* sockopt.c */ DLLEXPORT int set_socket_options(scfg_t* cfg, SOCKET sock, const char* section