diff -ur globus_gass_copy-5.7.orig/globus_gass_copy_glob.c globus_gass_copy-5.7/globus_gass_copy_glob.c
--- globus_gass_copy-5.7.orig/globus_gass_copy_glob.c 2010-07-01 22:26:03.000000000 +0200
+++ globus_gass_copy-5.7/globus_gass_copy_glob.c 2010-07-17 10:11:38.966555640 +0200
@@ -1872,7 +1872,11 @@
goto error_null_path;
}
+#ifndef TARGET_ARCH_WIN32
rc = mkdir(parsed_url.url_path, 0777);
+#else
+ rc = mkdir(parsed_url.url_path);
+#endif
if(rc != 0)
{
diff -ur globus_gass_copy-5.7.orig/globus_url_copy.c globus_gass_copy-5.7/globus_url_copy.c
--- globus_gass_copy-5.7.orig/globus_url_copy.c 2010-07-13 21:11:50.000000000 +0200
+++ globus_gass_copy-5.7/globus_url_copy.c 2010-07-17 10:22:02.861552734 +0200
@@ -48,6 +48,9 @@
*/
#include "globus_io.h"
#include "version.h" /* provides local_version */
+#ifdef WIN32
+#include "openssl/applink.c"
+#endif
#define GUC_URL_ENC_CHAR "#;:=+ ,"
@@ -1281,6 +1284,9 @@
globus_l_guc_src_dst_pair_t * url_pair;
FILE * dumpfile;
char * dumptmp;
+#ifdef WIN32
+ char * dumptmp2;
+#endif
int dumpfd;
int i;
globus_l_guc_transfer_t * transfer_info;
@@ -1292,7 +1298,12 @@
if(guc_info->dumpfile)
{
dumptmp = globus_common_create_string("%s.XXXXXX", guc_info->dumpfile);
+#ifdef WIN32
+ dumptmp2 = mktemp(dumptmp);
+ dumpfd = open(dumptmp2, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
+#else
dumpfd = mkstemp(dumptmp);
+#endif
if(dumpfd < 0)
{
return;
@@ -1419,7 +1430,12 @@
if(guc_info->dump_only_file)
{
dumptmp = globus_common_create_string("%s.XXXXXX", guc_info->dump_only_file);
+#ifdef WIN32
+ dumptmp2 = mktemp(dumptmp);
+ dumpfd = open(dumptmp2, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
+#else
dumpfd = mkstemp(dumptmp);
+#endif
if(dumpfd < 0)
{
return;
@@ -1682,7 +1698,7 @@
int i;
globus_callback_handle_t dumpfile_handle;
- setenv("GLOBUS_CALLBACK_POLLING_THREADS", "1", 1);
+ globus_libc_setenv("GLOBUS_CALLBACK_POLLING_THREADS", "1", 1);
err = globus_module_activate(GLOBUS_GASS_COPY_MODULE);
if( err != GLOBUS_SUCCESS )
{