[PATCH 2/6] Code cleanup: dwarf2read.c: Eliminate ::file_write

Pedro Alves
2017-06-12T16:14:12Z

There's no real need for all this indirection.

gdb/ChangeLog:
2017-06-12 Pedro Alves <palves@redhat.com>

* dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
(file_write (FILE *, const std::vector<Elem>&)): Delete.
(data_buf::file_write): Call ::fwrite directly.
---
gdb/ChangeLog | 6 ++++++
gdb/dwarf2read.c | 22 ++--------------------
2 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 316e03a..e3e980d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2017-06-12 Pedro Alves <palves@redhat.com>

+ * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
+ (file_write (FILE *, const std::vector<Elem>&)): Delete.
+ (data_buf::file_write): Call ::fwrite directly.
+
+2017-06-12 Pedro Alves <palves@redhat.com>
+
* dwarf2read.c (uniquify_cu_indices): Use std::unique and
std::vector::erase.

diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 0c9e275..55b3033 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -23195,25 +23195,6 @@ dwarf2_per_objfile_free (struct objfile *objfile, void *d)
\f
/* The "save gdb-index" command. */

-/* Write SIZE bytes from the buffer pointed to by DATA to FILE, with
- error checking. */
-
-static void
-file_write (FILE *file, const void *data, size_t size)
-{
- if (fwrite (data, 1, size, file) != size)
- error (_("couldn't data write to file"));
-}
-
-/* Write the contents of VEC to FILE, with error checking. */
-
-template<class Elem>
-static void
-file_write (FILE *file, const std::vector<Elem> &vec)
-{
- file_write (file, vec.data (), vec.size() * sizeof (vec[0]));
-}
-
/* In-memory buffer to prepare data to be written later to a file. */
class data_buf
{
@@ -23252,7 +23233,8 @@ public:
/* Write the buffer to FILE. */
void file_write (FILE *file) const
{
- ::file_write (file, m_vec);
+ if (::fwrite (m_vec.data (), 1, m_vec.size (), file) != m_vec.size ())
+ error (_("couldn't write data to file"));
}

private:
--
2.5.5