Subversion Repositories Kolibri OS

Rev

Rev 6074 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*
  2.  * Copyright (c) 1990 The Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms are permitted
  6.  * provided that the above copyright notice and this paragraph are
  7.  * duplicated in all such forms and that any documentation,
  8.  * advertising materials, and other materials related to such
  9.  * distribution and use acknowledge that the software was developed
  10.  * by the University of California, Berkeley.  The name of the
  11.  * University may not be used to endorse or promote products derived
  12.  * from this software without specific prior written permission.
  13.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  14.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  15.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  16.  */
  17. /* doc in sprintf.c */
  18.  
  19. #include <_ansi.h>
  20. #include <reent.h>
  21. #include <stdio.h>
  22. #include <stdarg.h>
  23. #include "local.h"
  24.  
  25. int
  26. _DEFUN(_printf_r, (ptr, fmt),
  27.        struct _reent *ptr _AND
  28.        const char *__restrict fmt _DOTS)
  29. {
  30.   int ret;
  31.   va_list ap;
  32.  
  33.   _REENT_SMALL_CHECK_INIT (ptr);
  34.   va_start (ap, fmt);
  35.   ret = _vfprintf_r (ptr, _stdout_r (ptr), fmt, ap);
  36.   va_end (ap);
  37.   return ret;
  38. }
  39.  
  40. #ifdef _NANO_FORMATTED_IO
  41. int
  42. _EXFUN(_iprintf_r, (struct _reent *, const char *, ...)
  43.        _ATTRIBUTE ((__alias__("_printf_r"))));
  44. #endif
  45.  
  46. #ifndef _REENT_ONLY
  47.  
  48. int
  49. _DEFUN(printf, (fmt),
  50.        const char *__restrict fmt _DOTS)
  51. {
  52.   int ret;
  53.   va_list ap;
  54.   struct _reent *ptr = _REENT;
  55.  
  56.   _REENT_SMALL_CHECK_INIT (ptr);
  57.   va_start (ap, fmt);
  58.   ret = _vfprintf_r (ptr, _stdout_r (ptr), fmt, ap);
  59.   va_end (ap);
  60.   return ret;
  61. }
  62.  
  63. #ifdef _NANO_FORMATTED_IO
  64. int
  65. _EXFUN(iprintf, (const char *, ...)
  66.        _ATTRIBUTE ((__alias__("printf"))));
  67. #endif
  68. #endif /* ! _REENT_ONLY */
  69.