GNU PROLOG with UTF8 support
Macros | Functions | Variables
decode_hexa.c File Reference
#include <string.h>
#include <ctype.h>
Include dependency graph for decode_hexa.c:
This graph shows which files directly or indirectly include this file:

Macros

#define AUX_STR   "_$aux"
 
#define Letter(c)   (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z'))
 
#define Letter_Digit(c)   (Letter(c) || isdigit(c))
 
#define Hexa_Digit(c)   (isdigit(c) || ((c) >= 'A' && (c) <= 'F'))
 
#define Hex_Num(c)   (isdigit(c) ? (c) - '0' : (c) - 'A' + 10)
 

Functions

static int String_Needs_Encoding (char *str)
 
static char * Encode_String (char *str, char *buff)
 
static char * Copy_Not_Encoded_String (char *str, char *buff)
 
static char * Decode_String (char *str, char *buff)
 
static void Quote_If_Needed (char *str)
 
static char * Parse_Atom (char *src, char *dst)
 
char * Encode_Hexa (char *module, char *pred, int arity, char *str)
 
char * Encode_Hexa_Line (char *str, char *format, int strict)
 
char * Decode_Hexa (char *str, int strict, int quote, int decode_aux, char *module, char *pred, int *arity, int *aux_no)
 
char * Decode_Hexa_Line (char *str, char *format, int strict, int quote, int decode_aux)
 

Variables

static char pl_escape_symbol [] = "abfnrtv"
 
static char pl_escape_char [] = "\a\b\f\n\r\t\v"
 

Macro Definition Documentation

#define AUX_STR   "_$aux"
#define Hex_Num (   c)    (isdigit(c) ? (c) - '0' : (c) - 'A' + 10)
#define Hexa_Digit (   c)    (isdigit(c) || ((c) >= 'A' && (c) <= 'F'))
#define Letter (   c)    (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z'))
#define Letter_Digit (   c)    (Letter(c) || isdigit(c))

Function Documentation

static char * Copy_Not_Encoded_String ( char *  str,
char *  buff 
)
static

Here is the caller graph for this function:

char* Decode_Hexa ( char *  str,
int  strict,
int  quote,
int  decode_aux,
char *  module,
char *  pred,
int *  arity,
int *  aux_no 
)

Here is the call graph for this function:

Here is the caller graph for this function:

char* Decode_Hexa_Line ( char *  str,
char *  format,
int  strict,
int  quote,
int  decode_aux 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static char * Decode_String ( char *  str,
char *  buff 
)
static

Here is the caller graph for this function:

char* Encode_Hexa ( char *  module,
char *  pred,
int  arity,
char *  str 
)

Here is the call graph for this function:

Here is the caller graph for this function:

char* Encode_Hexa_Line ( char *  str,
char *  format,
int  strict 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static char * Encode_String ( char *  str,
char *  buff 
)
static

Here is the caller graph for this function:

static char * Parse_Atom ( char *  src,
char *  dst 
)
static

Here is the caller graph for this function:

static void Quote_If_Needed ( char *  str)
static

Here is the caller graph for this function:

static int String_Needs_Encoding ( char *  str)
static

Here is the caller graph for this function:

Variable Documentation

char pl_escape_char[] = "\a\b\f\n\r\t\v"
static
char pl_escape_symbol[] = "abfnrtv"
static