lensfun
0.2.5
|
These functions will help handling basic structures of the library. More...
Macros | |
#define | LF_EXPORT |
This macro expands to an appropiate symbol visibility declaration. | |
#define | cbool int |
C-compatible bool type; don't bother to define Yet Another Boolean Type. |
Typedefs | |
typedef char * | lfMLstr |
The storage of "multi-language" strings is simple yet flexible, handy and effective. |
Enumerations | |
enum | lfError { LF_NO_ERROR = 0, LF_WRONG_FORMAT } |
liblensdb error codes: negative codes are -errno, positive are here More... |
Functions | |
void | lf_free (void *data) |
The basics of memory allocation: never free objects allocated by the library yourselves, instead use this function. | |
const char * | lf_mlstr_get (const lfMLstr str) |
Get a string corresponding to current locale from a multi-language string. | |
lfMLstr | lf_mlstr_add (lfMLstr str, const char *lang, const char *trstr) |
Add a new translated string to a multi-language string. | |
lfMLstr | lf_mlstr_dup (const lfMLstr str) |
Create a complete copy of a multi-language string. |
These functions will help handling basic structures of the library.
typedef char* lfMLstr |
The storage of "multi-language" strings is simple yet flexible, handy and effective.
The first (default) string comes first, terminated by \0 as usual, after that a language code follows, then \0 again, then the translated value and so on. The list terminates as soon as a \0 is encountered instead of next string, e.g. last string in list is terminated with two null characters.
enum lfError |
void lf_free | ( | void * | data | ) |
The basics of memory allocation: never free objects allocated by the library yourselves, instead use this function.
It is a direct equivalent of standard C free(), however you should not use free() in the event that the library uses a separate heap.
data | A pointer to memory to be freed. |
Add a new translated string to a multi-language string.
This uses realloc() so returned value may differ from input.
str | The string to append to. Can be NULL. |
lang | The language for the new added string. If NULL, the default string is replaced (the first one in list, without a language designator). |
trstr | The translated string |
Create a complete copy of a multi-language string.
str | The string to create a copy of |
const char* lf_mlstr_get | ( | const lfMLstr | str | ) |
Get a string corresponding to current locale from a multi-language string.
Current locale is determined from LC_MESSAGES category at the time of the call, e.g. if you change LC_MESSAGES at runtime, next calls to lf_mlstr_get() will return the string for the new locale.