Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: rth@redhat.com
To: Andrew Cagney <ac131313@cygnus.com>
Cc: Richard Earnshaw <Richard.Earnshaw@arm.com>,
	gdb-patches@sources.redhat.com
Subject: Re: declare canonicalize_file_name
Date: Thu, 14 Mar 2002 16:07:00 -0000	[thread overview]
Message-ID: <20020314160724.A5976@redhat.com> (raw)
In-Reply-To: <3C9135BB.4090401@cygnus.com>; from ac131313@cygnus.com on Thu, Mar 14, 2002 at 06:43:55PM -0500

On Thu, Mar 14, 2002 at 06:43:55PM -0500, Andrew Cagney wrote:
> Oops, ulgh! if RichardE tweeks to code (as I suggested) to simply prefer 
> realpath() it will break the hurd again.  I think prefering realpath() 
> is correct (only use an obscure function when forced too) but that logic 
> is going to need to be scrambled a bit more :-(.

What about something like this?


r~


Index: utils.c
===================================================================
RCS file: /cvs/src/src/gdb/utils.c,v
retrieving revision 1.68
diff -c -p -d -r1.68 utils.c
*** utils.c	2002/03/01 06:19:24	1.68
--- utils.c	2002/03/15 00:06:43
*************** extern PTR realloc ();
*** 81,86 ****
--- 81,91 ----
  #ifdef NEED_DECLARATION_FREE
  extern void free ();
  #endif
+ /* Actually, we'll never have the decl, since we don't define _GNU_SOURCE.  */
+ #if defined(HAVE_CANONICALIZE_FILE_NAME) \
+     && defined(NEED_DECLARATION_CANONICALIZE_FILE_NAME)
+ extern char *canonicalize_file_name (const char *);
+ #endif
  
  #undef XMALLOC
  #define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
*************** string_to_core_addr (const char *my_stri
*** 2532,2551 ****
  char *
  gdb_realpath (const char *filename)
  {
! #ifdef HAVE_CANONICALIZE_FILE_NAME
!   return canonicalize_file_name (filename);
! #elif defined (HAVE_REALPATH)
! #if defined (PATH_MAX)
    char buf[PATH_MAX];
! #elif defined (MAXPATHLEN)
    char buf[MAXPATHLEN];
! #elif defined (HAVE_UNISTD_H) && defined(HAVE_ALLOCA)
    char *buf = alloca ((size_t)pathconf ("/", _PC_PATH_MAX));
! #else
! #error "Neither PATH_MAX nor MAXPATHLEN defined"
! #endif
    char *rp = realpath (filename, buf);
    return xstrdup (rp ? rp : filename);
  #else
    return xstrdup (filename);
  #endif
--- 2537,2560 ----
  char *
  gdb_realpath (const char *filename)
  {
! #if defined(HAVE_REALPATH)
! # if defined (PATH_MAX)
    char buf[PATH_MAX];
! #  define USE_REALPATH
! # elif defined (MAXPATHLEN)
    char buf[MAXPATHLEN];
! #  define USE_REALPATH
! # elif defined (HAVE_UNISTD_H) && defined(HAVE_ALLOCA)
    char *buf = alloca ((size_t)pathconf ("/", _PC_PATH_MAX));
! #  define USE_REALPATH
! # endif
! #endif /* HAVE_REALPATH */
! 
! #if defined(USE_REALPATH)
    char *rp = realpath (filename, buf);
    return xstrdup (rp ? rp : filename);
+ #elif defined(HAVE_CANONICALIZE_FILE_NAME)
+   return canonicalize_file_name (filename);
  #else
    return xstrdup (filename);
  #endif


  reply	other threads:[~2002-03-15  0:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-14 13:28 Richard Henderson
2002-03-14 15:29 ` Andrew Cagney
2002-03-14 14:56   ` Richard Henderson
2002-03-14 15:44     ` Andrew Cagney
2002-03-14 16:07       ` rth [this message]
2002-03-14 16:27         ` Andrew Cagney
2002-03-15  0:35       ` Alfred M. Szmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020314160724.A5976@redhat.com \
    --to=rth@redhat.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=ac131313@cygnus.com \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox