#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