From acf58972f72ad6cea89ee630d3ac546be01d58c3 Mon Sep 17 00:00:00 2001
From: Sergey Lyubka <valenok@gmail.com>
Date: Thu, 2 Sep 2021 10:20:55 +0100
Subject: [PATCH] Fix posix_open()

---
 mongoose.c     | 8 ++++----
 src/fs_posix.c | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/mongoose.c b/mongoose.c
index 371afade3..4aff7d723 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -679,10 +679,10 @@ static void posix_list(const char *dir, void (*fn)(const char *, void *),
 }
 
 static struct mg_fd *posix_open(const char *path, int flags) {
-  const char *mode =
-      flags & (MG_FS_READ | MG_FS_WRITE)
-          ? "r+b"
-          : flags & MG_FS_READ ? "rb" : flags & MG_FS_WRITE ? "wb" : "";
+  const char *mode = flags == (MG_FS_READ | MG_FS_WRITE) ? "r+b"
+                     : flags & MG_FS_READ                ? "rb"
+                     : flags & MG_FS_WRITE               ? "wb"
+                                                         : "";
   void *fp = NULL;
   struct mg_fd *fd = NULL;
 #ifdef _WIN32
diff --git a/src/fs_posix.c b/src/fs_posix.c
index e5c55f09c..308a62e2c 100644
--- a/src/fs_posix.c
+++ b/src/fs_posix.c
@@ -155,10 +155,10 @@ static void posix_list(const char *dir, void (*fn)(const char *, void *),
 }
 
 static struct mg_fd *posix_open(const char *path, int flags) {
-  const char *mode =
-      flags & (MG_FS_READ | MG_FS_WRITE)
-          ? "r+b"
-          : flags & MG_FS_READ ? "rb" : flags & MG_FS_WRITE ? "wb" : "";
+  const char *mode = flags == (MG_FS_READ | MG_FS_WRITE) ? "r+b"
+                     : flags & MG_FS_READ                ? "rb"
+                     : flags & MG_FS_WRITE               ? "wb"
+                                                         : "";
   void *fp = NULL;
   struct mg_fd *fd = NULL;
 #ifdef _WIN32
-- 
GitLab