strsuftollx man page on NetBSD

Man page or keyword search:  
man Server   9087 pages
apropos Keyword Search (all sections)
Output format
NetBSD logo
[printable version]

STRSUFTOLL(3)		 BSD Library Functions Manual		 STRSUFTOLL(3)

NAME
     strsuftoll, strsuftollx — convert a string to a long long, with suffix
     parsing

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <stdlib.h>

     long long
     strsuftoll(const char *desc, const char *val, long long min,
	 long long max);

     long long
     strsuftollx(const char *desc, const char *val, long long min,
	 long long max, char *errbuf, size_t errbuflen);

DESCRIPTION
     The functions strsuftoll() and strsuftollx() convert val into a number of
     type long long, checking that the result is not smaller than min or
     larger than max.  Two or more decimal numbers may be separated by an “x”
     to indicate a product.

     Each decimal number may have one of the following optional suffixes:

	   b	Block; multiply by 512
	   k	Kibi; multiply by 1024 (1 KiB)
	   m	Mebi; multiply by 1048576 (1 MiB)
	   g	Gibi; multiply by 1073741824 (1 GiB)
	   t	Tebi; multiply by 1099511627776 (1 TiB)
	   w	Word; multiply by the number of bytes in an integer

     In the case of an error (range overflow or an invalid number),
     strsuftollx() places an error message into errbuf (which is errbuflen
     bytes long) and returns 0, and strsuftoll() displays that error and ter‐
     minates the process.  The parameter desc is used to construct errbuf.

     Neither desc nor val may be NULL.

RETURN VALUES
     The functions strsuftoll() and strsuftollx() return either the result of
     the conversion, unless the value overflows or is not a number; in the
     latter case, strsuftoll() displays an error message and terminates the
     process with exit code EXIT_FAILURE, and strsuftollx() returns with 0 and
     errbuf contains a non-empty error message.

ERRORS
     [ERANGE]		The given string was out of range; the value converted
			has been clamped.

SEE ALSO
     errx(3), strtoll(3), orders(7)

BUGS
     At least few limitations should be mentioned:

     ·	 Both functions ignore the current locale.

     ·	 Neither strsuftoll() nor strsuftollx() fail gracefully in case of
	 invalid, NULL, pointers.

     ·	 Arguably the return type should be intmax_t instead of long long.

     ·	 The strsuftollx() function is prone to buffer overflows if used
	 incorrectly.  Arguably only strsuftoll() should be exposed to a call‐
	 er.

BSD			       December 14, 2010			   BSD
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server NetBSD

List of man pages available for NetBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net