2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
* util/misc.c (canonicalize_file_name): New function. (make_system_path_relative_to_its_root): Use canonicalize_file_name() instead of realpath().
This commit is contained in:
parent
a788afb626
commit
92ab12b092
2 changed files with 22 additions and 7 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
|
||||||
|
|
||||||
|
* util/misc.c (canonicalize_file_name): New function.
|
||||||
|
(make_system_path_relative_to_its_root): Use canonicalize_file_name()
|
||||||
|
instead of realpath().
|
||||||
|
|
||||||
2010-01-11 Colin Watson <cjwatson@ubuntu.com>
|
2010-01-11 Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
|
||||||
* util/grub-install.in (usage): Clarify meaning of --root-directory,
|
* util/grub-install.in (usage): Clarify meaning of --root-directory,
|
||||||
|
|
23
util/misc.c
23
util/misc.c
|
@ -479,6 +479,19 @@ fail:
|
||||||
|
|
||||||
#endif /* __MINGW32__ */
|
#endif /* __MINGW32__ */
|
||||||
|
|
||||||
|
char *
|
||||||
|
canonicalize_file_name (const char *path)
|
||||||
|
{
|
||||||
|
char *ret;
|
||||||
|
#ifdef PATH_MAX
|
||||||
|
ret = xmalloc (PATH_MAX);
|
||||||
|
(void) realpath (path, ret);
|
||||||
|
#else
|
||||||
|
ret = realpath (path, NULL);
|
||||||
|
#endif
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function never prints trailing slashes (so that its output
|
/* This function never prints trailing slashes (so that its output
|
||||||
can be appended a slash unconditionally). */
|
can be appended a slash unconditionally). */
|
||||||
char *
|
char *
|
||||||
|
@ -491,15 +504,11 @@ make_system_path_relative_to_its_root (const char *path)
|
||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
/* canonicalize. */
|
/* canonicalize. */
|
||||||
p = realpath (path, NULL);
|
p = canonicalize_file_name (path);
|
||||||
|
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
{
|
grub_util_error ("failed to get canonical path of %s", path);
|
||||||
if (errno != EINVAL)
|
|
||||||
grub_util_error ("failed to get realpath of %s", path);
|
|
||||||
else
|
|
||||||
grub_util_error ("realpath not supporting (path, NULL)");
|
|
||||||
}
|
|
||||||
len = strlen (p) + 1;
|
len = strlen (p) + 1;
|
||||||
buf = strdup (p);
|
buf = strdup (p);
|
||||||
free (p);
|
free (p);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue