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 <a...@linutronix.de> --- tools/xenstore/xenstored_control.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c index cbd62556c3..403295788a 100644 --- a/tools/xenstore/xenstored_control.c +++ b/tools/xenstore/xenstored_control.c @@ -666,12 +666,12 @@ static const char *lu_reject_reason(const void *ctx) 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); } } -- 2.30.2