浏览代码

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

Ozkan Sezer 5 年之前
父节点
当前提交
9340cfa9a1
共有 1 个文件被更改,包括 3 次插入3 次删除
  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);
                 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);
                 }
                 }