Hubbub
Data Structures | Typedefs | Functions
entities.c File Reference
#include "utils/utils.h"
#include "tokeniser/entities.h"
#include "entities.inc"

Go to the source code of this file.

Data Structures

struct  hubbub_entity_node
 Node in our entity tree. More...
 

Typedefs

typedef struct hubbub_entity_node hubbub_entity_node
 Node in our entity tree. More...
 

Functions

static hubbub_error hubbub_entity_tree_search_step (uint8_t c, uint32_t *result, int32_t *context)
 Step-wise search for a key in our entity tree. More...
 
hubbub_error hubbub_entities_search_step (uint8_t c, uint32_t *result, int32_t *context)
 Step-wise search for an entity in the dictionary. More...
 

Typedef Documentation

Node in our entity tree.

Function Documentation

hubbub_error hubbub_entities_search_step ( uint8_t  c,
uint32_t *  result,
int32_t *  context 
)

Step-wise search for an entity in the dictionary.

Parameters
cCharacter to look for
resultPointer to location for result
contextPointer to location for search context
Returns
HUBBUB_OK if key found, HUBBUB_NEEDDATA if more steps are required HUBBUB_INVALID if nothing matches

The value pointed to by ::context should be -1 for the first call. Thereafter, pass in the same value as returned by the previous call. The context is opaque to the caller and should not be inspected.

The location pointed to by ::result will be set to U+FFFD unless a match is found.

Definition at line 103 of file entities.c.

References HUBBUB_BADPARM, and hubbub_entity_tree_search_step().

Referenced by hubbub_tokeniser_handle_named_entity().

static hubbub_error hubbub_entity_tree_search_step ( uint8_t  c,
uint32_t *  result,
int32_t *  context 
)
static

Step-wise search for a key in our entity tree.

Parameters
cCharacter to look for
resultPointer to location for result
contextPointer to location for search context
Returns
HUBBUB_OK if key found, HUBBUB_NEEDDATA if more steps are required HUBBUB_INVALID if nothing matches

The value pointed to by ::context must be NULL for the first call. Thereafter, pass in the same value as returned by the previous call. The context is opaque to the caller and should not be inspected.

The location pointed to by ::result will be set to NULL unless a match is found.

Definition at line 40 of file entities.c.

References hubbub_entity_node::eq, HUBBUB_BADPARM, HUBBUB_INVALID, HUBBUB_NEEDDATA, HUBBUB_OK, hubbub_entity_node::split, and hubbub_entity_node::value.

Referenced by hubbub_entities_search_step().