@@ -100,7 +100,8 @@ void __fastcall TMainForm::FormShow(TObject *Sender)
100100 cmd=GetCommandLine ();
101101 strcpy (buff,cmd.c_str ());
102102
103- for (p=strtok (buff," " );p&&argc<32 ;p=strtok (NULL ," " )) {
103+ char *sptr;
104+ for (p=strtok_r (buff," " ,&sptr);p&&argc<32 ;p=strtok_r (NULL ," " ,&sptr)) {
104105 argv[argc++]=p;
105106 }
106107 if (argc>=2 ) url=argv[1 ];
@@ -139,7 +140,8 @@ void __fastcall TMainForm::FormShow(TObject *Sender)
139140 for (int i=0 ;i<10 ;i++) {
140141 stas=ini->ReadString (" sta" ,s.sprintf (" station%d" ,i)," " );
141142 strcpy (buff,stas.c_str ());
142- for (p=strtok (buff," ," );p;p=strtok (NULL ," ," )) {
143+ char *sptr;
144+ for (p=strtok_r (buff," ," ,&sptr);p;p=strtok_r (NULL ," ," ,&sptr)) {
143145 StaList->Add (p);
144146 }
145147 }
@@ -386,7 +388,8 @@ void __fastcall TMainForm::UpdateCaster(void)
386388 n=q-p<MAXLINE-1 ?q-p:MAXLINE-1 ;
387389 strncpy (buff,p,n); buff[n]=' \0 ' ;
388390 if (strncmp (buff," CAS" ,3 )) continue ;
389- for (i=0 ,r=strtok (buff," ;" );i<3 &&p;i++,r=strtok (NULL ," ;" )) item[i]=r;
391+ char *sptr;
392+ for (i=0 ,r=strtok_r (buff," ;" ,&sptr);i<3 &&r;i++,r=strtok_r (NULL ," ;" ,&sptr)) item[i]=r;
390393 Address->AddItem (item[1 ]+" :" +item[2 ],NULL );
391394 }
392395 if (Address->Items ->Count >1 ) Address->Text =Address->Items ->Strings [1 ];
0 commit comments