diff options
Diffstat (limited to 'patches/unfs3-0.9.22/0100-HACK-use-the-environment-variable-UNFS_BASE-as-root-.patch')
-rw-r--r-- | patches/unfs3-0.9.22/0100-HACK-use-the-environment-variable-UNFS_BASE-as-root-.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/patches/unfs3-0.9.22/0100-HACK-use-the-environment-variable-UNFS_BASE-as-root-.patch b/patches/unfs3-0.9.22/0100-HACK-use-the-environment-variable-UNFS_BASE-as-root-.patch new file mode 100644 index 000000000..846bcae3f --- /dev/null +++ b/patches/unfs3-0.9.22/0100-HACK-use-the-environment-variable-UNFS_BASE-as-root-.patch @@ -0,0 +1,56 @@ +From: Michael Olbrich <m.olbrich@pengutronix.de> +Date: Wed, 12 Sep 2012 09:24:54 +0200 +Subject: [PATCH] HACK: use the environment variable UNFS_BASE as root + directory + +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> +--- + backend_unix.h | 3 ++- + readdir.c | 16 ++++++++++++++++ + 2 files changed, 18 insertions(+), 1 deletion(-) + +diff --git a/backend_unix.h b/backend_unix.h +index 713288da5bef..62dad8336e83 100644 +--- a/backend_unix.h ++++ b/backend_unix.h +@@ -23,6 +23,7 @@ + /* + * system calls + */ ++char *realpath_unix(const char *path, char *resolved_path); + #define backend_chmod chmod + #define backend_chown chown + #define backend_close close +@@ -49,7 +50,7 @@ + #define backend_pwrite pwrite + #define backend_readdir readdir + #define backend_readlink readlink +-#define backend_realpath realpath ++#define backend_realpath realpath_unix + #define backend_remove remove + #define backend_rename rename + #define backend_rmdir rmdir +diff --git a/readdir.c b/readdir.c +index 0e7290c68ae8..53b0bfc9e7dd 100644 +--- a/readdir.c ++++ b/readdir.c +@@ -213,3 +213,19 @@ READDIR3res read_dir(const char *path, cookie3 cookie, cookieverf3 verf, + + return result; + } ++ ++char *realpath_unix(const char *path, char *resolved_path) ++{ ++ char *base = getenv("UNFS_BASE"); ++ char *p; ++ ++ if (base) { ++ p = malloc(strlen(base) + strlen(path) + 1); ++ strcpy(p, base); ++ strcat(p, path); ++ resolved_path = realpath(p, resolved_path); ++ free(p); ++ return resolved_path; ++ } ++ return realpath(path, resolved_path); ++} |