Am Samstag, den 29.08.2009, 01:55 +0200 schrieb Robert Millan: > 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.
Ok, but should I then check in configure.ac that realpath is required or something else? Or should I just assume that realpath is always avaible? > > + p = strrchr (buf, '/'); > > + if (p == NULL) > > + grub_util_error ("FIXME: no / in buf. > > (make_system_path_relative_to_its_root)"); > > Does this ever happen? As Vladimir said, it shouldn't ever happen, but I thought it would be better to check for this explicitly instead of core dumping in that case. -- Felix Zielcke Proud Debian Maintainer _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel