expand_number man page

expand_number — format a number from human readable form

Library

library “libbsd”

Synopsis

#include <bsd/libutil.h>

int
expand_number(const char *buf, uint64_t *num);

Description

The expand_number() function unformats the buf string and stores a unsigned 64-bit quantity at address pointed out by the num argument.

The expand_number() function follows the SI power of two convention.

The prefixes are:

Prefix Description Multiplier
k kilo 1024
M mega 1048576
G giga 1073741824
T tera 1099511627776
P peta 1125899906842624
E exa 1152921504606846976

Return Values

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

Errors

The expand_number() function will fail if:

[EINVAL]
The given string contains no digits.
[EINVAL]
An unrecognized prefix was given.
[ERANGE]
Result doesn't fit into 64 bits.

See Also

humanize_number(3)

History

The expand_number() function first appeared in FreeBSD 6.3.

Info

August 15, 2010