lineedit: do not hang on error, but return error indicator.
[oweals/busybox.git] / libbb / vdprintf.c
index ffcb7a444ebbbf61fc35bb7941f8ed30ae665950..feeb403a08c9c01ab12e744172406b44ce8fb32d 100644 (file)
@@ -4,22 +4,18 @@
  *
  * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  *
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
 
-#include <stdio.h>
-#include <unistd.h>
 #include "libbb.h"
 
-
-
-#if (__GLIBC__ < 2)
-int vdprintf(int d, const char *format, va_list ap)
+#if defined(__GLIBC__) && __GLIBC__ < 2
+int FAST_FUNC vdprintf(int d, const char *format, va_list ap)
 {
        char buf[BUF_SIZE];
        int len;
 
-       len = vsprintf(buf, format, ap);
+       len = vsnprintf(buf, BUF_SIZE, format, ap);
        return write(d, buf, len);
 }
 #endif