*** ../bash-2.05b-patched/builtins/common.c	Fri Jun 28 12:24:31 2002
--- builtins/common.c	Thu Sep 30 22:25:20 2004
***************
*** 455,464 ****
  {
    char *directory;
  
    if (no_symbolic_links)
      {
!       if (the_current_working_directory)
! 	free (the_current_working_directory);
! 
        the_current_working_directory = (char *)NULL;
      }
--- 469,477 ----
  {
    char *directory;
+   size_t dsize;
  
    if (no_symbolic_links)
      {
!       FREE (the_current_working_directory);
        the_current_working_directory = (char *)NULL;
      }
***************
*** 466,480 ****
    if (the_current_working_directory == 0)
      {
!       the_current_working_directory = (char *)xmalloc (PATH_MAX);
!       the_current_working_directory[0] = '\0';
!       directory = getcwd (the_current_working_directory, PATH_MAX);
!       if (directory == 0)
  	{
! 	  fprintf (stderr, "%s: could not get current directory: %s: %s\n",
  		   (for_whom && *for_whom) ? for_whom : get_name_for_error (),
! 		   bash_getcwd_errstr, strerror (errno));
! 
! 	  free (the_current_working_directory);
! 	  the_current_working_directory = (char *)NULL;
  	  return (char *)NULL;
  	}
--- 479,488 ----
    if (the_current_working_directory == 0)
      {
!       the_current_working_directory = getcwd (0, 0);
!       if (the_current_working_directory == 0)
  	{
! 	  fprintf (stderr, _("%s: error retrieving current directory: %s: %s\n"),
  		   (for_whom && *for_whom) ? for_whom : get_name_for_error (),
! 		   _(bash_getcwd_errstr), strerror (errno));
  	  return (char *)NULL;
  	}
