Libparserutils
aliases.c File Reference
#include <ctype.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "charset/aliases.h"
#include "utils/utils.h"
#include "aliases.inc"

Go to the source code of this file.

Data Structures

struct  lengthed_string

Macros

#define IS_PUNCT_OR_SPACE(x)

Functions

static int parserutils_charset_alias_match (const void *a, const void *b)
parserutils_charset_aliases_canonparserutils__charset_alias_canonicalise (const char *alias, size_t len)
 Retrieve the canonical form of an alias name.
uint16_t parserutils_charset_mibenum_from_name (const char *alias, size_t len)
 Retrieve the MIB enum value assigned to an encoding name.
const char * parserutils_charset_mibenum_to_name (uint16_t mibenum)
 Retrieve the canonical name of an encoding from the MIB enum.
bool parserutils_charset_mibenum_is_unicode (uint16_t mibenum)
 Detect if a parserutils_charset is Unicode.

Macro Definition Documentation

◆ IS_PUNCT_OR_SPACE

#define IS_PUNCT_OR_SPACE ( x)
Value:
(!(((x) >= 'A' && (x) <= 'Z') || \
((x) >= 'a' && (x) <= 'z') || \
((x) >= '0' && (x) <= '9')))

Definition at line 29 of file aliases.c.

Referenced by parserutils_charset_alias_match().

Function Documentation

◆ parserutils__charset_alias_canonicalise()

parserutils_charset_aliases_canon * parserutils__charset_alias_canonicalise ( const char * alias,
size_t len )

Retrieve the canonical form of an alias name.

Parameters
aliasThe alias name
lenThe length of the alias name
Returns
Pointer to canonical form or NULL if not found

Definition at line 79 of file aliases.c.

References len, parserutils_charset_alias_match(), lengthed_string::s, and lengthed_string::slen.

Referenced by parserutils_charset_codec_create(), and parserutils_charset_mibenum_from_name().

◆ parserutils_charset_alias_match()

int parserutils_charset_alias_match ( const void * a,
const void * b )
static

◆ parserutils_charset_mibenum_from_name()

◆ parserutils_charset_mibenum_is_unicode()

bool parserutils_charset_mibenum_is_unicode ( uint16_t mibenum)

Detect if a parserutils_charset is Unicode.

Parameters
mibenumThe MIB enum to consider
Returns
true if a Unicode variant, false otherwise

Definition at line 147 of file aliases.c.

◆ parserutils_charset_mibenum_to_name()

const char * parserutils_charset_mibenum_to_name ( uint16_t mibenum)

Retrieve the canonical name of an encoding from the MIB enum.

Parameters
mibenumThe MIB enum value
Returns
Pointer to canonical name, or NULL if not found

Definition at line 127 of file aliases.c.

References parserutils_charset_aliases_canon::mib_enum, and parserutils_charset_aliases_canon::name.

Referenced by filter_set_encoding(), parserutils_inputstream_read_charset(), and parserutils_inputstream_refill_buffer().