Skip to content

Commit a7f1107

Browse files
committed
apple: better verbosity refactor
1 parent 69668a2 commit a7f1107

1 file changed

Lines changed: 16 additions & 13 deletions

File tree

verbosity.c

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -288,16 +288,26 @@ void RARCH_LOG_V(const char *tag, const char *fmt, va_list ap)
288288
#endif
289289
#else /* !HAVE_QT && !__WINRT__ */
290290
#if TARGET_OS_MAC /* any apple variant: macOS, iOS, tvOS, ... */
291-
char buffer[2048];
291+
char *buffer = NULL;
292292
va_list ap_cp;
293293
va_copy(ap_cp, ap);
294-
vsnprintf(buffer, sizeof(buffer), fmt, ap_cp);
294+
int r = vasprintf(&buffer, fmt, ap_cp);
295295
va_end(ap_cp);
296+
if (r < 0 || !buffer)
297+
{
298+
/* Fallback to a minimal newline to keep output formatting sensible */
299+
buffer = (char*)malloc(2);
300+
if (buffer)
301+
{
302+
buffer[0] = '\n';
303+
buffer[1] = '\0';
304+
}
305+
}
296306

297307
#if TARGET_OS_OSX /* really macOS */
298308
/* macOS: output to stdout for developer convenience */
299309
printf("%s %s", tag_v, buffer);
300-
#elif TARGET_OS_IPHONE /* iOS, tvOS, ... */
310+
#else /* iOS, tvOS, ... */
301311
#if TARGET_OS_SIMULATOR
302312
/* iOS Simulator: output to stderr for Xcode console */
303313
fprintf(stderr, "%s %s", tag_v, buffer);
@@ -323,15 +333,9 @@ void RARCH_LOG_V(const char *tag, const char *fmt, va_list ap)
323333
asl_log(asl_client, msg, ASL_LEVEL_NOTICE, "%s %s", tag_v, buffer);
324334
asl_free(msg);
325335
#endif
326-
#endif /* TARGET_OS_IPHONE */
327-
328-
/* Always write to file for all Apple platforms */
329-
if (fp)
330-
{
331-
fprintf(fp, "%s %s", tag_v, buffer);
332-
fflush(fp);
333-
}
334-
#else
336+
#endif /* TARGET_OS_OSX */
337+
free(buffer);
338+
#endif /* TARGET_OS_MAC */
335339
#if defined(HAVE_LIBNX)
336340
mutexLock(&g_verbosity->mtx);
337341
#endif
@@ -345,7 +349,6 @@ void RARCH_LOG_V(const char *tag, const char *fmt, va_list ap)
345349
mutexUnlock(&g_verbosity->mtx);
346350
#endif
347351

348-
#endif
349352
#endif
350353
#endif
351354
}

0 commit comments

Comments
 (0)