libgadu 1.12.2

- Strona główna
- Dodatkowe strony
- Moduły
- Struktury Danych
- Pliki

- Lista plików
- Globalne

Funkcje
Dokumentacja pliku message.c

Obsługa wiadomości. Więcej...

## Funkcje
static void | gg_append (char *dst, size_t *pos, const void *src, size_t len)
size_t | gg_message_text_to_html (char *dst, const char *src, gg_encoding_t encoding, const unsigned char *format, size_t format_len)
static void | gg_after_append_formatted_char (uint16_t *pos, unsigned char attr_flag, unsigned char *old_attr_flag, const unsigned char *color, unsigned char *old_color, size_t imgs_size, unsigned char **format, size_t *format_len)
size_t | gg_message_html_to_text (char *dst, unsigned char *format, size_t *format_len, const char *html, gg_encoding_t encoding)
static size_t | gg_message_html_to_text_110_buff (char *dst, const char *html)
static size_t | gg_message_text_to_html_110_buff (char *dst, const char *text, ssize_t text_len)
char * | gg_message_html_to_text_110 (const char *html)
char * | gg_message_text_to_html_110 (const char *text, ssize_t text_len)

## Opis szczegółowy

Obsługa wiadomości.

Plik zawiera funkcje dotyczące obsługi "klasy" gg_message_t, które w przyszłości zostaną dołączone do API. Obecnie używane są funkcje konwersji między tekstem z atrybutami i HTML.

## Dokumentacja funkcji

static void gg_append | ( | char * | dst,
|  | size_t * | pos,
|  | const void * | src,
|  | size_t | len
| ) |  |
| static

Dodaje tekst na koniec bufora.

Parametry

  dst | Wskaźnik na bufor roboczy
  pos | Wskaźnik na aktualne położenie w buforze roboczym
  src | Dodawany tekst
  len | Długość dodawanego tekstu

size_t gg_message_text_to_html | ( | char * | dst,
|  | const char * | src,
|  | gg_encoding_t | encoding,
|  | const unsigned char * | format,
|  | size_t | format_len
| ) |  |

Zamienia tekst z formatowaniem Gadu-Gadu na HTML.

Parametry

  dst | Bufor wynikowy (może być `NULL`)
  src | Tekst źródłowy
  encoding | Kodowanie tekstu źródłowego oraz wynikowego
  format | Atrybuty tekstu źródłowego
  format_len | Długość bloku atrybutów tekstu źródłowego

Nota
  Wynikowy tekst nie jest idealnym kodem HTML, ponieważ ma jak dokładniej odzwierciedlać to, co wygenerowałby oryginalny klient.
  Dokleja `\0` na końcu bufora wynikowego.

Zwraca
  Długość tekstu wynikowego bez `\0` (nawet jeśli `dst` to `NULL`).

static void gg_after_append_formatted_char | ( | uint16_t * | pos,
|  | unsigned char | attr_flag,
|  | unsigned char * | old_attr_flag,
|  | const unsigned char * | color,
|  | unsigned char * | old_color,
|  | size_t | imgs_size,
|  | unsigned char ** | format,
|  | size_t * | format_len
| ) |  |
| static

Dokleja nowe atrybuty formatowania, jeśli konieczne, oraz inkrementuje pozycję znaku w tekście.

Parametry

  pos | Wskaźnik na zmienną przechowującą pozycję znaku w tekście
  attr_flag | Aktualna flaga atrybutu formatowania
  old_attr_flag | Wskaźnik na poprzednią flagę atrybutu formatowania
  color | Wskaźnik na tablicę z aktualnym kolorem RGB (jeśli `attr_flag` nie zawiera flagi `GG_FONT_COLOR`, ignorowane)
  old_color | Wskaźnik na tablicę z poprzednim kolorem RGB
  imgs_size | Rozmiar atrybutów formatowania obrazków znajdujących się obecnie w tablicy atrybutów formatowania, w bajtach
  format | Wskaźnik na wskaźnik do tablicy atrybutów formatowania
  format_len | Wskaźnik na zmienną zawierającą długość tablicy atrybutów formatowania, w bajtach (może być `NULL`)

size_t gg_message_html_to_text | ( | char * | dst,
|  | unsigned char * | format,
|  | size_t * | format_len,
|  | const char * | html,
|  | gg_encoding_t | encoding
| ) |  |

Zamienia tekst w formacie HTML na czysty tekst.

Parametry

  dst | Bufor wynikowy (może być `NULL`)
  format | Bufor wynikowy z atrybutami formatowania (może być `NULL`)
  format_len | Wskaźnik na zmienną, do której zostanie zapisana potrzebna wielkość bufora wynikowego z atrybutami formatowania, w bajtach (może być `NULL`)
  html | Tekst źródłowy
  encoding | Kodowanie tekstu źródłowego oraz wynikowego

Nota
  Dokleja `\0` na końcu bufora wynikowego.

Zwraca
  Długość bufora wynikowego bez `\0` (nawet jeśli `dst` to `NULL`).

static size_t gg_message_html_to_text_110_buff | ( | char * | dst,
|  | const char * | html
| ) |  |
| static

static size_t gg_message_text_to_html_110_buff | ( | char * | dst,
|  | const char * | text,
|  | ssize_t | text_len
| ) |  |
| static

char* gg_message_html_to_text_110 | ( | const char * | html | ) |

char* gg_message_text_to_html_110 | ( | const char * | text,
|  | ssize_t | text_len
| ) |  |