/* UI_FILE - a generic STDIO like output stream.
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This file is part of GDB.
/* A preallocated null_file stream. */
extern null_file null_stream;
-extern void gdb_flush (ui_file *);
-
-extern int ui_file_isatty (struct ui_file *);
-
-extern void ui_file_write (struct ui_file *file, const char *buf,
- long length_buf);
-
-extern void ui_file_write_async_safe (struct ui_file *file, const char *buf,
- long length_buf);
-
-extern long ui_file_read (struct ui_file *file, char *buf, long length_buf);
-
extern int gdb_console_fputs (const char *, FILE *);
/* A std::string-based ui_file. Can be used as a scratch buffer for
ui_file_up m_two;
};
+/* A ui_file implementation that filters out terminal escape
+ sequences. */
+
+class no_terminal_escape_file : public stdio_file
+{
+public:
+ no_terminal_escape_file ()
+ {
+ }
+
+ /* Like the stdio_file methods, but these filter out terminal escape
+ sequences. */
+ void write (const char *buf, long length_buf) override;
+ void puts (const char *linebuffer) override;
+};
+
#endif