RFC: Alternative for exemaker
Adrian Buehlmann
adrian at cadifra.com
Sat Jun 23 01:49:00 CDT 2012
On 2012-06-22 23:55, Adrian Buehlmann wrote:
> Perhaps I'll start doing that. From scratch. Of course heavily inspired
> by exemaker.
Done: https://bitbucket.org/abuehl/hgexe/src
Python27 hg.exe's are at:
https://bitbucket.org/abuehl/hgexe/downloads
https://bitbucket.org/abuehl/hgexe/src/e4c4b6663c29/hg.c
looks pretty simple:
<paste>
/*
hg.c - wrapper for calling mercurial on Windows
Copyright 2012 Adrian Buehlmann <adrian at cadifra.com>
This software may be used and distributed according to the terms of the
GNU General Public License version 2 or any later version.
*/
#include <Python.h>
#include <windows.h>
#include <Shlwapi.h>
#define _NUM_ARGS 100
static char exename[1000];
static char scriptname[1000];
static char *pyargv[_NUM_ARGS + 10];
int main(int argc, char *argv[])
{
int ret;
int i;
GetModuleFileName(NULL, exename, sizeof(exename));
strncpy_s(scriptname, sizeof(scriptname), exename, sizeof(exename));
PathRemoveFileSpec(scriptname);
strcat_s(scriptname, sizeof(scriptname), "\\hg.py");
pyargv[0] = exename;
pyargv[1] = scriptname;
for (i = 1; i < argc; i++) {
if (i > _NUM_ARGS) {
fprintf(stderr, "abort: too many arguments\n");
return 255;
}
pyargv[1 + i] = argv[i];
}
Py_Initialize();
ret = Py_Main(1 + i, pyargv);
Py_Finalize();
return ret;
}
</paste>
More information about the Mercurial-devel
mailing list