doSyste
#include <stdlib.h> #include <stdio.h> #include <stdarg.h> int doSystem(const char *fmt, ...) { char cmd_buf[512]; va_list pargv; va_start(pargv, fmt); vsnprintf(cmd_buf, sizeof(cmd_buf), fmt, pargv); va_end(pargv); return system(cmd_buf); } int main() { doSystem("ls -l"); printf("\nhello,wolrd"); return 0; }
*/ int doSystem(char_t *fmt, ...) { va_list vargs; char_t *cmd = NULL; int rc = 0; va_start(vargs, fmt); if (fmtValloc(&cmd, WEBS_BUFSIZE, fmt, vargs) >= WEBS_BUFSIZE) { trace(0, T("doSystem: lost data, buffer overflow\n")); } va_end(vargs); if (cmd) { trace(0, T("%s\n"), cmd); rc = system(cmd); bfree(B_L, cmd); } return rc; }