diff options
Diffstat (limited to 'src/mods/commands/yc_exec.cpp')
| -rwxr-xr-x | src/mods/commands/yc_exec.cpp | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/src/mods/commands/yc_exec.cpp b/src/mods/commands/yc_exec.cpp index f912c20..119942d 100755 --- a/src/mods/commands/yc_exec.cpp +++ b/src/mods/commands/yc_exec.cpp @@ -9,58 +9,58 @@ using namespace std; -extern "C" { - int extern_function(void *v_arg) - { - container *c=(container *)v_arg; - - user* p_user = (user*) c->elem[1]; // the corresponding user - timr* p_timr = (timr*) ((dynamic_wrap*)c->elem[3])->TIMR; - conf* p_conf = (conf*) ((dynamic_wrap*)c->elem[3])->CONF; - vector<string> *params = (vector<string>*) c->elem[2]; // param array +extern "C" +{ + int extern_function(void *v_arg) + { + container *c=(container *)v_arg; - string s_command; - string s_msg = p_timr->get_time(); - string s_output; + user* p_user = (user*) c->elem[1]; // the corresponding user + timr* p_timr = (timr*) ((dynamic_wrap*)c->elem[3])->TIMR; + conf* p_conf = (conf*) ((dynamic_wrap*)c->elem[3])->CONF; + vector<string> *params = (vector<string>*) c->elem[2]; // param array - vector<string>::iterator iter; - for ( iter = params->begin(); iter != params->end(); iter++ ) - s_command.append( " " + *iter ); + string s_command; + string s_msg = p_timr->get_time(); + string s_output; - s_command.append(" 2>error.log"); + vector<string>::iterator iter; + for ( iter = params->begin(); iter != params->end(); iter++ ) + s_command.append( " " + *iter ); - s_msg.append( " " + s_command + "<br>\n" ); + s_command.append(" 2>error.log"); - p_user->msg_post( &s_msg ); + s_msg.append( " " + s_command + "<br>\n" ); - FILE *file; - char buffer[READBUF]; + p_user->msg_post( &s_msg ); - if( (file=popen(s_command.c_str(), "r")) == NULL ) - { - s_output = "<font color=\"#" - + p_conf->get_elem("chat.html.errorcolor") - + p_conf->get_elem("chat.msgs.err.execcommand") - + "</font><br>\n"; - p_user->msg_post( &s_output ); - } + FILE *file; + char buffer[READBUF]; - else - { - s_output.append("<hr>\n"); - while(true) - { - if(fgets(buffer, READBUF, file) == NULL) - break; + if( (file=popen(s_command.c_str(), "r")) == NULL ) + { + s_output = "<font color=\"#" + + p_conf->get_elem("chat.html.errorcolor") + + p_conf->get_elem("chat.msgs.err.execcommand") + + "</font><br>\n"; + p_user->msg_post( &s_output ); + } + else + { + s_output.append("<hr>\n"); + while(true) + { + if(fgets(buffer, READBUF, file) == NULL) + break; - s_output.append( string(buffer) + "<br>\n" ); - } + s_output.append( string(buffer) + "<br>\n" ); + } - p_user->msg_post( &s_output ); - pclose(file); - } + p_user->msg_post( &s_output ); + pclose(file); + } - return 0; - } + return 0; + } } |
