Browse Source

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

Ozkan Sezer 5 years ago
parent
commit
9340cfa9a1
1 changed files with 3 additions and 3 deletions
  1. 3 3
      src/video/x11/SDL_x11events.c

+ 3 - 3
src/video/x11/SDL_x11events.c

@@ -1346,9 +1346,9 @@ X11_DispatchEvent(_THIS)
                 X11_ReadProperty(&p, display, data->xwindow, videodata->PRIMARY);
 
                 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 *token = strtok((char *) p.data, "\r\n");
+                    char *token = SDL_strtokr((char *) p.data, "\r\n", &saveptr);
                     while (token != NULL) {
                         if (SDL_strcmp("text/plain", name)==0) {
                             SDL_SendDropText(data->window, token);
@@ -1358,7 +1358,7 @@ X11_DispatchEvent(_THIS)
                                 SDL_SendDropFile(data->window, fn);
                             }
                         }
-                        token = strtok(NULL, "\r\n");
+                        token = SDL_strtokr(NULL, "\r\n", &saveptr);
                     }
                     SDL_SendDropComplete(data->window);
                 }