rctx->cmd = xbt_strdup(line);
rctx->filepos = xbt_strdup(filepos);
- if(option){
- rctx->cmd = bprintf("%s %s",rctx->cmd,option);
+ if (option){
+ char *newcmd = bprintf("%s %s", rctx->cmd, option);
+ free(rctx->cmd);
+ rctx->cmd = newcmd;
}
XBT_INFO("[%s] %s%s", filepos, rctx->cmd,
((rctx->is_background) ? " (background command)" : ""));
int child_out[2];
XBT_DEBUG("Cmd before rewriting %s", rctx->cmd);
- rctx->cmd = xbt_str_varsubst(rctx->cmd, env);
+ char *newcmd = xbt_str_varsubst(rctx->cmd, env);
+ free(rctx->cmd);
+ rctx->cmd = newcmd;
XBT_VERB("Start %s %s", rctx->cmd,
(rctx->is_background ? "(background job)" : ""));
xbt_os_mutex_acquire(armageddon_mutex);
XBT_ERROR("--cfg argument requires an argument");
exit(1);
}
- if(!option){ //if option is NULL
+ if (!option){ //if option is NULL
option = bprintf("--cfg=%s",argv[i+1]);
- }else{
- option = bprintf("%s --cfg=%s",option,argv[i+1]);
+ } else {
+ char *newoption = bprintf("%s --cfg=%s", option, argv[i+1]);
+ free(option);
+ option = newoption;
}
XBT_INFO("Add option \'--cfg=%s\' to command line",argv[i+1]);
memmove(argv + i, argv + i + 2, (argc - i - 1) * sizeof(char *));
rctx_exit();
xbt_dict_free(&env);
- xbt_free_f(option);
+ free(option);
return 0;
}