gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 161/205: tool_operate: fix MinGW compiler warning


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 161/205: tool_operate: fix MinGW compiler warning
Date: Thu, 20 Apr 2017 16:21:41 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to annotated tag gnurl-7.54.0
in repository gnurl.

commit b547fff566cb7644273716a6e052c5ae6d3f5bef
Author: Marcel Raad <address@hidden>
AuthorDate: Sat Apr 1 11:50:39 2017 +0200

    tool_operate: fix MinGW compiler warning
    
    MinGW complains:
    tool_operate.c:197:15: error: comparison is always true due to limited range
    of data type [-Werror=type-limits]
    
    Fix this by only doing the comparison if 'long' is large enough to hold the
    constant it is compared with.
    
    Closes https://github.com/curl/curl/pull/1378
---
 src/tool_operate.c | 50 +++++++++++++++++++++++++++-----------------------
 1 file changed, 27 insertions(+), 23 deletions(-)

diff --git a/src/tool_operate.c b/src/tool_operate.c
index bb698ffec..0e84ac398 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -194,38 +194,42 @@ static void setfiletime(long filetime, const char 
*filename,
    saving time offset and since it's GMT that is bad behavior. When we have
    access to a 64-bit type we can bypass utime and set the times directly. */
 #if defined(WIN32) && (CURL_SIZEOF_CURL_OFF_T >= 8)
+    HANDLE hfile;
+
+#if (CURL_SIZEOF_LONG >= 8)
     /* 910670515199 is the maximum unix filetime that can be used as a
        Windows FILETIME without overflow: 30827-12-31T23:59:59. */
-    if(filetime <= CURL_OFF_T_C(910670515199)) {
-      HANDLE hfile = CreateFileA(filename, FILE_WRITE_ATTRIBUTES,
-                                 (FILE_SHARE_READ | FILE_SHARE_WRITE |
-                                  FILE_SHARE_DELETE),
-                                 NULL, OPEN_EXISTING, 0, NULL);
-      if(hfile != INVALID_HANDLE_VALUE) {
-        curl_off_t converted = ((curl_off_t)filetime * 10000000) +
-                               CURL_OFF_T_C(116444736000000000);
-        FILETIME ft;
-        ft.dwLowDateTime = (DWORD)(converted & 0xFFFFFFFF);
-        ft.dwHighDateTime = (DWORD)(converted >> 32);
-        if(!SetFileTime(hfile, NULL, &ft, &ft)) {
-          fprintf(error_stream,
-                  "Failed to set filetime %ld on outfile: "
-                  "SetFileTime failed: GetLastError %u\n",
-                  filetime, GetLastError());
-        }
-        CloseHandle(hfile);
-      }
-      else {
+    if(filetime > CURL_OFF_T_C(910670515199)) {
+      fprintf(error_stream,
+              "Failed to set filetime %ld on outfile: overflow\n",
+              filetime);
+      return;
+    }
+#endif /* CURL_SIZEOF_LONG >= 8 */
+
+    hfile = CreateFileA(filename, FILE_WRITE_ATTRIBUTES,
+                        (FILE_SHARE_READ | FILE_SHARE_WRITE |
+                         FILE_SHARE_DELETE),
+                        NULL, OPEN_EXISTING, 0, NULL);
+    if(hfile != INVALID_HANDLE_VALUE) {
+      curl_off_t converted = ((curl_off_t)filetime * 10000000) +
+                             CURL_OFF_T_C(116444736000000000);
+      FILETIME ft;
+      ft.dwLowDateTime = (DWORD)(converted & 0xFFFFFFFF);
+      ft.dwHighDateTime = (DWORD)(converted >> 32);
+      if(!SetFileTime(hfile, NULL, &ft, &ft)) {
         fprintf(error_stream,
                 "Failed to set filetime %ld on outfile: "
-                "CreateFile failed: GetLastError %u\n",
+                "SetFileTime failed: GetLastError %u\n",
                 filetime, GetLastError());
       }
+      CloseHandle(hfile);
     }
     else {
       fprintf(error_stream,
-              "Failed to set filetime %ld on outfile: overflow\n",
-              filetime);
+              "Failed to set filetime %ld on outfile: "
+              "CreateFile failed: GetLastError %u\n",
+              filetime, GetLastError());
     }
 #elif defined(HAVE_UTIME)
     struct utimbuf times;

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]