diff -ur globus_gass_copy-5.3.orig/globus_gass_copy_glob.c globus_gass_copy-5.3/globus_gass_copy_glob.c --- globus_gass_copy-5.3.orig/globus_gass_copy_glob.c 2009-07-16 21:28:09.000000000 +0200 +++ globus_gass_copy-5.3/globus_gass_copy_glob.c 2010-01-23 10:12:08.902533517 +0100 @@ -20,6 +20,9 @@ #include #endif +#ifndef MAXPATHLEN +#define MAXPATHLEN 4096 +#endif /************************************************************ * glob support diff -ur globus_gass_copy-5.3.orig/globus_url_copy.c globus_gass_copy-5.3/globus_url_copy.c --- globus_gass_copy-5.3.orig/globus_url_copy.c 2009-12-18 06:51:45.000000000 +0100 +++ globus_gass_copy-5.3/globus_url_copy.c 2010-01-23 10:20:00.162279634 +0100 @@ -42,6 +42,7 @@ #include "globus_ftp_client_debug_plugin.h" #include "globus_ftp_client_restart_plugin.h" #include "globus_error_gssapi.h" +#include "globus_gsi_system_config.h" /* * use globus_io for netlogger stuff @@ -2894,7 +2895,8 @@ { char * tmp_ptr; char * tmp_path; - char start_dir[PATH_MAX]; + char * start_dir = NULL; + globus_result_t result; char * dir_ptr = ""; @@ -2907,8 +2909,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 globus_libc_strdup(in_url); @@ -2927,6 +2929,9 @@ globus_free(dir_ptr); globus_free(tmp_path); + if (start_dir) + globus_free(start_dir); + return tmp_ptr; }