MaxScale/maxscale-system-test/execute_cmd.cpp
Niclas Antti c447e5cf15 Uncrustify maxscale
See script directory for method. The script to run in the top level
MaxScale directory is called maxscale-uncrustify.sh, which uses
another script, list-src, from the same directory (so you need to set
your PATH). The uncrustify version was 0.66.
2018-09-09 22:26:19 +03:00

43 lines
844 B
C++

#include <iostream>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include "execute_cmd.h"
using namespace std;
int execute_cmd(char* cmd, char** res)
{
char* result;
FILE* output = popen(cmd, "r");
if (output == NULL)
{
printf("Error opening ssh %s\n", strerror(errno));
return -1;
}
char buffer[10240];
size_t rsize = sizeof(buffer);
result = (char*)calloc(rsize, sizeof(char));
while (fgets(buffer, sizeof(buffer), output))
{
result = (char*)realloc(result, sizeof(buffer) + rsize);
rsize += sizeof(buffer);
strcat(result, buffer);
}
* res = result;
int return_code = pclose(output);
if (WIFEXITED(return_code))
{
return WEXITSTATUS(return_code);
}
else
{
return -1;
}
}