OSDN Git Service

Merge "Add __libc_format_buffer_va_list." am: fec0e015ce
authorJosh Gao <jmgao@google.com>
Thu, 16 Feb 2017 03:53:33 +0000 (03:53 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Thu, 16 Feb 2017 03:53:33 +0000 (03:53 +0000)
am: 33b9640132

Change-Id: I6848c4ef176cd04daa8ca1d1799aa69f1a00678d

libc/bionic/libc_logging.cpp
libc/private/libc_logging.h

index ebbc286..a5b68fb 100644 (file)
@@ -422,6 +422,13 @@ int __libc_format_buffer(char* buffer, size_t buffer_size, const char* format, .
   return os.total;
 }
 
+int __libc_format_buffer_va_list(char* buffer, size_t buffer_size, const char* format,
+                                 va_list args) {
+  BufferOutputStream os(buffer, buffer_size);
+  out_vformat(os, format, args);
+  return os.total;
+}
+
 int __libc_format_fd(int fd, const char* format, ...) {
   FdOutputStream os(fd);
   va_list args;
index 9fa5982..49a5a3c 100644 (file)
@@ -79,6 +79,15 @@ __noreturn void __fortify_fatal(const char* _Nonnull, ...) __printflike(1, 2);
 //
 
 int __libc_format_buffer(char* _Nonnull buf, size_t size, const char* _Nonnull fmt, ...) __printflike(3, 4);
+
+#if defined(__arm__) || defined(__aarch64__) || defined(__x86_64__)
+int __libc_format_buffer_va_list(char* _Nonnull buffer, size_t buffer_size,
+                                 const char* _Nonnull format, va_list args);
+#else // defined(__mips__) || defined(__i386__)
+int __libc_format_buffer_va_list(char* _Nonnull buffer, size_t buffer_size,
+                                 const char* _Nonnull format, va_list _Nonnull args);
+#endif
+
 int __libc_format_fd(int fd, const char* _Nonnull format , ...) __printflike(2, 3);
 int __libc_format_log(int pri, const char* _Nonnull tag, const char* _Nonnull fmt, ...) __printflike(3, 4);
 #if defined(__arm__) || defined(__aarch64__) || defined(__x86_64__)