os/ossrv/genericopenlibs/cstdlib/LSTDIO/PRINTF.C
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description:
sl@0
    15
*
sl@0
    16
*/
sl@0
    17
sl@0
    18
sl@0
    19
sl@0
    20
#include <_ansi.h>
sl@0
    21
#include <stdio_r.h>
sl@0
    22
sl@0
    23
#include <stdarg.h>
sl@0
    24
sl@0
    25
/**
sl@0
    26
A reentrant version of printf().
sl@0
    27
*/
sl@0
    28
EXPORT_C int
sl@0
    29
_printf_r (struct _reent *ptr, const char *fmt, ...)
sl@0
    30
{
sl@0
    31
  int ret;
sl@0
    32
  va_list ap;
sl@0
    33
sl@0
    34
  va_start (ap, fmt);
sl@0
    35
  ret = _vfprintf_r (ptr, _stdout_r(ptr), fmt, ap);
sl@0
    36
  va_end (ap);
sl@0
    37
  return ret;
sl@0
    38
}
sl@0
    39
sl@0
    40
#ifndef _REENT_ONLY
sl@0
    41
sl@0
    42
/**
sl@0
    43
Print formatted data to stdout.
sl@0
    44
Prints to standard output a sequence of arguments formatted as the format argument specifies.
sl@0
    45
@return On success, the total number of characters printed is returned.
sl@0
    46
On error, a negative number is returned.
sl@0
    47
@param fmt String that contains the text to be printed.
sl@0
    48
Optionally it can contain format tags that are substituted 
sl@0
    49
by the values specified in subsequent argument(s) and formatted as requested.
sl@0
    50
*/
sl@0
    51
EXPORT_C int
sl@0
    52
printf (const char *fmt, ...)
sl@0
    53
{
sl@0
    54
  int ret;
sl@0
    55
  va_list ap;
sl@0
    56
sl@0
    57
  va_start (ap, fmt);
sl@0
    58
  ret = vfprintf (__stdout(), fmt, ap);
sl@0
    59
  va_end (ap);
sl@0
    60
  return ret;
sl@0
    61
}
sl@0
    62
sl@0
    63
#endif /* ! _REENT_ONLY */