diff -ur globus_gass_copy-4.14.orig/globus_gass_copy_glob.c globus_gass_copy-4.14/globus_gass_copy_glob.c
--- globus_gass_copy-4.14.orig/globus_gass_copy_glob.c 2007-12-06 20:43:21.000000000 +0100
+++ globus_gass_copy-4.14/globus_gass_copy_glob.c 2009-06-03 17:32:13.000000000 +0200
@@ -20,6 +20,9 @@
#include <fnmatch.h>
#endif
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 4096
+#endif
/************************************************************
* glob support
diff -ur globus_gass_copy-4.14.orig/globus_url_copy.c globus_gass_copy-4.14/globus_url_copy.c
--- globus_gass_copy-4.14.orig/globus_url_copy.c 2008-10-02 16:33:50.000000000 +0200
+++ globus_gass_copy-4.14/globus_url_copy.c 2009-06-03 17:21:01.000000000 +0200
@@ -41,6 +41,7 @@
#include "globus_gass_copy.h"
#include "globus_ftp_client_debug_plugin.h"
#include "globus_ftp_client_restart_plugin.h"
+#include "globus_gsi_system_config.h"
/*
* use globus_io for netlogger stuff
*/
@@ -2311,7 +2312,8 @@
char * in_url)
{
char * tmp_ptr;
- char start_dir[PATH_MAX];
+ char * start_dir = NULL;
+ globus_result_t result;
char * dir_ptr = "";
@@ -2324,8 +2326,8 @@
if(in_url[0] != '/')
{
- tmp_ptr = getcwd(start_dir, PATH_MAX);
- if(tmp_ptr == NULL)
+ result = GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR(&start_dir);
+ if(result != GLOBUS_SUCCESS)
{
/* just punt if the system call fails */
return strdup(in_url);
@@ -2335,6 +2337,9 @@
tmp_ptr = globus_common_create_string("file://%s/%s",
dir_ptr, in_url);
+ if (start_dir)
+ globus_free(start_dir);
+
return tmp_ptr;
}