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." _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel