2010-06-07 Bharath Suri <bharath.s.jois@gmail.com>

* libcsupport/include/rtems/libio_.h: Removed macros
	rtems_filesystem_is_separator
	rtems_filesystem_get_start_loc
	rtems_filesystem_get_sym_start_loc
	and added them as files under libcsupport/src/

	* libcsupport/src/: Added new files
	libcsupport/src/sup_fs_get_start_loc.c
	libcsupport/src/sup_fs_get_sym_start_loc.c
	libcsupport/src/sup_fs_is_separator.c

	* libcsupport/Makefile.am: Changes to accommodate new
	files under libcsupport/src/
This commit is contained in:
Jennifer Averett
2010-06-07 15:07:39 +00:00
parent b79a45e9c0
commit 452fdc106b
3 changed files with 125 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
/**
* @file src/sup_fs_get_start_loc.c
*/
/*
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
/*
* rtems_filesystem_get_start_loc
*
* Function to determine if path is absolute or relative
*
* Parameters:
*
* path : IN - path to be checked
* index: OUT - 0, if relative, 1 if absolute
* loc : OUT - location info of root fs if absolute
* location info of current fs if relative
*
* Returns: void
*/
/* Includes */
#include "rtems/libio_.h"
void rtems_filesystem_get_start_loc(const char *path,
int *index,
rtems_filesystem_location_info_t *loc)
{
if (rtems_filesystem_is_separator(path[0])) {
*loc = rtems_filesystem_root;
*index = 1;
}
else {
*loc = rtems_filesystem_current;
*index = 0;
}
}

View File

@@ -0,0 +1,47 @@
/**
* @file src/sup_fs_get_sym_start_loc.c
*/
/*
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
/*
* rtems_filesystem_get_sym_start_loc
*
* Function to determine if path is absolute or relative
*
* Parameters:
*
* path : IN - path to be checked
* index: OUT - 0, if relative, 1 if absolute
* loc : OUT - location info of root fs if absolute
* location info of current fs if relative
*
* Returns: void
*/
/* Includes */
#include "rtems/libio_.h"
void rtems_filesystem_get_sym_start_loc(const char *path,
int *index,
rtems_filesystem_location_info_t *loc)
{
if (rtems_filesystem_is_separator(path[0])) {
*loc = rtems_filesystem_root;
*index = 1;
}
else {
*index = 0;
}
}

View File

@@ -0,0 +1,30 @@
/**
* @file src/sup_fs_is_separator.c
*/
/*
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
/*
* rtems_filesystem_is_separator
*
* Function to determine if a character is a path name separator.
* This was originally a macro in libio_.h
*
* NOTE: This function handles MS-DOS and UNIX style names.
*/
int rtems_filesystem_is_separator(char ch)
{
return ((ch == '/') || (ch == '\\') || (ch == '\0'));
}