canonify.c File Reference

#include <stdlib.h>
#include <vfs/canonify.h>

Go to the source code of this file.

Data Structures

struct  change_state_t
struct  token_t

Enumerations

enum  state_t
 States used by canonify().
enum  tokval_t
 Token types used for tokenization of path.

Functions

char * canonify (char *path, size_t *lenp)
 Canonify a file system path.
static token_t next_token (token_t *cur)
 Given a token, return the next token.
static void remove_trailing_slash (token_t *t, token_t *tfsl, token_t *tlcomp)
static void save_component (token_t *t, token_t *tfsl, token_t *tlcomp)
static void set_first_slash (token_t *t, token_t *tfsl, token_t *tlcomp)
static void shift_dot (token_t *t, token_t *tfsl, token_t *tlcomp)
 Eat the extra '.
static void shift_dotdot (token_t *t, token_t *tfsl, token_t *tlcomp)
 Collapse the TK_COMP TK_SLASH TK_DOTDOT pattern.
static void shift_slash (token_t *t, token_t *tfsl, token_t *tlcomp)
 Eat the extra '/'.
static token_t slash_token (char *start)
 Fake up the TK_SLASH token.
static void terminate_slash (token_t *t, token_t *tfsl, token_t *tlcomp)

Variables

static change_state_t trans [4][6]
 Transition function for canonify().


Detailed Description

Definition in file canonify.c.


Generated on Thu Jun 2 07:45:53 2011 for HelenOS/USB by  doxygen 1.4.7