Selaa lähdekoodia

Verify that the %p format specifier works for 64-bit pointers

(cherry picked from commit 7f75178908355046e37d908648c44cf4d4625f09)
Sam Lantinga 1 vuosi sitten
vanhempi
commit
d622c3c9cc
1 muutettua tiedostoa jossa 7 lisäystä ja 0 poistoa
  1. 7 0
      test/testautomation_stdlib.c

+ 7 - 0
test/testautomation_stdlib.c

@@ -187,6 +187,13 @@ int stdlib_snprintf(void *arg)
     SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0, "Check text, expected: '%s', got: '%s'", expected, text);
     SDLTest_AssertCheck(result == SDL_strlen(expected), "Check result value, expected: %d, got: %d", (int)SDL_strlen(expected), result);
 
+    if (sizeof(void *) >= 8) {
+        result = SDL_snprintf(text, sizeof(text), "%p", (void *)0x1ba07bddf60L);
+        expected = "0x1ba07bddf60";
+        SDLTest_AssertPass("Call to SDL_snprintf(text, sizeof(text), \"%%p\", 0x1ba07bddf60)");
+        SDLTest_AssertCheck(SDL_strcmp(text, expected) == 0, "Check text, expected: '%s', got: '%s'", expected, text);
+        SDLTest_AssertCheck(result == SDL_strlen(expected), "Check result value, expected: %d, got: %d", (int)SDL_strlen(expected), result);
+    }
     return TEST_COMPLETED;
 }