Added functions for parsing and formatting of dates.
This commit is contained in:
parent
6542ece91a
commit
913f7dc9f2
3 changed files with 31 additions and 1 deletions
1
TODO
1
TODO
|
@ -7,7 +7,6 @@ Core
|
||||||
- prefer loopback addresses as router IDs (dummy interface?)
|
- prefer loopback addresses as router IDs (dummy interface?)
|
||||||
|
|
||||||
- config: executable config files
|
- config: executable config files
|
||||||
- config: better format for datetime then seconds
|
|
||||||
|
|
||||||
- do we really need preconfig?
|
- do we really need preconfig?
|
||||||
|
|
||||||
|
|
|
@ -217,6 +217,33 @@ tm_shot(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bird_clock_t
|
||||||
|
tm_parse_date(char *x)
|
||||||
|
{
|
||||||
|
struct tm tm;
|
||||||
|
int n;
|
||||||
|
time_t t;
|
||||||
|
|
||||||
|
if (sscanf(x, "%d-%d-%d%n", &tm.tm_mday, &tm.tm_mon, &tm.tm_year, &n) != 3 || x[n])
|
||||||
|
return 0;
|
||||||
|
tm.tm_mon--;
|
||||||
|
tm.tm_year -= 1900;
|
||||||
|
tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
|
||||||
|
t = mktime(&tm);
|
||||||
|
if (t == (time_t) -1)
|
||||||
|
return 0;
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
tm_format_date(char *x, bird_clock_t t)
|
||||||
|
{
|
||||||
|
struct tm *tm;
|
||||||
|
|
||||||
|
tm = localtime(&t);
|
||||||
|
sprintf(x, "%02d-%02d-%04d", tm->tm_mday, tm->tm_mon+1, tm->tm_year+1900);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sockets
|
* Sockets
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -32,4 +32,8 @@ void tm_dump_all(void);
|
||||||
|
|
||||||
extern bird_clock_t now; /* Time in seconds since unknown epoch */
|
extern bird_clock_t now; /* Time in seconds since unknown epoch */
|
||||||
|
|
||||||
|
bird_clock_t tm_parse_date(char *); /* Convert date to bird_clock_t */
|
||||||
|
void tm_format_date(char *, bird_clock_t); /* Convert bird_clock_t to date */
|
||||||
|
#define TM_DATE_BUFFER_SIZE 12 /* Buffer size required by tm_format_date */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue