diff options
Diffstat (limited to 'tests/sdl_image_prepare_data.c')
-rw-r--r-- | tests/sdl_image_prepare_data.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/sdl_image_prepare_data.c b/tests/sdl_image_prepare_data.c index fdad16d1..87e33399 100644 --- a/tests/sdl_image_prepare_data.c +++ b/tests/sdl_image_prepare_data.c @@ -25,18 +25,22 @@ int testImage(const char* fileName) { return result; } -void ready(char *data, const char *fileName) { - printf("ready! %s\n", fileName); +void ready(void *arg, const char *fileName) { + printf("ready! %s (%d)\n", fileName, (int)arg); static int first = 1; static const char *seenName; + static void *seenArg; if (first) { first = 0; seenName = fileName; + seenArg = arg; } else { printf("%s ? %s == %d\n", fileName, seenName, strcmp(fileName, seenName)); assert(strcmp(fileName, seenName)); // different names + assert(seenArg != arg); // different args + testImage(seenName); free(seenName); // As the API docs say, we are responsible for freeing the 'fake' names we are given @@ -57,8 +61,8 @@ int main() { fread(buffer, SIZE, 1, f); fclose(f); - emscripten_async_prepare_data(buffer, SIZE, "jpg", ready, NULL); - emscripten_async_prepare_data(buffer, SIZE, "jpg", ready, NULL); // twice to see different filenames + emscripten_async_prepare_data(buffer, SIZE, "jpg", (void*)25, ready, NULL); + emscripten_async_prepare_data(buffer, SIZE, "jpg", (void*)33, ready, NULL); // twice to see different filenames return 0; } |