int exec_commands(const char cmdline[], FileView *view, CmdInputType type) { int save_msg = 0; char **cmds = break_cmdline(cmdline, type == CIT_MENU_COMMAND); char **cmd = cmds; while(*cmd != NULL) { const int ret = exec_command(*cmd, view, type); if(ret != 0) { save_msg = (ret < 0) ? -1 : 1; } free(*cmd++); } free(cmds); return save_msg; }
int process_line(const TCHAR* appname,const TCHAR* line) { static TCHAR** argv_l = NULL; static int argc_l = 0; if(argv_l) { while(argc_l-->0) free(argv_l[argc_l]); } else { argv_l = (TCHAR**)malloc(MAX_ARGC*sizeof(TCHAR*)); } argc_l = 1; argv_l[0] = _tcsdup(appname); argc_l = break_cmdline(argv_l+1,line,MAX_ARGC); if(argc_l>0) { argc_l++; DEBUG_CODE_BEGIN printarg(TEXT("process_line"),argc_l,argv_l); DEBUG_CODE_END zcmd_process(argc_l,argv_l); return 1; } return 1; }