Man Linux: Main Page and Category List

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.