osdep/io: fix fdopen mode flag

In both C11 standard and Microsoft documentation, '+' must be placed
immediately after mode, so placing 'b' between them is incorrect.
This commit is contained in:
nanahi authored and Kacper Michajłow committed 2026-06-04 04:58:16 +02:00
1 parent f1a42eff01
commit 1f150567ac
1 file changed
+5 -1
+5 -1
View File
@@ -105,7 +105,11 @@ FILE *mp_fopen(const char *filename, const char *mode)
return NULL; return NULL;
// Add 'b' to the mode so the CRT knows the file is opened in binary mode // Add 'b' to the mode so the CRT knows the file is opened in binary mode
char bmode[] = { mode[0], 'b', rwmode == O_RDWR ? '+' : '\0', '\0' }; char bmode[] = { mode[0], '\0', '\0', '\0' };
int idx = 1;
if (rwmode == O_RDWR)
bmode[idx++] = '+';
bmode[idx++] = 'b';
FILE *fp = fdopen(fd, bmode); FILE *fp = fdopen(fd, bmode);
if (!fp) { if (!fp) {
close(fd); close(fd);