--- ray/src/common/paths.h 2016/03/06 01:13:17 2.27 +++ ray/src/common/paths.h 2017/07/10 20:15:18 2.30 @@ -1,4 +1,4 @@ -/* RCSid $Id: paths.h,v 2.27 2016/03/06 01:13:17 schorsch Exp $ */ +/* RCSid $Id: paths.h,v 2.30 2017/07/10 20:15:18 greg Exp $ */ /* * Definitions for paths on different machines */ @@ -20,7 +20,10 @@ #define access _access #define mkdir(dirname,perms) _mkdir(dirname) - #ifdef _MSC_VER + /* The windows _popen with the native shell breaks '\\\n' escapes. + * RT_WINPROC (used by SCons) enables our replacement functions to fix that. + * XXX This should really not depend on the compiler used! */ + #if defined(_MSC_VER) && !defined(RT_WINPROC) #define popen(cmd,mode) _popen(cmd,mode) #define pclose(p) _pclose(p) #else @@ -103,7 +106,7 @@ #define CURDIR '.' #define DEFAULT_TEMPDIRS {"/var/tmp", "/usr/tmp", "/tmp", ".", NULL} #define TEMPLATE "/tmp/rtXXXXXX" - #define TEMPLEN 17 + #define TEMPLEN 13 #define ULIBVAR "RAYPATH" #ifndef DEFPATH #define DEFPATH ":/usr/local/lib/ray" @@ -130,7 +133,7 @@ extern "C" { #if defined(_WIN32) || defined(_WIN64) extern FILE *win_popen(char *command, char *type); extern int win_pclose(FILE *p); - extern char *fixargv0(); + extern char *fixargv0(char *arg0); #endif /* Check if any of the characters in str2 are found in str1 */