diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-02-02 08:00:34 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-02-02 08:00:34 +0100 |
commit | d85db176e7d5bcb832ce0764d7db8b94090c4256 (patch) | |
tree | a031172b2bf29e1d6bba7f06d3f76f96c47b1ee2 /cpukit/libcsupport | |
parent | score: Fix simple timecounter support (diff) | |
download | rtems-d85db176e7d5bcb832ce0764d7db8b94090c4256.tar.bz2 |
Filesystem: Export most generic path eval function
Add path length parameter to
rtems_filesystem_eval_path_start_with_root_and_current() so that users
may pass paths without a '\0' termination.
Update #2558.
Diffstat (limited to 'cpukit/libcsupport')
-rw-r--r-- | cpukit/libcsupport/include/rtems/libio_.h | 1 | ||||
-rw-r--r-- | cpukit/libcsupport/src/chroot.c | 1 | ||||
-rw-r--r-- | cpukit/libcsupport/src/sup_fs_eval_path.c | 26 |
3 files changed, 6 insertions, 22 deletions
diff --git a/cpukit/libcsupport/include/rtems/libio_.h b/cpukit/libcsupport/include/rtems/libio_.h index c26782e015..0c5e9ed30b 100644 --- a/cpukit/libcsupport/include/rtems/libio_.h +++ b/cpukit/libcsupport/include/rtems/libio_.h @@ -328,6 +328,7 @@ rtems_filesystem_location_info_t * rtems_filesystem_eval_path_start_with_root_and_current( rtems_filesystem_eval_path_context_t *ctx, const char *path, + size_t pathlen, int eval_flags, rtems_filesystem_global_location_t *const *global_root_ptr, rtems_filesystem_global_location_t *const *global_current_ptr diff --git a/cpukit/libcsupport/src/chroot.c b/cpukit/libcsupport/src/chroot.c index b7c2891f6a..9ec4ad470f 100644 --- a/cpukit/libcsupport/src/chroot.c +++ b/cpukit/libcsupport/src/chroot.c @@ -44,6 +44,7 @@ int chroot( const char *path ) rtems_filesystem_eval_path_start_with_root_and_current( &ctx, path, + strlen( path ), eval_flags, &rtems_global_user_env.root_directory, &rtems_global_user_env.current_directory diff --git a/cpukit/libcsupport/src/sup_fs_eval_path.c b/cpukit/libcsupport/src/sup_fs_eval_path.c index e120517918..459fa6bfc8 100644 --- a/cpukit/libcsupport/src/sup_fs_eval_path.c +++ b/cpukit/libcsupport/src/sup_fs_eval_path.c @@ -136,8 +136,8 @@ void rtems_filesystem_eval_path_continue( } } -static rtems_filesystem_location_info_t * -eval_path_start( +rtems_filesystem_location_info_t * +rtems_filesystem_eval_path_start_with_root_and_current( rtems_filesystem_eval_path_context_t *ctx, const char *path, size_t pathlen, @@ -167,25 +167,6 @@ eval_path_start( } rtems_filesystem_location_info_t * -rtems_filesystem_eval_path_start_with_root_and_current( - rtems_filesystem_eval_path_context_t *ctx, - const char *path, - int eval_flags, - rtems_filesystem_global_location_t *const *global_root_ptr, - rtems_filesystem_global_location_t *const *global_current_ptr -) -{ - return eval_path_start( - ctx, - path, - strlen(path), - eval_flags, - global_root_ptr, - global_current_ptr - ); -} - -rtems_filesystem_location_info_t * rtems_filesystem_eval_path_start( rtems_filesystem_eval_path_context_t *ctx, const char *path, @@ -195,6 +176,7 @@ rtems_filesystem_eval_path_start( return rtems_filesystem_eval_path_start_with_root_and_current( ctx, path, + strlen(path), eval_flags, &rtems_filesystem_root, &rtems_filesystem_current @@ -229,7 +211,7 @@ rtems_filesystem_eval_path_start_with_parent( } } - currentloc = eval_path_start( + currentloc = rtems_filesystem_eval_path_start_with_root_and_current( ctx, parentpath, parentpathlen, |