]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
examples/log_failed_transfers: make it build for WinCE
authorViktor Szakats <commit@vsz.me>
Fri, 10 Oct 2025 22:27:36 +0000 (00:27 +0200)
committerViktor Szakats <commit@vsz.me>
Fri, 10 Oct 2025 23:04:24 +0000 (01:04 +0200)
- include `windows.h` after `winsock2.h` via `curl/curl.h`.
- avoid `errno` for WinCE.
- avoid `_vscprintf` for WinCE.

Ref: 4535532ed36d2129b107ab357262072f82c2b34a #18843
Follow-up to 0780de2625bf8bb3bcb0f88bbbc401b2750ec1bb #18668
Closes #19016

docs/examples/log_failed_transfers.c

index 1ec6350510abb8bc7bb2f642a1195a82fb2ee848..66e193167712dfdfc2145102739e92b4e588edfb 100644 (file)
  *
  */
 
-#ifdef _WIN32
-#ifndef _CRT_SECURE_NO_WARNINGS
-#define _CRT_SECURE_NO_WARNINGS
-#endif
-#include <windows.h>
-#endif
-
+#ifndef UNDER_CE
 #include <errno.h>
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #include <limits.h>
 #include <curl/curl.h>
 
 #ifdef _WIN32
+#ifndef _CRT_SECURE_NO_WARNINGS
+#define _CRT_SECURE_NO_WARNINGS
+#endif
+#include <windows.h>
 #define strcasecmp _stricmp
 #define strncasecmp _strnicmp
 #define unlink _unlink
@@ -157,7 +156,7 @@ static int mem_addf(struct mem *mem, const char *format, ...)
       return x;
     }
 
-#ifdef _WIN32
+#if defined(_WIN32) && !defined(UNDER_CE)
     /* Not all versions of Windows CRT vsnprintf are compliant with C99. Some
        return -1 if buffer too small. Try _vscprintf to get the needed size. */
     if(!i && x < 0) {
@@ -296,9 +295,11 @@ int main(void)
       }
     }
     else {
+#ifndef UNDER_CE
       mem_addf(&t->log, "Failed to create body output file %s: %s\n",
                t->bodyfile, strerror(errno));
       fprintf(stderr, "%s", t->log.recent);
+#endif
       failed = 1;
     }
 
@@ -307,10 +308,12 @@ int main(void)
 
       if(fp && t->log.len == fwrite(t->log.buf, 1, t->log.len, fp))
         fprintf(stderr, "Transfer log written to %s\n", t->logfile);
+#ifndef UNDER_CE
       else {
         fprintf(stderr, "Failed to write transfer log to %s: %s\n",
                 t->logfile, strerror(errno));
       }
+#endif
 
       if(fp)
         fclose(fp);