[Libguestfs] [p2v PATCH 6/6] Remove whole-file.c

Pino Toscano ptoscano at redhat.com
Tue Dec 3 11:44:01 UTC 2019


The only function in it, read_whole_file(), is not used anymore.
(And anyway, the GLib function g_file_get_contents() can be used
instead.)
---
 Makefile.am  |  3 +-
 p2v.h        |  3 --
 whole-file.c | 94 ----------------------------------------------------
 3 files changed, 1 insertion(+), 99 deletions(-)
 delete mode 100644 whole-file.c

diff --git a/Makefile.am b/Makefile.am
index 02e3288..7649511 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -124,8 +124,7 @@ virt_p2v_SOURCES = \
 	physical-xml.c \
 	rtc.c \
 	ssh.c \
-	utils.c \
-	whole-file.c
+	utils.c
 
 generated_sources = \
 	config.c \
diff --git a/p2v.h b/p2v.h
index adace84..a14edc5 100644
--- a/p2v.h
+++ b/p2v.h
@@ -125,9 +125,6 @@ extern char *get_if_addr (const char *if_name);
 extern char *get_if_vendor (const char *if_name, int truncate);
 extern void wait_network_online (const struct config *);
 
-/* whole-file.c */
-extern int read_whole_file (const char *filename, char **data_r, size_t *size_r);
-
 /* virt-v2v version and features (read from remote). */
 extern char *v2v_version;
 
diff --git a/whole-file.c b/whole-file.c
deleted file mode 100644
index 156bb9b..0000000
--- a/whole-file.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/* libguestfs
- * Copyright (C) 2011-2019 Red Hat Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- */
-
-#include <config.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <libintl.h>
-
-#include "p2v.h"
-
-/**
- * Read the whole file into a memory buffer and return it.  The file
- * should be a regular, local, trusted file.
- */
-int
-read_whole_file (const char *filename, char **data_r, size_t *size_r)
-{
-  int fd;
-  char *data;
-  off_t size;
-  off_t n;
-  ssize_t r;
-  struct stat statbuf;
-
-  fd = open (filename, O_RDONLY|O_CLOEXEC);
-  if (fd == -1) {
-    fprintf (stderr, "open: %s: %m\n", filename);
-    return -1;
-  }
-
-  if (fstat (fd, &statbuf) == -1) {
-    fprintf (stderr, "stat: %s: %m\n", filename);
-    close (fd);
-    return -1;
-  }
-
-  size = statbuf.st_size;
-  data = malloc (size + 1);
-  if (data == NULL) {
-    perror ("malloc");
-    return -1;
-  }
-
-  n = 0;
-  while (n < size) {
-    r = read (fd, &data[n], size - n);
-    if (r == -1) {
-      fprintf (stderr, "read: %s: %m\n", filename);
-      free (data);
-      close (fd);
-      return -1;
-    }
-    if (r == 0) {
-      fprintf (stderr, "read: %s: unexpected end of file\n", filename);
-      free (data);
-      close (fd);
-      return -1;
-    }
-    n += r;
-  }
-
-  if (close (fd) == -1) {
-    fprintf (stderr, "close: %s: %m\n", filename);
-    free (data);
-    return -1;
-  }
-
-  /* For convenience of callers, \0-terminate the data. */
-  data[size] = '\0';
-
-  *data_r = data;
-  if (size_r != NULL)
-    *size_r = size;
-
-  return 0;
-}
-- 
2.21.0




More information about the Libguestfs mailing list