[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATH] grub-mkrelpath
From: |
Robert Millan |
Subject: |
Re: [PATH] grub-mkrelpath |
Date: |
Sat, 29 Aug 2009 01:55:14 +0200 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Fri, Aug 28, 2009 at 07:58:39PM +0200, Felix Zielcke wrote:
> +#else /* ! HAVE_REALPATH */
> + grub_util_warn ("grub-mkrelpath might not work on your OS correctly.");
> + /* make relative path absolute. */
> + if (*path != '/')
> + {
> + len = 1024;
> + buf2 = xmalloc (len);
> + do
> + {
> + buf2 = getcwd (buf2, len);
> + if (buf2 == NULL)
> + {
> + if (errno != ERANGE)
> + grub_util_error ("can not get current working directory");
> + else
> + len *= 2;
> + buf2 = xrealloc (buf2, len);
> + }
> + } while (buf2 == NULL);
> + buf = xmalloc (strlen (path) + strlen (buf2) + 1);
> + strcpy (buf, buf2);
> + strcat (buf, "/");
> + strcat (buf, path);
> + }
> + else
> + buf = strdup (path);
> +#endif /* ! HAVE_REALPATH */
Please can you leave this part out? realpath() is POSIX, so it should be
present in all systems we support, and if it isn't, we should be using a
complete implementation from Gnulib instead, but we don't need to worry
about this untill/unless someone reports it as a problem.
> + p = strrchr (buf, '/');
> + if (p == NULL)
> + grub_util_error ("FIXME: no / in buf.
> (make_system_path_relative_to_its_root)");
Does this ever happen?
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."