Skip to content

Commit 235a267

Browse files
authored
Avoid pointer cast to time_t from incompatible type (#427)
Resolves #426
1 parent 1b0cac2 commit 235a267

5 files changed

Lines changed: 22 additions & 19 deletions

File tree

StRoot/StDaqLib/SC/SC_Reader.cxx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#include <assert.h>
1111
#include <math.h>
12+
#include <ctime>
1213

1314
using namespace OLDEVP;
1415

@@ -97,8 +98,8 @@ SC_Reader::SC_Reader(EventReader *er) {
9798
//Keep BBCBkg scalers flipped as theyStRoot/StDaqLib/SC/SC_Reader.cxx were historically before 2009
9899
//Note that new DAQ reader leads to UTime = 0, or tm_year=70 (1970)
99100
//but new DAQ reader only gets used for 2009+ anyhow
100-
unsigned int UTime = er->getEventInfo().UnixTime;
101-
struct tm *time=gmtime((time_t*) &UTime);
101+
std::time_t utime = er->getEventInfo().UnixTime;
102+
std::tm *time = gmtime(&utime);
102103
flipBBCBkg = (time->tm_year > 95 && time->tm_year < 109 ? 1 : 0) ;
103104

104105
// LDate = (((1900+time->tm_year)*100 + 1 + time->tm_mon)*100 + time->tm_mday)*100;

StRoot/StDaqLib/SSD/SSD_Reader.cxx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
#include <assert.h>
55
#include <math.h>
6+
#include <ctime>
67

78
static unsigned short log8to10_table[256] = {
89
0, 1, 2, 3, 4, 5, 6, 7,
@@ -118,8 +119,8 @@ SSD_Reader::SSD_Reader(EventReader *er) {
118119
datap=er->getDATAP();
119120
if (datap) {
120121

121-
unsigned int UTime = er->getEventInfo().UnixTime;
122-
struct tm *time=gmtime((time_t*) &UTime);
122+
std::time_t utime = er->getEventInfo().UnixTime;
123+
std::tm *time = gmtime(&utime);
123124

124125
//LDate = (((1900+time->tm_year)*100 + 1 + time->tm_mon)*100 + time->tm_mday)*100;
125126
//LDate = yyyymmdd

StRoot/StEEmcUtil/EEfeeRaw/RootWrapper.cxx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <cstdlib>
22
#include <cstdio>
3+
#include <ctime>
34

45
#include "TROOT.h"
56
#include "TFile.h"
@@ -57,7 +58,8 @@ eemcfeerootopen_(long& run, long& runtime, char *chfile, int &nAuto, int len)
5758
char *idt = strchr(basefile,'.'); *idt = 0x00; // locate first dot
5859
}
5960
sprintf(filename,"%s/%s.ez.root",rootdir,basefile);
60-
sprintf(comment,"run:%05ld, time:%s ",run,ctime((time_t *)&runtime));
61+
std::time_t utime = runtime;
62+
sprintf(comment,"run:%05ld, time:%s ",run,ctime(&utime));
6163

6264
file = new TFile(filename,"RECREATE");
6365
tree = new TTree("ezstar","A tree with FEE events");

StRoot/St_trg_Maker/year2003.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ void St_trg_Maker::Emc2003(St_dst_TrgDet *dst1) {
101101
//pp_dsm_to_patch[7] for after 01-Dec-2001, AA_dsm_to_patch[5] for before that date
102102
EventReader *er=fVictorPrelim->getEventReader();
103103
EventInfo info=er->getEventInfo();
104-
unsigned int UnixTime=info.UnixTime;
105-
struct tm *time=gmtime((time_t*) &UnixTime);
104+
std::time_t utime = info.UnixTime;
105+
std::tm *time = gmtime(&utime);
106106
int year=1900+time->tm_year;
107107
int month=1+time->tm_mon;
108108
int day=time->tm_mday;

StRoot/StarRoot/TUnixTime.cxx

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
*
99
***************************************************************************
1010
**************************************************************************/
11+
#include <ctime>
1112
#include <stdio.h>
1213
#include <stdlib.h>
13-
#include <time.h>
1414
#include <assert.h>
1515
#include "TUnixTime.h"
1616
#include "TDatime.h"
@@ -111,30 +111,29 @@ void TUnixTime::SetLTime(Int_t idate, Int_t itime)
111111
//______________________________________________________________________________
112112
void TUnixTime::GetGTime(Int_t &idate, Int_t &itime)
113113
{
114-
struct tm gt;
115-
gt = *gmtime((time_t*)&fUTime);
116-
tm2DateTime(idate,itime,&gt);
114+
std::time_t utime = fUTime;
115+
std::tm *gt = gmtime(&utime);
116+
tm2DateTime(idate, itime, gt);
117117

118118
}
119119
//______________________________________________________________________________
120120
void TUnixTime::GetLTime(Int_t &idate, Int_t &itime)
121121
{
122-
struct tm gt;
123-
gt = *localtime((time_t*)&fUTime);
124-
tm2DateTime(idate,itime,&gt);
125-
122+
std::time_t utime = fUTime;
123+
std::tm *gt = localtime(&utime);
124+
tm2DateTime(idate, itime, gt);
126125
}
127126
//______________________________________________________________________________
128127
TString TUnixTime::GetLString()
129128
{
130-
TString ts(ctime((time_t*)&fUTime));
131-
return ts;
129+
std::time_t utime = fUTime;
130+
return TString(ctime(&utime));
132131
}
133132
//______________________________________________________________________________
134133
TString TUnixTime::GetGString()
135134
{
136-
TString ts(asctime(gmtime((time_t*)&fUTime)));
137-
return ts;
135+
std::time_t utime = fUTime;
136+
return TString(asctime(gmtime(&utime)));
138137
}
139138
//______________________________________________________________________________
140139
void TUnixTime::SetLTime(const TDatime &loc)

0 commit comments

Comments
 (0)