From: Robert Millan Date: Wed, 20 Jan 2010 14:40:00 +0000 (+0000) Subject: 2010-01-20 Robert Millan X-Git-Tag: 1.98~145 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f66924a414b5440c06d73d0a4d74ded3cb580637;p=thirdparty%2Fgrub.git 2010-01-20 Robert Millan * util/misc.c (make_system_path_relative_to_its_root): Work around special-casing of "/", as previous incarnation of this routine did. --- diff --git a/ChangeLog b/ChangeLog index 7274a9920..c4048a66e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-01-20 Robert Millan + + * util/misc.c (make_system_path_relative_to_its_root): Work around + special-casing of "/", as previous incarnation of this routine did. + 2010-01-20 Vladimir Serbinenko Fix any-emu compilation. diff --git a/util/misc.c b/util/misc.c index 0b682c445..c5ab62e42 100644 --- a/util/misc.c +++ b/util/misc.c @@ -577,6 +577,13 @@ make_system_path_relative_to_its_root (const char *path) len--; } + /* This works around special-casing of "/" in Un*x. This function never + prints trailing slashes (so that its output can be appended a slash + unconditionally). Each slash in is considered a preceding slash, and + therefore the root directory is an empty string. */ + if (!strcmp (buf3, "/")) + buf3[0] = '\0'; + return buf3; }