Changed strtok calls to strtok_r where needed.
This commit is contained in:
Markus Makela
2015-02-16 09:25:41 +02:00
parent cd99d6c1dd
commit 4e5c4c0b6a
3 changed files with 11 additions and 9 deletions

View File

@ -158,6 +158,7 @@ int sendMessage(MYSQL* server, amqp_message_t* msg)
(int)((msg->properties.correlation_id.len + 1)*2+1) + (int)((msg->properties.correlation_id.len + 1)*2+1) +
strlen(DB_INSERT), strlen(DB_INSERT),
rval = 0; rval = 0;
char* saved;
char *qstr = calloc(buffsz,sizeof(char)), char *qstr = calloc(buffsz,sizeof(char)),
*rawmsg = calloc((msg->body.len + 1),sizeof(char)), *rawmsg = calloc((msg->body.len + 1),sizeof(char)),
*clnmsg = calloc(((msg->body.len + 1)*2+1),sizeof(char)), *clnmsg = calloc(((msg->body.len + 1)*2+1),sizeof(char)),
@ -170,9 +171,9 @@ int sendMessage(MYSQL* server, amqp_message_t* msg)
sprintf(qstr,"%.*s",(int)msg->body.len,(char *)msg->body.bytes); sprintf(qstr,"%.*s",(int)msg->body.len,(char *)msg->body.bytes);
fprintf(out_fd,"Received: %s\n",qstr); fprintf(out_fd,"Received: %s\n",qstr);
char *ptr = strtok(qstr,"|"); char *ptr = strtok_r(qstr,"|",&saved);
sprintf(rawdate,"%s",ptr); sprintf(rawdate,"%s",ptr);
ptr = strtok(NULL,"\n\0"); ptr = strtok_r(NULL,"\n\0",&saved);
if(ptr == NULL){ if(ptr == NULL){
fprintf(out_fd,"Message content not valid.\n"); fprintf(out_fd,"Message content not valid.\n");
rval = 1; rval = 1;

View File

@ -141,6 +141,7 @@ FILTER_PARAMETER** read_params(int* paramc)
{ {
char buffer[256]; char buffer[256];
char* token; char* token;
char* saveptr;
char* names[64]; char* names[64];
char* values[64]; char* values[64];
int pc = 0, do_read = 1, val_len = 0; int pc = 0, do_read = 1, val_len = 0;
@ -157,14 +158,14 @@ FILTER_PARAMETER** read_params(int* paramc)
if(strcmp("done\n",buffer) == 0){ if(strcmp("done\n",buffer) == 0){
do_read = 0; do_read = 0;
}else{ }else{
token = strtok(buffer,"=\n"); token = strtok_r(buffer,"=\n",&saveptr);
if(token!=NULL){ if(token!=NULL){
val_len = strcspn(token," \n\0"); val_len = strcspn(token," \n\0");
if((names[pc] = calloc((val_len + 1),sizeof(char))) != NULL){ if((names[pc] = calloc((val_len + 1),sizeof(char))) != NULL){
memcpy(names[pc],token,val_len); memcpy(names[pc],token,val_len);
} }
} }
token = strtok(NULL,"=\n"); token = strtok_r(NULL,"=\n",&saveptr);
if(token!=NULL){ if(token!=NULL){
val_len = strcspn(token," \n\0"); val_len = strcspn(token," \n\0");
if((values[pc] = calloc((val_len + 1),sizeof(char))) != NULL){ if((values[pc] = calloc((val_len + 1),sizeof(char))) != NULL){
@ -997,6 +998,7 @@ int process_opts(int argc, char** argv)
int fd, buffsize = 1024; int fd, buffsize = 1024;
int rd,rdsz, rval = 0, error = 0; int rd,rdsz, rval = 0, error = 0;
size_t fsize; size_t fsize;
char* saveptr;
char *buff = calloc(buffsize,sizeof(char)), *tok = NULL; char *buff = calloc(buffsize,sizeof(char)), *tok = NULL;
/**Parse 'harness.cnf' file*/ /**Parse 'harness.cnf' file*/
@ -1027,16 +1029,16 @@ int process_opts(int argc, char** argv)
instance.session_count = 1; instance.session_count = 1;
rdsz = read(fd,buff,fsize); rdsz = read(fd,buff,fsize);
buff[rdsz] = '\0'; buff[rdsz] = '\0';
tok = strtok(buff,"="); tok = strtok_r(buff,"=",&saveptr);
while(tok){ while(tok){
if(!strcmp(tok,"threads")){ if(!strcmp(tok,"threads")){
tok = strtok(NULL,"\n\0"); tok = strtok_r(NULL,"\n\0",&saveptr);
instance.thrcount = strtol(tok,0,0); instance.thrcount = strtol(tok,0,0);
}else if(!strcmp(tok,"sessions")){ }else if(!strcmp(tok,"sessions")){
tok = strtok(NULL,"\n\0"); tok = strtok_r(NULL,"\n\0",&saveptr);
instance.session_count = strtol(tok,0,0); instance.session_count = strtol(tok,0,0);
} }
tok = strtok(NULL,"="); tok = strtok_r(NULL,"=",&saveptr);
} }

View File

@ -20,7 +20,6 @@ int main(int argc, char** argv){
printf("\n\n\tFilter Test Harness\n\n"); printf("\n\n\tFilter Test Harness\n\n");
} }
while(instance.running){ while(instance.running){
printf("Harness> "); printf("Harness> ");
memset(buffer,0,256); memset(buffer,0,256);