On 32 bit systems with 64 bit time_t (hello, Y2038 problem),
the following error occurs otherwise:
| xenstored_control.c: In function 'lu_reject_reason':
| xenstored_control.c:646:70: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'time_t' {aka 'long long int'} [-Werror=format=]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Reviewed-by: Juergen Gross <jgross@suse.com>
time_t now = time(NULL);
list_for_each_entry(conn, &connections, list) {
- if (conn->ta_start_time &&
- (now - conn->ta_start_time >= lu_status->timeout)) {
+ unsigned long tdiff = now - conn->ta_start_time;
+
+ if (conn->ta_start_time && (tdiff >= lu_status->timeout)) {
ret = talloc_asprintf(ctx, "%s\nDomain %u: %ld s",
ret ? : "Domains with long running transactions:",
- conn->id,
- now - conn->ta_start_time);
+ conn->id, tdiff);
}
}