--- gt4job.C.old 2008-07-28 16:05:15.000000000 -0700 +++ gt4job.C 2008-07-30 13:52:45.000000000 -0700 @@ -1833,11 +1833,16 @@ while ( (filename = stage_in_list.next()) != NULL ) { *rsl += ""; - buff.sprintf( "%s%s%s", local_url_base.Value(), - filename[0] == '/' ? "" : local_iwd.Value(), - filename ); - *rsl += printXMLParam ("sourceUrl", - buff.Value()); + + if ( !(strncmp(filename, "gsiftp://", 9) ) ) { + *rsl += printXMLParam ("sourceUrl", filename); + } else { + buff.sprintf( "%s%s%s", local_url_base.Value(), + filename[0] == '/' ? "" : local_iwd.Value(), + filename ); + *rsl += printXMLParam ("sourceUrl", + buff.Value()); + } buff.sprintf ("file://%s%s", remote_iwd.Value(), condor_basename (filename)); @@ -1921,7 +1926,7 @@ *rsl += ""; buff.sprintf ("file://%s%s", filename[0]=='/' ? "" : remote_iwd.Value(), - filename); + condor_basename( filename )); *rsl += printXMLParam ("sourceUrl", buff.Value()); if ( remaps && filename_remap_find( remaps, filename, @@ -1929,6 +1934,8 @@ buff.sprintf( "%s%s%s", local_url_base.Value(), new_name[0] == '/' ? "" : local_iwd.Value(), new_name.Value() ); + } else if ( !(strncmp(filename, "gsiftp://", 9) ) ) { + buff.sprintf( "%s", filename ); } else { buff.sprintf( "%s%s%s", local_url_base.Value(), local_iwd.Value(),