SDL_x11events.c (X11_DispatchEvent): remove FIXME and use SDL_strtokr().

Ozkan Sezer 2019-12-27 23:01:10 +03:00
parent ef3ca2cc46
commit 9340cfa9a1
1 changed files with 3 additions and 3 deletions

View File

@ -1346,9 +1346,9 @@ X11_DispatchEvent(_THIS)
X11_ReadProperty(&p, display, data->xwindow, videodata->PRIMARY); X11_ReadProperty(&p, display, data->xwindow, videodata->PRIMARY);
if (p.format == 8) { if (p.format == 8) {
/* !!! FIXME: don't use strtok here. It's not reentrant and not in SDL_stdinc. */ char* saveptr = NULL;
char* name = X11_XGetAtomName(display, target); char* name = X11_XGetAtomName(display, target);
char *token = strtok((char *) p.data, "\r\n"); char *token = SDL_strtokr((char *) p.data, "\r\n", &saveptr);
while (token != NULL) { while (token != NULL) {
if (SDL_strcmp("text/plain", name)==0) { if (SDL_strcmp("text/plain", name)==0) {
SDL_SendDropText(data->window, token); SDL_SendDropText(data->window, token);
@ -1358,7 +1358,7 @@ X11_DispatchEvent(_THIS)
SDL_SendDropFile(data->window, fn); SDL_SendDropFile(data->window, fn);
} }
} }
token = strtok(NULL, "\r\n"); token = SDL_strtokr(NULL, "\r\n", &saveptr);
} }
SDL_SendDropComplete(data->window); SDL_SendDropComplete(data->window);
} }