Allow either parameter to the getbsize(3) function to be a NULL, in

which case it is ignored.
This commit is contained in:
simonb 2003-05-30 00:12:09 +00:00
parent afff857edc
commit 20a5af5edd
2 changed files with 24 additions and 13 deletions

View File

@ -1,4 +1,4 @@
.\" $NetBSD: getbsize.3,v 1.6 2003/04/16 13:34:36 wiz Exp $
.\" $NetBSD: getbsize.3,v 1.7 2003/05/30 00:12:09 simonb Exp $
.\"
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
@ -33,7 +33,7 @@
.\"
.\" @(#)getbsize.3 8.1 (Berkeley) 6/4/93
.\"
.Dd June 4, 1993
.Dd May 10, 2003
.Dt GETBSIZE 3
.Os
.Sh NAME
@ -56,14 +56,25 @@ for details on its use and format.
.Pp
The
.Nm getbsize
function returns a pointer to a null-terminated string describing
function returns a pointer to a
.Dv NUL
terminated string describing
the block size, something like
.Dq 1K-blocks .
The memory referenced by
If the
.Fa headerlenp
parameter is not
.Dv NULL
the memory referenced by
.Fa headerlenp
is filled in with the length of the string (not including the
terminating null).
The memory referenced by
terminating
.Dv NUL ) .
If the
.Fa blocksizep
parameter is not
.Dv NULL
the memory referenced by
.Fa blocksizep
is filled in with block size, in bytes.
.Pp

View File

@ -1,4 +1,4 @@
/* $NetBSD: getbsize.c,v 1.13 2000/01/22 22:19:10 mycroft Exp $ */
/* $NetBSD: getbsize.c,v 1.14 2003/05/30 00:12:09 simonb Exp $ */
/*-
* Copyright (c) 1991, 1993
@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)getbsize.c 8.1 (Berkeley) 6/4/93";
#else
__RCSID("$NetBSD: getbsize.c,v 1.13 2000/01/22 22:19:10 mycroft Exp $");
__RCSID("$NetBSD: getbsize.c,v 1.14 2003/05/30 00:12:09 simonb Exp $");
#endif
#endif /* not lint */
@ -63,9 +63,6 @@ getbsize(headerlenp, blocksizep)
long n, max, mul, blocksize;
char *ep, *p, *form;
_DIAGASSERT(headerlenp != NULL);
_DIAGASSERT(blocksizep != NULL);
#define KB (1024L)
#define MB (1024L * 1024L)
#define GB (1024L * 1024L * 1024L)
@ -117,7 +114,10 @@ underflow: warnx("%s: minimum blocksize is 512", p);
} else
blocksize = n = 512;
*headerlenp = snprintf(header, sizeof(header), "%ld%s-blocks", n, form);
*blocksizep = blocksize;
if (headerlenp)
*headerlenp =
snprintf(header, sizeof(header), "%ld%s-blocks", n, form);
if (blocksizep)
*blocksizep = blocksize;
return (header);
}