aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDima Zavin <dima@android.com>2013-06-14 17:44:35 -0700
committerDima Zavin <dima@android.com>2013-08-05 10:04:29 -0700
commit60014a98815948e5b6844d637204fa4b72cf2af0 (patch)
treeb6a8d9a54fb950811451e66af6ee873bcc524da5
parent6150422ff5c85fa0f90075889af809c023a21adb (diff)
downloadlk-dima/for-travis.tar.gz
[libc] add fprintf/vfprintfdima/for-travis
Change-Id: Ibc0fe656295cb97f8839d6fbae7682a57bc395e1 Signed-off-by: Dima Zavin <dima@android.com>
-rw-r--r--include/stdio.h3
-rw-r--r--lib/libc/stdio.c21
2 files changed, 21 insertions, 3 deletions
diff --git a/include/stdio.h b/include/stdio.h
index ce9c548b..c44a567b 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -67,6 +67,9 @@ int puts(const char *str);
int getc(FILE *fp);
int getchar(void);
+int fprintf(FILE *fp, const char *fmt, ...);
+int vfprintf(FILE *fp, const char *fmt, va_list ap);
+
__END_CDECLS
#endif
diff --git a/lib/libc/stdio.c b/lib/libc/stdio.c
index 698700b8..51b4ec7f 100644
--- a/lib/libc/stdio.c
+++ b/lib/libc/stdio.c
@@ -59,14 +59,29 @@ int getchar(void)
return getc(stdin);
}
-int _printf(const char *fmt, ...)
+int vfprintf(FILE *fp, const char *fmt, va_list ap)
+{
+ return fp->vfprintf(fp->ctx, fmt, ap);
+}
+
+int fprintf(FILE *fp, const char *fmt, ...)
{
+ va_list ap;
int err;
- FILE *fp = stdout;
+ va_start(ap, fmt);
+ err = vfprintf(fp, fmt, ap);
+ va_end(ap);
+ return err;
+}
+
+int _printf(const char *fmt, ...)
+{
va_list ap;
+ int err;
+
va_start(ap, fmt);
- err = fp->vfprintf(fp->ctx, fmt, ap);
+ err = vfprintf(stdout, fmt, ap);
va_end(ap);
return err;