diff --git a/src/modules/files/efuns.c b/src/modules/files/efuns.c index ddf4667108f17cb31ba7f55532ff149f3ad1b322..a1c76d098109c40fcae1fc0e896c50fbb82023ca 100644 --- a/src/modules/files/efuns.c +++ b/src/modules/files/efuns.c @@ -60,6 +60,10 @@ # endif #endif +#ifdef HAVE_PROCESS_H +#include <process.h> +#endif + #include "dmalloc.h" struct array *encode_stat(struct stat *s) @@ -659,7 +663,13 @@ void f_exece(INT32 args) my_set_close_on_exec(2,0); do_set_close_on_exec(); - execve(argv[0],argv,env); + +#ifdef __NT__ +#define DOCAST(X) ((const char * const *)(X)) +#else +#define DOCAST(X) (X) +#endif + execve(argv[0],DOCAST(argv),DOCAST(env)); free((char *)argv); if(env != environ) free((char *)env);