STR_TO_BYTES(3)

NAME

str_to_bytes - convert a string to a int byte count str_to_lbytes convert a string to a long byte count str_to_llbytes - convert a string to a long long byte count

SYNOPSIS

int str_to_byte(char *str);
long str_to_lbyte(char *str);
long long str_to_llbyte(char *str);

DESCRIPTION

str_to_bytes(), str_to_lbytes(), and str_to_llbytes() converts str to an integer, long, or long long byte count. str is an floating point number optionally followed by a single character multiplier. Currently the following multipliers are supported:
Char Meaning Multiplier
---- --------- --------------------------------b Blocks BSIZE or UBSIZE
k Kilobytes 2^10 (1024)
K Kilowords 2^10 (1024) * sizeof(long)
m Megabytes 2^20 (1048576)
M Megawords 2^20 (1048576) * sizeof(long)
g Gigabytes 2^30 (1073741824)
G Gigawords 2^30 (1073741824) * sizeof(long)
str is interpreted as floating point number (base 10). When using str_to_llbytes(), the uppercase suffix will result in multiplying by the size of a (long long) or 8.

RETURNS

-1 if the integer portion of str is invalid, if an unsupported multiplier is supplied, or if str has extra leading or trailing characters. If str contains a negative number, the return value will be negative.

EXAMPLES

str_to_bytes("1000")
Returns 1000
str_to_bytes("5b")
Returns 5 * BSIZE.
str_to_bytes("1.5m")
Returns 1.5 * 1048576 or 1572864

LIMITATIONS

str_to_bytes() and str_to_lbytes() when compiled as a 32 bit IRIX binary can only return a max number of 2g (2147483647). However, str_to_lbytes() is not limited by the 2g limit when compiled as 64 bit binary, where str_to_bytes() still is limited.

Note that the size of long will vary depending how if compiled as a 32 or 64 bit binary. The size of a long long is always 8.

Also note that on a traditional CRAY system, a block is 4096 bytes, where on most IRIX systems a block is 1024 bytes.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout