#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().  | |
Definition in file canonify.c.
 1.4.7