#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;
}