diff options
| author | raysan5 <raysan5@gmail.com> | 2015-09-03 01:27:49 +0200 |
|---|---|---|
| committer | raysan5 <raysan5@gmail.com> | 2015-09-03 01:27:49 +0200 |
| commit | ef1f9fe450180b1fbd48f0eadae13c2edf0b11b6 (patch) | |
| tree | 8c155533279b0e9c7e85c13ca1f0ca4326ed0d5e | |
| parent | 4e0378ab7cc930b82f2af7cf99201d9851cc7ef0 (diff) | |
| download | raylib-ef1f9fe450180b1fbd48f0eadae13c2edf0b11b6.tar.gz raylib-ef1f9fe450180b1fbd48f0eadae13c2edf0b11b6.zip | |
Added strdup() function replacement
strdup() is not a C99 function (it's POSIX), not available in emscripten
| -rw-r--r-- | src/rlgl.c | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -287,6 +287,20 @@ static pixel *GenNextMipmap(pixel *srcData, int srcWidth, int srcHeight); static void TraceLog(int msgType, const char *text, ...); #endif +#if defined(GRAPHICS_API_OPENGL_ES2) +// NOTE: strdup() functions replacement (not C99, POSIX function, not available on emscripten) +// Duplicates a string, returning an identical malloc'd string +char *mystrdup(const char *str) +{ + size_t len = strlen(str) + 1; + void *newstr = malloc(len); + + if (newstr == NULL) return NULL; + + return (char *)memcpy(newstr, str, len); +} +#endif + //---------------------------------------------------------------------------------- // Module Functions Definition - Matrix operations //---------------------------------------------------------------------------------- @@ -928,7 +942,7 @@ void rlglInit(void) // NOTE: We have to duplicate string because glGetString() returns a const value // If not duplicated, it fails in some systems (Raspberry Pi) - char *extensionsDup = strdup(extensions); + char *extensionsDup = mystrdup(extensions); // NOTE: String could be splitted using strtok() function (string.h) // NOTE: strtok() modifies the received string, it can not be const |
