void get_file_timestamp_struct(unsigned int flags, struct tm *rectime,
struct file_header *file_hdr)
{
- struct tm *loc_t;
-
if (PRINT_TRUE_TIME(flags)) {
/* Get local time. This is just to fill fields with a default value. */
get_time(rectime, 0);
mktime(rectime);
}
else {
- if ((loc_t = localtime((const time_t *) &file_hdr->sa_ust_time)) != NULL) {
- *rectime = *loc_t;
- }
+ localtime_r((const time_t *) &file_hdr->sa_ust_time, rectime);
}
}
/* Fill localtime structure if given */
if (loctime) {
- if ((ltm = localtime((const time_t *) &(record_hdr->ust_time))) != NULL) {
- *loctime = *ltm;
+ ltm = localtime_r((const time_t *) &(record_hdr->ust_time), loctime);
+ if (ltm) {
+ /* Done so that we have some default values */
+ *rectime = *loctime;
}
else {
rc = 1;
/* Fill generic rectime structure */
if (PRINT_LOCAL_TIME(l_flags) && !ltm) {
/* Get local time if not already done */
- ltm = localtime((const time_t *) &(record_hdr->ust_time));
+ ltm = localtime_r((const time_t *) &(record_hdr->ust_time), rectime);
}
if (!PRINT_LOCAL_TIME(l_flags) && !PRINT_TRUE_TIME(l_flags)) {
* Get time in UTC
* (the user doesn't want local time nor time of file's creator).
*/
- ltm = gmtime((const time_t *) &(record_hdr->ust_time));
+ ltm = gmtime_r((const time_t *) &(record_hdr->ust_time), rectime);
}
- if (ltm) {
- /* Done even in true time mode so that we have some default values */
- *rectime = *ltm;
- }
- else {
+ if (!ltm) {
rc = 1;
}
struct activity *act[], unsigned int id_seq[],
struct file_activity *file_actlst)
{
- struct tm rectime, *loc_t;
+ struct tm rectime, loc_t;
char cur_time[TIMESTAMP_LEN];
int *tab = (int *) parm;
strftime(cur_time, sizeof(cur_time), "%Y-%m-%d", &rectime);
xprintf(*tab, "<file-date>%s</file-date>", cur_time);
- if ((loc_t = gmtime((const time_t *) &file_hdr->sa_ust_time)) != NULL) {
- strftime(cur_time, sizeof(cur_time), "%T", loc_t);
+ if (gmtime_r((const time_t *) &file_hdr->sa_ust_time, &loc_t) != NULL) {
+ strftime(cur_time, sizeof(cur_time), "%T", &loc_t);
xprintf(*tab, "<file-utc-time>%s</file-utc-time>", cur_time);
}
struct activity *act[], unsigned int id_seq[],
struct file_activity *file_actlst)
{
- struct tm rectime, *loc_t;
+ struct tm rectime, loc_t;
char cur_time[TIMESTAMP_LEN];
int *tab = (int *) parm;
strftime(cur_time, sizeof(cur_time), "%Y-%m-%d", &rectime);
xprintf0(*tab, "\"file-date\": \"%s\"", cur_time);
- if ((loc_t = gmtime((const time_t *) &file_hdr->sa_ust_time)) != NULL) {
- strftime(cur_time, sizeof(cur_time), "%T", loc_t);
+ if (gmtime_r((const time_t *) &file_hdr->sa_ust_time, &loc_t) != NULL) {
+ strftime(cur_time, sizeof(cur_time), "%T", &loc_t);
printf(",\n");
xprintf0(*tab, "\"file-utc-time\": \"%s\"", cur_time);
}
struct file_activity *file_actlst)
{
int i, p;
- struct tm rectime, *loc_t;
+ struct tm rectime, loc_t;
struct file_activity *fal;
char cur_time[TIMESTAMP_LEN];
file_magic->upgraded);
printf(_("Host: "));
- print_gal_header(localtime((const time_t *) &(file_hdr->sa_ust_time)),
+ print_gal_header(localtime_r((const time_t *) &(file_hdr->sa_ust_time), &rectime),
file_hdr->sa_sysname, file_hdr->sa_release,
file_hdr->sa_nodename, file_hdr->sa_machine,
file_hdr->sa_cpu_nr > 1 ? file_hdr->sa_cpu_nr - 1 : 1,
strftime(cur_time, sizeof(cur_time), "%Y-%m-%d", &rectime);
printf(_("File date: %s\n"), cur_time);
- if ((loc_t = gmtime((const time_t *) &file_hdr->sa_ust_time)) != NULL) {
+ if (gmtime_r((const time_t *) &file_hdr->sa_ust_time, &loc_t) != NULL) {
printf(_("File time: "));
- strftime(cur_time, sizeof(cur_time), "%T", loc_t);
+ strftime(cur_time, sizeof(cur_time), "%T", &loc_t);
printf("%s UTC\n", cur_time);
}
struct file_activity *file_actlst)
{
struct svg_hdr_parm *hdr_parm = (struct svg_hdr_parm *) parm;
+ struct tm rectime;
unsigned int height = 0, ht = 0;
int i, p;
" fill=\"black\" stroke=\"gray\" stroke-width=\"1\">\n",
SVG_T_XSIZE * (hdr_parm->views_per_row), height);
printf("<text x=\"0\" y=\"30\" text-anchor=\"start\" stroke=\"brown\">");
- print_gal_header(localtime((const time_t *) &(file_hdr->sa_ust_time)),
+ print_gal_header(localtime_r((const time_t *) &(file_hdr->sa_ust_time), &rectime),
file_hdr->sa_sysname, file_hdr->sa_release,
file_hdr->sa_nodename, file_hdr->sa_machine,
file_hdr->sa_cpu_nr > 1 ? file_hdr->sa_cpu_nr - 1 : 1,