# SDL: Make snprintf %p tests consistent

**URL:** <https://discourse.libsdl.org/t/sdl-make-snprintf-p-tests-consistent/69530>\
**Category:** SDL Commits\
**Created:** [October 11, 2026, 4:44pm UTC](https://discourse.libsdl.org/t/sdl-make-snprintf-p-tests-consistent/69530 "2026-10-11T16:44:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SDLPushPostBot](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/sdlpushpostbot/32/4370_2.png) [@SDLPushPostBot](https://discourse.libsdl.org/u/SDLPushPostBot)\
**Post date:** [October 11, 2026, 4:44pm UTC](https://discourse.libsdl.org/t/sdl-make-snprintf-p-tests-consistent/69530/1 "2026-10-11T16:44:03Z")

</div>

> <https://github.com/libsdl-org/SDL/commit/f6af41d12368747b61a98bb50e03a78ebb6163e4>
>
> Fixes snprintf %p test on Solaris 11.4
> 
> Fixes https://github.com/libsdl-org/SDL/…issues/16482

```diff
From f6af41d12368747b61a98bb50e03a78ebb6163e4 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sun, 11 Oct 2026 09:38:52 -0700
Subject: [PATCH] Make snprintf %p tests consistent

Fixes snprintf %p test on Solaris 11.4

Fixes https://github.com/libsdl-org/SDL/issues/16482
---
 test/testautomation_stdlib.c | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/test/testautomation_stdlib.c b/test/testautomation_stdlib.c
index fd222183be5fa..c5664dd54e04f 100644
--- a/test/testautomation_stdlib.c
+++ b/test/testautomation_stdlib.c
@@ -327,10 +327,10 @@ static int SDLCALL stdlib_snprintf(void *arg)
 
     result = SDL_snprintf(text, sizeof(text), "%p", (void *)0x1234abcd);
     expected = "0x1234abcd";
- expected2 = "1234ABCD";
- expected3 = "000000001234ABCD";
- expected4 = "1234abcd";
- expected5 = "000000001234abcd";
+ expected2 = "1234abcd";
+ expected3 = "000000001234abcd";
+ expected4 = "1234ABCD";
+ expected5 = "000000001234ABCD";
     SDLTest_AssertPass("Call to SDL_snprintf(text, sizeof(text), \"%%p\", 0x1234abcd)");
     SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0 ||
                         SDL_strcmp(text, expected2) == 0 ||
@@ -347,10 +347,10 @@ static int SDLCALL stdlib_snprintf(void *arg)
 
     result = SDL_snprintf(text, sizeof(text), "A %p B", (void *)0x1234abcd);
     expected = "A 0x1234abcd B";
- expected2 = "A 1234ABCD B";
- expected3 = "A 000000001234ABCD B";
- expected4 = "A 1234abcd B";
- expected5 = "A 000000001234abcd B";
+ expected2 = "A 1234abcd B";
+ expected3 = "A 000000001234abcd B";
+ expected4 = "A 1234ABCD B";
+ expected5 = "A 000000001234ABCD B";
     SDLTest_AssertPass("Call to SDL_snprintf(text, sizeof(text), \"A %%p B\", 0x1234abcd)");
     SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0 ||
                         SDL_strcmp(text, expected2) == 0 ||
@@ -369,16 +369,22 @@ static int SDLCALL stdlib_snprintf(void *arg)
     if (is_at_least_64bit_system) {
         result = SDL_snprintf(text, sizeof(text), "%p", (void *)SDL_SINT64_C(0x1ba07bddf60));
         expected = "0x1ba07bddf60";
- expected2 = "000001BA07BDDF60";
+ expected2 = "1ba07bddf60";
         expected3 = "000001ba07bddf60";
+ expected4 = "1BA07BDDF60";
+ expected5 = "000001BA07BDDF60";
         SDLTest_AssertPass("Call to SDL_snprintf(text, sizeof(text), \"%%p\", 0x1ba07bddf60)");
         SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0 ||
                             SDL_strcmp(text, expected2) == 0 ||
- SDL_strcmp(text, expected3) == 0,
+ SDL_strcmp(text, expected3) == 0 ||
+ SDL_strcmp(text, expected4) == 0 ||
+ SDL_strcmp(text, expected5) == 0,
             "Check text, expected: '%s', got: '%s'", expected, text);
         SDLTest_AssertCheck(result == SDL_strlen(expected) ||
                             result == SDL_strlen(expected2) ||
- result == SDL_strlen(expected3),
+ result == SDL_strlen(expected3) ||
+ result == SDL_strlen(expected4) ||
+ result == SDL_strlen(expected5),
             "Check result value, expected: %d, got: %d", (int)SDL_strlen(expected), result);
     }
     return TEST_COMPLETED;

```
