From 7e636b03cc68be354696279be627a89533f3ad1d Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 29 Apr 2022 10:16:14 -0700
Subject: [PATCH] Removed log message length limitation for Apple platforms
This works in conjunction with https://github.com/libsdl-org/SDL/pull/5584
---
src/SDL_log.c | 13 +++----------
src/video/cocoa/SDL_cocoavideo.m | 11 ++++++++---
src/video/uikit/SDL_uikitvideo.m | 11 ++++++++---
3 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/src/SDL_log.c b/src/SDL_log.c
index 02ac4e40385..d3896e21871 100644
--- a/src/SDL_log.c
+++ b/src/SDL_log.c
@@ -430,17 +430,10 @@ SDL_LogOutput(void *userdata, int category, SDL_LogPriority priority,
#elif defined(__APPLE__) && (defined(SDL_VIDEO_DRIVER_COCOA) || defined(SDL_VIDEO_DRIVER_UIKIT))
/* Technically we don't need Cocoa/UIKit, but that's where this function is defined for now.
*/
- extern void SDL_NSLog(const char *text);
+ extern void SDL_NSLog(const char *prefix, const char *text);
{
- char *text;
- /* !!! FIXME: why not just "char text[SDL_MAX_LOG_MESSAGE];" ? */
- text = SDL_stack_alloc(char, SDL_MAX_LOG_MESSAGE);
- if (text) {
- SDL_snprintf(text, SDL_MAX_LOG_MESSAGE, "%s: %s", SDL_priority_prefixes[priority], message);
- SDL_NSLog(text);
- SDL_stack_free(text);
- return;
- }
+ SDL_NSLog(SDL_priority_prefixes[priority], message);
+ return;
}
#elif defined(__PSP__)
{
diff --git a/src/video/cocoa/SDL_cocoavideo.m b/src/video/cocoa/SDL_cocoavideo.m
index 74d85382936..c5e5d640928 100644
--- a/src/video/cocoa/SDL_cocoavideo.m
+++ b/src/video/cocoa/SDL_cocoavideo.m
@@ -270,11 +270,16 @@
* versions remain identical!
*/
-void SDL_NSLog(const char *text)
+void SDL_NSLog(const char *prefix, const char *text)
{
@autoreleasepool {
- NSString *str = [NSString stringWithUTF8String:text];
- NSLog(@"%@", str);
+ NSString *nsText = [NSString stringWithUTF8String:text];
+ if (prefix) {
+ NSString *nsPrefix = [NSString stringWithUTF8String:prefix];
+ NSLog(@"%@: %@", nsPrefix, nsText);
+ } else {
+ NSLog(@"%@", nsText);
+ }
}
}
diff --git a/src/video/uikit/SDL_uikitvideo.m b/src/video/uikit/SDL_uikitvideo.m
index 5d2b96e38e2..81d7bf647a7 100644
--- a/src/video/uikit/SDL_uikitvideo.m
+++ b/src/video/uikit/SDL_uikitvideo.m
@@ -278,11 +278,16 @@ static void UIKit_DeleteDevice(SDL_VideoDevice * device)
*/
#if !defined(SDL_VIDEO_DRIVER_COCOA)
-void SDL_NSLog(const char *text)
+void SDL_NSLog(const char *prefix, const char *text)
{
@autoreleasepool {
- NSString *str = [NSString stringWithUTF8String:text];
- NSLog(@"%@", str);
+ NSString *nsText = [NSString stringWithUTF8String:text];
+ if (prefix) {
+ NSString *nsPrefix = [NSString stringWithUTF8String:prefix];
+ NSLog(@"%@: %@", nsPrefix, nsText);
+ } else {
+ NSLog(@"%@", nsText);
+ }
}
}
#endif /* SDL_VIDEO_DRIVER_COCOA */