From 44927fe5e3765e5a1e20eb74461f7f63e24f68d0 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 6 Aug 2024 05:45:48 -0700
Subject: [PATCH] Added detail about why a file couldn't be opened (thanks
mgerhardy!)
Fixes https://github.com/libsdl-org/SDL/issues/10484
(cherry picked from commit 15120133202da5980c17b4bf363b5fdb6f32de6b)
---
src/file/SDL_iostream.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/file/SDL_iostream.c b/src/file/SDL_iostream.c
index ef1d21d240c57..d10de2da7954d 100644
--- a/src/file/SDL_iostream.c
+++ b/src/file/SDL_iostream.c
@@ -26,6 +26,7 @@
#ifdef HAVE_STDIO_H
#include <stdio.h>
+#include <errno.h>
#include <sys/stat.h>
#endif
#ifdef HAVE_LIMITS_H
@@ -565,7 +566,7 @@ SDL_IOStream *SDL_IOFromFile(const char *file, const char *mode)
FILE *fp = fdopen(fd, mode);
if (!fp) {
close(fd);
- SDL_SetError("Unable to open file descriptor (%d) from URI %s", fd, file);
+ SDL_SetError("Unable to open file descriptor (%d) from URI %s: %s", fd, file, strerror(errno));
return NULL;
}
@@ -655,7 +656,7 @@ SDL_IOStream *SDL_IOFromFile(const char *file, const char *mode)
#endif
if (!fp) {
- SDL_SetError("Couldn't open %s", file);
+ SDL_SetError("Couldn't open %s: %s", file, strerror(errno));
} else if (!IsRegularFileOrPipe(fp)) {
fclose(fp);
fp = NULL;