![]() |
Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
|
Miscellaneous utility functions. More...
Go to the source code of this file.
Macros | |
| #define | xmalloc(size) |
| Safe malloc() that never returns NULL. | |
Enumerations | |
| enum | nicestr_unit { NICESTR_B , NICESTR_KIB , NICESTR_MIB , NICESTR_GIB , NICESTR_TIB } |
Functions | |
| lzma_attr_alloc_size (2) extern void *xrealloc(void *ptr | |
| Safe realloc() that never returns NULL. | |
| char * | xstrdup (const char *src) |
| Safe strdup() that never returns NULL. | |
| uint64_t | str_to_uint64 (const char *name, const char *value, uint64_t min, uint64_t max) |
| Fancy version of strtoull() | |
| uint64_t | round_up_to_mib (uint64_t n) |
| Round an integer up to the next full MiB and convert to MiB. | |
| const char * | uint64_to_str (uint64_t value, uint32_t slot) |
| Convert uint64_t to a string. | |
| 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. | |
| lzma_attribute ((__format__(__printf__, 3, 4))) extern void my_snprintf(char **pos | |
| Wrapper for snprintf() to help constructing a string in pieces. | |
| size_t const char bool | is_tty (int fd) |
| Test if file descriptor is a terminal. | |
| bool | is_tty_stdin (void) |
| Test if stdin is a terminal. | |
| bool | is_tty_stdout (void) |
| Test if stdout is a terminal. | |
Variables | |
| size_t | size |
| size_t * | left |
| size_t const char * | fmt |
Miscellaneous utility functions.
| #define xmalloc | ( | size | ) |
Safe malloc() that never returns NULL.
| enum nicestr_unit |
Test if file descriptor is a terminal.
For POSIX systems, this is a simple wrapper around isatty(). However on Windows, isatty() returns true for all character devices, not just terminals.
| fd | File descriptor to test |
|
extern |
Test if stdin is a terminal.
If stdin is a terminal, an error message is printed and exit status set to EXIT_ERROR.
|
extern |
Test if stdout is a terminal.
If stdout is a terminal, an error message is printed and exit status set to EXIT_ERROR.
| lzma_attr_alloc_size | ( | 2 | ) |
Safe realloc() that never returns NULL.
| lzma_attribute | ( | (__format__(__printf__, 3, 4)) | ) |
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.
|
extern |
Round an integer up to the next full MiB and convert to MiB.
This is used when printing memory usage and limit.
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 |
|
extern |
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(). |
|
extern |
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).
|
extern |
Safe strdup() that never returns NULL.
Function to duplicate a string
| string | the input string |
| size_t const char* fmt |
| size_t* left |
| size_t size |