]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - include/printf_buffer.h
libio: Convert __vasprintf_internal to buffers
[thirdparty/glibc.git] / include / printf_buffer.h
index cc9f8e53462d0050417390bd90ed805e1d87a93f..c8e22e1e90ae1f664c9baeee2e4cb737d0297e90 100644 (file)
@@ -49,6 +49,7 @@ enum __printf_buffer_mode
     __printf_buffer_mode_snprintf,
     __printf_buffer_mode_sprintf_chk,
     __printf_buffer_mode_to_file,
+    __printf_buffer_mode_asprintf,
     __printf_buffer_mode_strfmon,
     __printf_buffer_mode_fp,         /* For __printf_fp_l_buffer.  */
     __printf_buffer_mode_fp_to_wide, /* For __wprintf_fp_l_buffer.  */
@@ -304,6 +305,9 @@ void __printf_buffer_flush_snprintf (struct __printf_buffer_snprintf *)
 struct __printf_buffer_to_file;
 void __printf_buffer_flush_to_file (struct __printf_buffer_to_file *)
   attribute_hidden;
+struct __printf_buffer_asprintf;
+void __printf_buffer_flush_asprintf (struct __printf_buffer_asprintf *)
+  attribute_hidden;
 struct __printf_buffer_fp;
 void __printf_buffer_flush_fp (struct __printf_buffer_fp *)
   attribute_hidden;
@@ -332,4 +336,9 @@ void __wprintf_buffer_flush_to_file (struct __wprintf_buffer_to_file *)
 /* Temporary buffer used during floating point digit translation.  */
 #define PRINTF_BUFFER_SIZE_DIGITS 64
 
+/* Size of the initial on-stack buffer for asprintf.  It should be
+   large enough to copy almost all asprintf usages with just a single
+   (final, correctly sized) heap allocation.  */
+#define PRINTF_BUFFER_SIZE_ASPRINTF 200
+
 #endif /* PRINTF_BUFFER_H */