summaryrefslogtreecommitdiff
path: root/payloads/libpayload/libc
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@secunet.com>2011-02-14 19:25:27 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2011-02-14 19:25:27 +0000
commitcd913bdf5c995fb3768aaaaeec364e7f5527e4e9 (patch)
treef929d9966f548530bbfb224ba50394dd4c28e80e /payloads/libpayload/libc
parenta4a022c9418096ae7f6e8074dcd917ff68294e8e (diff)
Stub out FILE*, stdout/stdin/stderr and implement fprintf on these
- Add FILE* - Add stdout, stdin, stderr stubs - Add fprintf that redirects to printf for stdout and stderr and fails otherwise Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com> Acked-by: Stefan Reinauer <stefan.reinauer@coreboot.org> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6358 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'payloads/libpayload/libc')
-rw-r--r--payloads/libpayload/libc/printf.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/payloads/libpayload/libc/printf.c b/payloads/libpayload/libc/printf.c
index 04d39319bc..a1ebb14092 100644
--- a/payloads/libpayload/libc/printf.c
+++ b/payloads/libpayload/libc/printf.c
@@ -723,6 +723,20 @@ int sprintf(char *str, const char *fmt, ...)
return ret;
}
+int fprintf(FILE *file, const char *fmt, ...)
+{
+ int ret;
+ if ((file == stdout) || (file == stderr)) {
+ va_list args;
+ va_start(args, fmt);
+ ret = vprintf(fmt, args);
+ va_end(args);
+
+ return ret;
+ }
+ return -1;
+}
+
struct vsnprintf_data {
size_t size; /* Total space for string */
size_t len; /* Count of currently used characters */