Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

NetBSD 6.1.5 - man page for strsuftollx (netbsd section 3)

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

     strsuftoll, strsuftollx -- convert a string to a long long, with suffix parsing

     Standard C Library (libc, -lc)

     #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);

     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 terminates the process.  The parameter desc is used to construct errbuf.

     Neither desc nor val may be NULL.

     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.

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

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

     At least few limitations should be mentioned:

     o	 Both functions ignore the current locale.

     o	 Neither strsuftoll() nor strsuftollx() fail gracefully in case of invalid, NULL, point-

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

     o	 The strsuftollx() function is prone to buffer overflows if used incorrectly.  Arguably
	 only strsuftoll() should be exposed to a caller.

BSD					December 14, 2010				      BSD

All times are GMT -4. The time now is 03:05 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password