]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Introduce virFileReadAllQuiet
authorJán Tomko <jtomko@redhat.com>
Mon, 30 Jun 2014 12:59:42 +0000 (14:59 +0200)
committerJán Tomko <jtomko@redhat.com>
Tue, 1 Jul 2014 14:32:29 +0000 (16:32 +0200)
Just like virFileReadAll, but returns -errno instead
of reporting errors. Useful for ignoring some errors.

src/libvirt_private.syms
src/util/virfile.c
src/util/virfile.h

index 1e1dd84d452d6c798d0384d0c594c736ba985fb4..ed56103a17870226ae1196ac31aa390aeb2eff8c 100644 (file)
@@ -1288,6 +1288,7 @@ virFileOpenAs;
 virFileOpenTty;
 virFilePrintf;
 virFileReadAll;
+virFileReadAllQuiet;
 virFileReadHeaderFD;
 virFileReadLimFD;
 virFileRelLinkPointsTo;
index 9e17504546facba5e291132877071863f3ba6363..463064ca9d9bd57d746b111fa9cbd36b6dde1a33 100644 (file)
@@ -1301,6 +1301,21 @@ virFileReadAll(const char *path, int maxlen, char **buf)
     return len;
 }
 
+int
+virFileReadAllQuiet(const char *path, int maxlen, char **buf)
+{
+    int fd = open(path, O_RDONLY);
+    if (fd < 0)
+        return -errno;
+
+    int len = virFileReadLimFD(fd, maxlen, buf);
+    VIR_FORCE_CLOSE(fd);
+    if (len < 0)
+        return -errno;
+
+    return len;
+}
+
 /* Truncate @path and write @str to it.  If @mode is 0, ensure that
    @path exists; otherwise, use @mode if @path must be created.
    Return 0 for success, nonzero for failure.
index 5fee407572bc2adaeeccd7fc2c44982b99d26845..36d3fe7e8bd59095023a9bd48ecaff7acc51aa16 100644 (file)
@@ -129,6 +129,8 @@ int virFileReadLimFD(int fd, int maxlen, char **buf)
     ATTRIBUTE_RETURN_CHECK ATTRIBUTE_NONNULL(3);
 int virFileReadAll(const char *path, int maxlen, char **buf)
     ATTRIBUTE_RETURN_CHECK ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(3);
+int virFileReadAllQuiet(const char *path, int maxlen, char **buf)
+    ATTRIBUTE_RETURN_CHECK ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(3);
 
 int virFileWriteStr(const char *path, const char *str, mode_t mode)
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK;