void start_epmd(char *epmd) { int i = 1; char epmd_flags[100]; int argc; char **argv; int result; if(epmd != NULL) strcpy(epmd_flags, epmd); else strcpy(epmd_flags, "epmd"); #ifdef DEBUG strcat(epmd_flags, " -d -d"); i = 3; /* #else strcat(epmd_flags, " -d"); i = 2; */ #endif argv = (char **)malloc((i+1)*sizeof(char*)); str2args(epmd_flags, &argc, &argv); result = start_ose_epmd(argc, argv); for(i=0; i<argc; i++) free(argv[i]); free(argv); }
int executeCommand(const char* cmd) { int argc = 0; char temp[ARGC_MAX][ARGV_LEN_MAX] = { 0 }; char* argv[ARGC_MAX] = { 0 }; /** command line option error*/ if ((str2args(cmd, temp, &argc)) == false) { return 7; } for (int i = 0; i < argc; i++) { argv[i] = temp[i]; LOGD("arg[%d]:[%s]", i, argv[i]); } return main(argc, (const char**) argv); }