]> git.ipfire.org Git - thirdparty/git.git/commitdiff
mingw: avoid the comma operator
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Mon, 17 Nov 2025 20:46:14 +0000 (20:46 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 17 Nov 2025 22:19:21 +0000 (14:19 -0800)
The pattern `return errno = ..., -1;` is observed several times in
`compat/mingw.c`. It has served us well over the years, but now clang
starts complaining:

  compat/mingw.c:723:24: error: possible misuse of comma operator here [-Werror,-Wcomma]
    723 |                 return errno = ENOSYS, -1;
        |                                      ^

See for example this failing workflow run:
https://github.com/git-for-windows/git-sdk-arm64/actions/runs/15457893907/job/43513458823#step:8:201

Let's appease clang (and also reduce the use of the no longer common
comma operator).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/mingw.c

index 8538e3d1729d2585ce253f74325cb57be74d7823..9b894d9639b642a28c6afc58e10a818ada07c5a1 100644 (file)
@@ -491,8 +491,10 @@ static int mingw_open_append(wchar_t const *wfilename, int oflags, ...)
        DWORD create = (oflags & O_CREAT) ? OPEN_ALWAYS : OPEN_EXISTING;
 
        /* only these flags are supported */
-       if ((oflags & ~O_CREAT) != (O_WRONLY | O_APPEND))
-               return errno = ENOSYS, -1;
+       if ((oflags & ~O_CREAT) != (O_WRONLY | O_APPEND)) {
+               errno = ENOSYS;
+               return -1;
+       }
 
        /*
         * FILE_SHARE_WRITE is required to permit child processes
@@ -2450,12 +2452,14 @@ static int start_timer_thread(void)
        timer_event = CreateEvent(NULL, FALSE, FALSE, NULL);
        if (timer_event) {
                timer_thread = (HANDLE) _beginthreadex(NULL, 0, ticktack, NULL, 0, NULL);
-               if (!timer_thread )
-                       return errno = ENOMEM,
-                               error("cannot start timer thread");
-       } else
-               return errno = ENOMEM,
-                       error("cannot allocate resources for timer");
+               if (!timer_thread ) {
+                       errno = ENOMEM;
+                       return error("cannot start timer thread");
+               }
+       } else {
+               errno = ENOMEM;
+               return error("cannot allocate resources for timer");
+       }
        return 0;
 }
 
@@ -2488,13 +2492,15 @@ int setitimer(int type UNUSED, struct itimerval *in, struct itimerval *out)
        static const struct timeval zero;
        static int atexit_done;
 
-       if (out)
-               return errno = EINVAL,
-                       error("setitimer param 3 != NULL not implemented");
+       if (out) {
+               errno = EINVAL;
+               return error("setitimer param 3 != NULL not implemented");
+       }
        if (!is_timeval_eq(&in->it_interval, &zero) &&
-           !is_timeval_eq(&in->it_interval, &in->it_value))
-               return errno = EINVAL,
-                       error("setitimer: it_interval must be zero or eq it_value");
+           !is_timeval_eq(&in->it_interval, &in->it_value)) {
+               errno = EINVAL;
+               return error("setitimer: it_interval must be zero or eq it_value");
+       }
 
        if (timer_thread)
                stop_timer_thread();
@@ -2516,12 +2522,14 @@ int sigaction(int sig, struct sigaction *in, struct sigaction *out)
 {
        if (sig == SIGCHLD)
                return -1;
-       else if (sig != SIGALRM)
-               return errno = EINVAL,
-                       error("sigaction only implemented for SIGALRM");
-       if (out)
-               return errno = EINVAL,
-                       error("sigaction: param 3 != NULL not implemented");
+       else if (sig != SIGALRM) {
+               errno = EINVAL;
+               return error("sigaction only implemented for SIGALRM");
+       }
+       if (out) {
+               errno = EINVAL;
+               return error("sigaction: param 3 != NULL not implemented");
+       }
 
        timer_fn = in->sa_handler;
        return 0;