From f491dfdc88ddbba36a24a75b2063aff027461b83 Mon Sep 17 00:00:00 2001
From: Adrian Bunk <bunk@stusta.de>
Date: Thu, 16 May 2019 22:20:07 +0300
Subject: Replace the legacy ULONG_LONG_MAX with the C99 ULLONG_MAX

Upstream-Status: Backport
Signed-off-by: Adrian Bunk <bunk@stusta.de>
---
 src/journal-remote/journal-remote-main.c | 4 ++--
 src/shutdown/shutdown.c                  | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
index 2321a91e7b..d32c51c3ce 100644
--- a/src/journal-remote/journal-remote-main.c
+++ b/src/journal-remote/journal-remote-main.c
@@ -528,7 +528,7 @@ static int dispatch_http_event(sd_event_source *event,
                                void *userdata) {
         MHDDaemonWrapper *d = userdata;
         int r;
-        MHD_UNSIGNED_LONG_LONG timeout = ULONG_LONG_MAX;
+        MHD_UNSIGNED_LONG_LONG timeout = ULLONG_MAX;
 
         assert(d);
 
@@ -538,7 +538,7 @@ static int dispatch_http_event(sd_event_source *event,
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "MHD_run failed!");
         if (MHD_get_timeout(d->daemon, &timeout) == MHD_NO)
-                timeout = ULONG_LONG_MAX;
+                timeout = ULLONG_MAX;
 
         r = sd_event_source_set_time(d->timer_event, timeout);
         if (r < 0) {
diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c
index 35b2c2aa46..9623fe9ea2 100644
--- a/src/shutdown/shutdown.c
+++ b/src/shutdown/shutdown.c
@@ -212,7 +212,7 @@ static int sync_making_progress(unsigned long long *prev_dirty) {
 }
 
 static void sync_with_progress(void) {
-        unsigned long long dirty = ULONG_LONG_MAX;
+        unsigned long long dirty = ULLONG_MAX;
         unsigned checks;
         pid_t pid;
         int r;
-- 
2.20.1

