xref: /dflybsd-src/lib/libc/stdio/__fpending.c (revision 0d5acd7467c4e95f792ef49fceb3ab8e917ce86b)
155b5af84SJoerg Sonnenberger /*
255b5af84SJoerg Sonnenberger  * Copyright (c) 2005 The DragonFly Project.  All rights reserved.
355b5af84SJoerg Sonnenberger  *
455b5af84SJoerg Sonnenberger  * This code is derived from software contributed to The DragonFly Project
555b5af84SJoerg Sonnenberger  * by Joerg Sonnenberger <joerg@bec.de>.
655b5af84SJoerg Sonnenberger  *
755b5af84SJoerg Sonnenberger  * Redistribution and use in source and binary forms, with or without
855b5af84SJoerg Sonnenberger  * modification, are permitted provided that the following conditions
955b5af84SJoerg Sonnenberger  * are met:
1055b5af84SJoerg Sonnenberger  *
1155b5af84SJoerg Sonnenberger  * 1. Redistributions of source code must retain the above copyright
1255b5af84SJoerg Sonnenberger  *    notice, this list of conditions and the following disclaimer.
1355b5af84SJoerg Sonnenberger  * 2. Redistributions in binary form must reproduce the above copyright
1455b5af84SJoerg Sonnenberger  *    notice, this list of conditions and the following disclaimer in
1555b5af84SJoerg Sonnenberger  *    the documentation and/or other materials provided with the
1655b5af84SJoerg Sonnenberger  *    distribution.
1755b5af84SJoerg Sonnenberger  * 3. Neither the name of The DragonFly Project nor the names of its
1855b5af84SJoerg Sonnenberger  *    contributors may be used to endorse or promote products derived
1955b5af84SJoerg Sonnenberger  *    from this software without specific, prior written permission.
2055b5af84SJoerg Sonnenberger  *
2155b5af84SJoerg Sonnenberger  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2255b5af84SJoerg Sonnenberger  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2355b5af84SJoerg Sonnenberger  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
2455b5af84SJoerg Sonnenberger  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
2555b5af84SJoerg Sonnenberger  * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
2655b5af84SJoerg Sonnenberger  * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
2755b5af84SJoerg Sonnenberger  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
2855b5af84SJoerg Sonnenberger  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
2955b5af84SJoerg Sonnenberger  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
3055b5af84SJoerg Sonnenberger  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
3155b5af84SJoerg Sonnenberger  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3255b5af84SJoerg Sonnenberger  * SUCH DAMAGE.
3355b5af84SJoerg Sonnenberger  */
3455b5af84SJoerg Sonnenberger 
3555b5af84SJoerg Sonnenberger #include <stdio.h>
3655b5af84SJoerg Sonnenberger 
3743f82d70SJoerg Sonnenberger #include "local.h"
3855b5af84SJoerg Sonnenberger 
3955b5af84SJoerg Sonnenberger __ssize_t
__fpending(const FILE * fp)40*55b9a823SMatthew Dillon __fpending(const FILE *fp)
4155b5af84SJoerg Sonnenberger {
4243f82d70SJoerg Sonnenberger 	if (HASUB(fp))
4343f82d70SJoerg Sonnenberger 		return(fp->_up - fp->_bf._base);
4443f82d70SJoerg Sonnenberger 	else
4555b5af84SJoerg Sonnenberger 		return(fp->pub._p - fp->_bf._base);
4655b5af84SJoerg Sonnenberger }
47