gvim-wrapper/gvim-wrapper.cc

23 lines
643 B
C++

#include <unistd.h>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string program_name = argv[0];
size_t pos = program_name.find_last_of("/\\");
string script_path =
(pos != string::npos)
? program_name.substr(0, pos) + "/gvim-wrapper.py"
: "gvim-wrapper.py";
const char **new_argv = new const char *[argc + 2];
memcpy(&new_argv[2], &argv[1], argc * sizeof(new_argv[0]));
new_argv[0] = "pythonw.exe";
new_argv[1] = script_path.c_str();
new_argv[argc + 1] = NULL;
argv[0] = "gvim-wrapper.py";
execvp("pythonw.exe", new_argv);
return -1;
}