Skip to content

Commit fb1e770

Browse files
committed
time_rec.h: Use a global constant for uninitialized timestamps
1 parent f0ab96e commit fb1e770

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

time_rec.c

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
#define REC_MATCH 0
7575
#define REC_NOMATCH 1
7676

77-
#define _IS_SET(x) ((x) != (time_t)-1)
77+
#define _IS_SET(x) ((x) != TR_NOVAL)
7878
#define _D(c) ((c) -'0')
7979

8080
#define TR_SEPARATOR '|'
@@ -490,13 +490,13 @@ void tmrec_init(tmrec_p t)
490490
memset(t, 0, sizeof *t);
491491

492492
/* these values may be legitimately set to 0 (i.e. UNIX start time) */
493-
t->dtstart = (time_t)-1;
494-
t->dtend = (time_t)-1;
495-
t->duration = (time_t)-1;
493+
t->dtstart = TR_NOVAL;
494+
t->dtend = TR_NOVAL;
495+
t->duration = TR_NOVAL;
496496

497-
t->freq = (time_t)-1;
498-
t->until = (time_t)-1;
499-
t->interval = (time_t)-1;
497+
t->freq = TR_NOVAL;
498+
t->until = TR_NOVAL;
499+
t->interval = TR_NOVAL;
500500
}
501501

502502
static inline void tmrec_expr_init(tmrec_expr_t *e)
@@ -569,7 +569,7 @@ int tr_parse_dtstart(tmrec_p _trp, char *_in)
569569
if (!_in)
570570
return -1;
571571
_trp->dtstart = ic_parse_datetime(_in, &(_trp->ts));
572-
return (_trp->dtstart == (time_t)-1) ? -1 : 0;
572+
return (_trp->dtstart == TR_NOVAL) ? -1 : 0;
573573
}
574574

575575
int tr_parse_dtend(tmrec_p _trp, char *_in)
@@ -578,15 +578,15 @@ int tr_parse_dtend(tmrec_p _trp, char *_in)
578578
if (!_in)
579579
return -1;
580580
_trp->dtend = ic_parse_datetime(_in,&_tm);
581-
return (_trp->dtend == (time_t)-1) ? -1 : 0;
581+
return (_trp->dtend == TR_NOVAL) ? -1 : 0;
582582
}
583583

584584
int tr_parse_duration(tmrec_p _trp, char *_in)
585585
{
586586
if (!_in)
587587
return -1;
588588
_trp->duration = ic_parse_duration(_in);
589-
return (_trp->duration == (time_t)-1) ? -1 : 0;
589+
return (_trp->duration == TR_NOVAL) ? -1 : 0;
590590
}
591591

592592
int tr_parse_until(tmrec_p _trp, char *_in)
@@ -595,7 +595,7 @@ int tr_parse_until(tmrec_p _trp, char *_in)
595595
if (!_in)
596596
return -1;
597597
_trp->until = ic_parse_datetime(_in, &_tm);
598-
return (_trp->until == (time_t)-1) ? -1 : 0;
598+
return (_trp->until == TR_NOVAL) ? -1 : 0;
599599
}
600600

601601
int tr_parse_freq(tmrec_p _trp, char *_in)
@@ -767,21 +767,21 @@ time_t ic_parse_datetime(char *_in, struct tm *_tm)
767767
struct tm t;
768768

769769
if (!_in || strlen(_in)!=15)
770-
return (time_t)-1;
770+
return TR_NOVAL;
771771

772772
t.tm_year = _D(_in[0])*1000 + _D(_in[1])*100
773773
+ _D(_in[2])*10 + _D(_in[3]);
774774
if (t.tm_year < 1970) {
775775
LM_ERR("invalid year in Date-Time: '%s'\n", _in);
776-
return (time_t)-1;
776+
return TR_NOVAL;
777777
}
778778

779779
t.tm_year -= 1900; /* per man ctime(3) */
780780
t.tm_mon = _D(_in[4])*10 + _D(_in[5]) - 1;
781781
t.tm_mday = _D(_in[6])*10 + _D(_in[7]);
782782
if (t.tm_mon == -1 || t.tm_mday == 0) {
783783
LM_ERR("month or month day cannot be zero in Date-Time: '%s'\n", _in);
784-
return (time_t)-1;
784+
return TR_NOVAL;
785785
}
786786

787787
t.tm_hour = _D(_in[9])*10 + _D(_in[10]);
@@ -800,7 +800,7 @@ time_t ic_parse_duration(char *_in)
800800
int _fl;
801801

802802
if(!_in || strlen(_in)<2)
803-
return (time_t)-1;
803+
return TR_NOVAL;
804804

805805
if(*_in == 'P' || *_in=='p')
806806
{

time_rec.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ typedef void tmrec_expr;
3434
#define PKG_ALLOC 2
3535
#define TR_BYXXX 4
3636

37+
#define TR_NOVAL ((time_t)-1)
3738

3839
tmrec *tmrec_parse(const char *tr, char alloc_type);
3940

0 commit comments

Comments
 (0)