ekg2
|
#include "ekg2-config.h"
#include <errno.h>
#include <string.h>
#include "commands.h"
#include "dynstuff.h"
#include "dynstuff_inline.h"
#include "recode.h"
#include "stuff.h"
#include "windows.h"
#include "xmalloc.h"
#include "recode_tables.h"
Struktury danych | |
struct | ekg_recoder |
Definicje | |
#define | EKG_ICONV_BAD (void*) -1 |
#define | REINIT_RECODER(strukt, name) |
#define | DISPLAY_RECODER(strukt, name) |
Funkcje | |
void * | ekg_convert_string_init (const char *from, const char *to, void **rev) |
void | ekg_convert_string_destroy (void *ptr) |
char * | ekg_convert_string_p (const char *ps, void *ptr) |
char * | ekg_convert_string (const char *ps, const char *from, const char *to) |
string_t | ekg_convert_string_t_p (string_t s, void *ptr) |
string_t | ekg_convert_string_t (string_t s, const char *from, const char *to) |
static void | ekg_recode_init (struct ekg_recoder *rec) |
static void | ekg_recode_deinit (struct ekg_recoder *rec) |
void | changed_console_charset (const char *name) |
int | ekg_converters_display (int quiet) |
static int | ekg_utf8_helper (unsigned char *s, int n, unsigned short *ch) |
static char * | ekg_from_utf8 (char *b, const unsigned short *recode_table) |
static char * | ekg_to_utf8 (char *b, const unsigned short *recode_table) |
static char * | iso_to_ascii (struct ekg_recoder *rec, int alloc_buf, char *b) |
static char * | ekg_change_encoding (char *b, int alloc_buf, const unsigned char *recode_table) |
static struct ekg_recoder * | ekg_recode_get (enum ekg_recode_name enc) |
static char * | recode_ret (struct ekg_recoder *rec, int alloc_buf, char *buf) |
static char * | recode_ansi_helper_from (struct ekg_recoder *rec, int alloc_buf, char *buf) |
static char * | recode_ansi_helper_to (struct ekg_recoder *rec, int alloc_buf, char *buf) |
static char * | recode_utf8_helper_from (struct ekg_recoder *rec, int alloc_buf, char *buf) |
static char * | recode_utf8_helper_to (struct ekg_recoder *rec, int alloc_buf, char *buf) |
static void | ekg_recode_init_iconv (struct ekg_recoder *rec, const char *encoding) |
void | ekg_recode_inc_ref (enum ekg_recode_name enc) |
void | ekg_recode_dec_ref (enum ekg_recode_name enc) |
char * | ekg_recode_from_locale (enum ekg_recode_name enc, char *buf) |
char * | ekg_recode_to_locale (enum ekg_recode_name enc, char *buf) |
char * | ekg_recode_from_locale_dup (enum ekg_recode_name enc, const char *buf) |
char * | ekg_recode_to_locale_dup (enum ekg_recode_name enc, const char *buf) |
const char * | ekg_recode_from_locale_use (enum ekg_recode_name enc, const char *buf) |
const char * | ekg_recode_to_locale_use (enum ekg_recode_name enc, const char *buf) |
Zmienne | |
static struct ekg_recoder | cp_recoder |
static struct ekg_recoder | iso2_recoder |
static struct ekg_recoder | utf8_recoder |
static struct ekg_recoder | dummy_recoder |
#define DISPLAY_RECODER | ( | strukt, | |
name | |||
) |
do { \ if (strukt.count) \ printq( (strukt.recode_from_locale && strukt.recode_to_locale) ? \ "iconv_list" : "iconv_list_bad", \ config_console_charset, name, itoa(strukt.count), itoa(strukt.count),"");\ } while(0);
#define EKG_ICONV_BAD (void*) -1 |
#define REINIT_RECODER | ( | strukt, | |
name | |||
) |
do { \ int oldcount; \ if ((oldcount = strukt.count)) { \ /* int wasok = (strukt.recode_from_locale && strukt.recode_to_locale); */ \ ekg_recode_deinit(&strukt); \ ekg_recode_init(&strukt); \ strukt.count = oldcount; \ if (!strukt.recode_from_locale || !strukt.recode_to_locale) \ all_ok = 0; \ } \ } while (0);
void changed_console_charset | ( | const char * | name | ) |
static char* ekg_change_encoding | ( | char * | b, |
int | alloc_buf, | ||
const unsigned char * | recode_table | ||
) | [static] |
char* ekg_convert_string | ( | const char * | ps, |
const char * | from, | ||
const char * | to | ||
) |
Converts string to specified encoding, replacing invalid chars with question marks.
ps | - string to be converted (it won't be freed). |
from | - input encoding (if NULL, console_charset will be assumed). |
to | - output encoding (if NULL, console_charset will be assumed). |
void ekg_convert_string_destroy | ( | void * | ptr | ) |
Frees internal data associated with given pointer, and uninitalizes iconv, if it's not needed anymore.
ptr | - pointer returned by ekg_convert_string_init(). |
void* ekg_convert_string_init | ( | const char * | from, |
const char * | to, | ||
void ** | rev | ||
) |
Initialize string conversion thing for two given charsets.
from | - input encoding (will be duped; if NULL, console_charset will be assumed). |
to | - output encoding (will be duped; if NULL, console_charset will be assumed). |
rev | - pointer to assign reverse conversion into; if NULL, no reverse converter will be initialized. |
char* ekg_convert_string_p | ( | const char * | ps, |
void * | ptr | ||
) |
Converts string to specified encoding, using pointer returned by ekg_convert_string_init(). Invalid characters in input will be replaced with question marks.
ps | - string to be converted (won't be freed). |
ptr | - pointer returned by ekg_convert_string_init(). |
int ekg_converters_display | ( | int | quiet | ) |
static char* ekg_from_utf8 | ( | char * | b, |
const unsigned short * | recode_table | ||
) | [static] |
void ekg_recode_dec_ref | ( | enum ekg_recode_name | enc | ) |
static void ekg_recode_deinit | ( | struct ekg_recoder * | rec | ) | [static] |
char* ekg_recode_from_locale | ( | enum ekg_recode_name | enc, |
char * | buf | ||
) |
char* ekg_recode_from_locale_dup | ( | enum ekg_recode_name | enc, |
const char * | buf | ||
) |
const char* ekg_recode_from_locale_use | ( | enum ekg_recode_name | enc, |
const char * | buf | ||
) |
static struct ekg_recoder* ekg_recode_get | ( | enum ekg_recode_name | enc | ) | [static, read] |
void ekg_recode_inc_ref | ( | enum ekg_recode_name | enc | ) |
static void ekg_recode_init | ( | struct ekg_recoder * | rec | ) | [static] |
static void ekg_recode_init_iconv | ( | struct ekg_recoder * | rec, |
const char * | encoding | ||
) | [static] |
char* ekg_recode_to_locale | ( | enum ekg_recode_name | enc, |
char * | buf | ||
) |
char* ekg_recode_to_locale_dup | ( | enum ekg_recode_name | enc, |
const char * | buf | ||
) |
const char* ekg_recode_to_locale_use | ( | enum ekg_recode_name | enc, |
const char * | buf | ||
) |
static char* ekg_to_utf8 | ( | char * | b, |
const unsigned short * | recode_table | ||
) | [static] |
static int ekg_utf8_helper | ( | unsigned char * | s, |
int | n, | ||
unsigned short * | ch | ||
) | [static] |
static char* iso_to_ascii | ( | struct ekg_recoder * | rec, |
int | alloc_buf, | ||
char * | b | ||
) | [static] |
static char* recode_ansi_helper_from | ( | struct ekg_recoder * | rec, |
int | alloc_buf, | ||
char * | buf | ||
) | [static] |
static char* recode_ansi_helper_to | ( | struct ekg_recoder * | rec, |
int | alloc_buf, | ||
char * | buf | ||
) | [static] |
static char* recode_ret | ( | struct ekg_recoder * | rec, |
int | alloc_buf, | ||
char * | buf | ||
) | [static] |
static char* recode_utf8_helper_from | ( | struct ekg_recoder * | rec, |
int | alloc_buf, | ||
char * | buf | ||
) | [static] |
static char* recode_utf8_helper_to | ( | struct ekg_recoder * | rec, |
int | alloc_buf, | ||
char * | buf | ||
) | [static] |
struct ekg_recoder cp_recoder [static] |
struct ekg_recoder dummy_recoder [static] |
struct ekg_recoder iso2_recoder [static] |
struct ekg_recoder utf8_recoder [static] |