On Sat, Aug 29, 2009 at 1:55 AM, Robert Millan<r...@aybabtu.com> wrote: > 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? Difficult to say but this check makes grub give a useful error message instead of silent crash. IMO former is preferable for long-term maintainance.
I'll test the patch on FreeBSD as soon as I get it back online. > > -- > 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." > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > -- Regards Vladimir 'phcoder' Serbinenko Personal git repository: http://repo.or.cz/w/grub2/phcoder.git _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel