On Sun, Jun 29, 2008 at 04:16:25PM -0400, Alexandre Sunny Kovalenko wrote: > I honestly don't know whether it should or should not do it, and if it > should not, what errno should be set to. Program below gives following > output on RELENG_7 as of June 28th:
> sunny:RabbitsDen>./expand_number 5368709120k > Result is 1099511627776 > sunny:RabbitsDen>./expand_number 5120G > Result is 5497558138880 > sunny:RabbitsDen> > One of the more interesting manifestations in the userland is that > gjournal label -s 5368709120 -f /dev/da0s1a > quietly gives you 1G of the journal in the resulting file system. > [snip program calling expand_number(3)] This happens because src/lib/libutil/expand_number.c does not include the necessary header <inttypes.h> for calling strtoimax(3). The file is compiled without compiler warnings, so the bug shows up as wrong behaviour. Adding #include <inttypes.h> fixes it. The file is slightly changed in CURRENT but the same patch should apply. -- Jilles Tjoelker
--- src/lib/libutil/expand_number.c.orig 2007-09-05 16:27:13.000000000 +0200 +++ src/lib/libutil/expand_number.c 2008-07-06 13:11:02.766238000 +0200 @@ -33,6 +33,7 @@ #include <errno.h> #include <libutil.h> #include <stdint.h> +#include <inttypes.h> /* * Convert an expression of the following forms to a int64_t.
_______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"