Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use strtok_r() instead of non reentrant strtok().
[simgrid.git] / src / xbt / automaton / automatonparse_promela.c
index dffb34e..1c4b4da 100644 (file)
@@ -17,15 +17,15 @@ static xbt_automaton_t parsed_automaton;
 char* state_id_src;
 
 static void new_state(char* id, int src){
-
+  char* saveptr; // for strtok_r()
   char* id_copy = xbt_strdup(id);
-  char* first_part = strtok(id_copy,"_");
+  char* first_part = strtok_r(id_copy, "_", &saveptr);
   int type = 0 ; // -1=initial state; 0=intermediate state; 1=final state
 
   if(strcmp(first_part,"accept")==0){
     type = 1;
   }else{
-    char* second_part = strtok(NULL,"_");
+    char* second_part = strtok_r(NULL, "_", &saveptr);
     if(strcmp(second_part,"init")==0){
       type = -1;
     }