XZ Utils
5.2.4
|
Miscellaneous utility functions. More...
Macros | |
#define | xmalloc(size) xrealloc(NULL, size) |
Safe malloc() that never returns NULL. More... | |
Enumerations | |
enum | nicestr_unit { NICESTR_B, NICESTR_KIB, NICESTR_MIB, NICESTR_GIB, NICESTR_TIB } |
Functions | |
void * | xrealloc (void *ptr, size_t size) lzma_attribute((__malloc__)) lzma_attr_alloc_size(2) |
Safe realloc() that never returns NULL. More... | |
char * | xstrdup (const char *src) lzma_attribute((__malloc__)) |
Safe strdup() that never returns NULL. More... | |
uint64_t | str_to_uint64 (const char *name, const char *value, uint64_t min, uint64_t max) |
Fancy version of strtoull() More... | |
uint64_t | round_up_to_mib (uint64_t n) |
Round an integer up to the next full MiB and convert to MiB. More... | |
const char * | uint64_to_str (uint64_t value, uint32_t slot) |
Convert uint64_t to a string. More... | |
const char * | uint64_to_nicestr (uint64_t value, enum nicestr_unit unit_min, enum nicestr_unit unit_max, bool always_also_bytes, uint32_t slot) |
Convert uint64_t to a nice human readable string. More... | |
void | my_snprintf (char **pos, size_t *left, const char *fmt,...) lzma_attribute((__format__(__printf__ |
Wrapper for snprintf() to help constructing a string in pieces. More... | |
void bool | is_empty_filename (const char *filename) |
Check if filename is empty and print an error message. More... | |
bool | is_tty_stdin (void) |
Test if stdin is a terminal. More... | |
bool | is_tty_stdout (void) |
Test if stdout is a terminal. More... | |
Miscellaneous utility functions.
#define xmalloc | ( | size | ) | xrealloc(NULL, size) |
Safe malloc() that never returns NULL.
void* xrealloc | ( | void * | ptr, |
size_t | size | ||
) |
Safe realloc() that never returns NULL.
char* xstrdup | ( | const char * | src | ) |
Safe strdup() that never returns NULL.
Referenced by parse_options().
uint64_t str_to_uint64 | ( | const char * | name, |
const char * | value, | ||
uint64_t | min, | ||
uint64_t | max | ||
) |
Fancy version of strtoull()
name | Name of the option to show in case of an error |
value | String containing the number to be parsed; may contain suffixes "k", "M", "G", "Ki", "Mi", or "Gi" |
min | Minimum valid value |
max | Maximum valid value |
References message_fatal().
uint64_t round_up_to_mib | ( | uint64_t | n | ) |
Round an integer up to the next full MiB and convert to MiB.
This is used when printing memory usage and limit.
Referenced by message_mem_needed().
const char* uint64_to_str | ( | uint64_t | value, |
uint32_t | slot | ||
) |
Convert uint64_t to a string.
Convert the given value to a string with locale-specific thousand separators, if supported by the snprintf() implementation. The string is stored into an internal static buffer indicated by the slot argument. A pointer to the selected buffer is returned.
This function exists, because non-POSIX systems don't support thousand separator in format strings. Solving the problem in a simple way doesn't work, because it breaks gettext (specifically, the xgettext tool).
const char* uint64_to_nicestr | ( | uint64_t | value, |
enum nicestr_unit | unit_min, | ||
enum nicestr_unit | unit_max, | ||
bool | always_also_bytes, | ||
uint32_t | slot | ||
) |
Convert uint64_t to a nice human readable string.
This is like uint64_to_str() but uses B, KiB, MiB, GiB, or TiB suffix and optionally includes the exact size in parenthesis.
value | Value to be printed |
unit_min | Smallest unit to use. This and unit_max are used e.g. when showing the progress indicator to force the unit to MiB. |
unit_max | Biggest unit to use. assert(unit_min <= unit_max). |
always_also_bytes | Show also the exact byte value in parenthesis if the nicely formatted string uses bigger unit than bytes. |
slot | Which static buffer to use to hold the string. This is shared with uint64_to_str(). |
void my_snprintf | ( | char ** | pos, |
size_t * | left, | ||
const char * | fmt, | ||
... | |||
) |
Wrapper for snprintf() to help constructing a string in pieces.
A maximum of *left bytes is written starting from *pos. *pos and *left are updated accordingly.
Referenced by message_filters_to_str().
void bool is_empty_filename | ( | const char * | filename | ) |
Check if filename is empty and print an error message.
References filename, and message_error().
Referenced by io_open_src().
bool is_tty_stdin | ( | void | ) |
Test if stdin is a terminal.
If stdin is a terminal, an error message is printed and exit status set to EXIT_ERROR.
bool is_tty_stdout | ( | void | ) |
Test if stdout is a terminal.
If stdout is a terminal, an error message is printed and exit status set to EXIT_ERROR.