home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / tcpdumpb.zip / vfprintf.c < prev   
C/C++ Source or Header  |  1995-11-26  |  2KB  |  60 lines

  1. /*
  2.  * Copyright (c) 1995
  3.  *    The Regents of the University of California.  All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that: (1) source code distributions
  7.  * retain the above copyright notice and this paragraph in its entirety, (2)
  8.  * distributions including binary code include the above copyright notice and
  9.  * this paragraph in its entirety in the documentation or other materials
  10.  * provided with the distribution, and (3) all advertising materials mentioning
  11.  * features or use of this software display the following acknowledgement:
  12.  * ``This product includes software developed by the University of California,
  13.  * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
  14.  * the University nor the names of its contributors may be used to endorse
  15.  * or promote products derived from this software without specific prior
  16.  * written permission.
  17.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
  18.  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
  19.  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  20.  */
  21.  
  22. #ifndef lint
  23. static char rcsid[] =
  24.     "@(#) $Header: vfprintf.c,v 1.1 95/11/26 13:30:21 leres Exp $ (LBL)";
  25. #endif
  26.  
  27. #include <sys/types.h>
  28.  
  29. #include <stdio.h>
  30. #if __STDC__
  31. #include <stdarg.h>
  32. #else
  33. #include <varargs.h>
  34. #endif
  35. #include <stdlib.h>
  36. #include <unistd.h>
  37.  
  38. #include "interface.h"
  39.  
  40. /*
  41.  * Stock 4.3 doesn't have vfprintf.
  42.  * This routine is due to Chris Torek.
  43.  */
  44. vfprintf(f, fmt, args)
  45.     FILE *f;
  46.     char *fmt;
  47.     va_list args;
  48. {
  49.     int ret;
  50.  
  51.     if ((f->_flag & _IOWRT) == 0) {
  52.         if (f->_flag & _IORW)
  53.             f->_flag |= _IOWRT;
  54.         else
  55.             return EOF;
  56.     }
  57.     ret = _doprnt(fmt, args, f);
  58.     return ferror(f) ? EOF : ret;
  59. }
  60.