KPROXY_API f8_int kproxy_shell_v( const char * cmd ... ) { char ss[4096]; va_list arg; va_start(arg, cmd); _vsnprintf(ss, sizeof(ss), cmd, arg); va_end(arg); return kproxy_shell(ss); }
static int on_test(char * arg, void * k) { int i; int count=10; char * cmd = "uload"; BEGIN_ARGS ARG("-c:", count, "int", "count") ARG("-a:", cmd, "char *", "command to stress") END_ARGS CArgs args; parse_arg_ex(arg, &args, FS); if(process_args_1(args.argc, args.argv) < 0){ print_usage_1(); return F8_SYNTAX; } for(i=0; i<count; i++){ kproxy_shell(cmd); } return 0; }
/* play commands contained in a script file */ int on_play(char *v, void *k) { CArgsExA a; __bool silent; a.parse(v, FS); if(a.argc < 2){ utils_error("Usage : play <script file>\n"); return F8_SYNTAX; } FILE * fp; fp = fopen(a.argv[1], "rt"); if(!fp){ utils_error("%s - cannot open.\n", a.argv[1]); return F8_FILE_NOT_FOUND; } char buf[2048]; silent = proxy_silent; proxy_silent = __true; while(fgets(buf, sizeof(buf), fp), !feof(fp)){ // buf trimming if(*buf == 0){ continue; } if(*buf == '\r' || *buf=='\n' || *buf=='#'){ continue; } char *p = buf + strlen(buf) - 1; if(*p == '\r' || *p == '\n'){ *p = 0; } kproxy_shell(buf); } fclose(fp); proxy_silent = silent; return F8_SUCCESS; }